Browse Source

- rename, 2nd.

Marcus Rohrmoser 1 year ago
parent
commit
f82137e2c2

+ 4 - 4
AtomicShaarli.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
 // Files & Directories
 //
 // .htaccess
-// goshaarli.cgi
+// shaarligo.cgi
 // app/.htaccess
 // app/config.yaml
 // app/posts.gob.gz
@@ -47,7 +47,7 @@ import (
 	"github.com/gorilla/sessions"
 )
 
-const myselfNamespace = "http://purl.mro.name/GoShaarli"
+const myselfNamespace = "http://purl.mro.name/ShaarliGo"
 const toSession = 30 * time.Minute
 
 var fileFeedStorage string
@@ -151,7 +151,7 @@ func handleMux(w http.ResponseWriter, r *http.Request) {
 			return
 		} else {
 			// what if the cookie has changed? Ignore cookie errors, especially on new/changed keys.
-			app.ses, _ = sessions.NewCookieStore(buf).Get(r, "GoShaarli")
+			app.ses, _ = sessions.NewCookieStore(buf).Get(r, "ShaarliGo")
 			app.ses.Options = &sessions.Options{
 				Path:     urlBase.Path, // to match all requests
 				MaxAge:   int(toSession / time.Second),

+ 10 - 10
AtomicShaarli_test.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -54,9 +54,9 @@ func setupTest(t *testing.T) func(t *testing.T) {
 
 func TestQueryParse(t *testing.T) {
 	t.Parallel()
-	u := mustParseURL("http://example.com/a/goshaarli.cgi?do=login&foo=bar&do=auch")
+	u := mustParseURL("http://example.com/a/shaarligo.cgi?do=login&foo=bar&do=auch")
 
-	assert.Equal(t, "http://example.com/a/goshaarli.cgi?do=login&foo=bar&do=auch", u.String(), "ach")
+	assert.Equal(t, "http://example.com/a/shaarligo.cgi?do=login&foo=bar&do=auch", u.String(), "ach")
 	assert.Equal(t, "do=login&foo=bar&do=auch", u.RawQuery, "ach")
 	v := u.Query()
 
@@ -65,7 +65,7 @@ func TestQueryParse(t *testing.T) {
 }
 
 func doHttp(method, path_info string) (*http.Response, error) {
-	cgi := "goshaarli.cgi"
+	cgi := "shaarligo.cgi"
 	os.Setenv("SCRIPT_NAME", "/sub/"+cgi)
 	os.Setenv("SERVER_PROTOCOL", "HTTP/1.1")
 	os.Setenv("HTTP_HOST", "example.com")
@@ -233,7 +233,7 @@ func TestGetLoginWithoutRedir(t *testing.T) {
 	assert.Equal(t, http.StatusFound, r.StatusCode, "aha")
 	assert.Equal(t, "/sub/pub/posts/", r.Header["Location"][0], "aha")
 	cook := r.Header["Set-Cookie"][0]
-	assert.True(t, strings.HasPrefix(cook, "GoShaarli=MTU"), cook)
+	assert.True(t, strings.HasPrefix(cook, "ShaarliGo=MTU"), cook)
 }
 
 func TestGetLoginWithRedir(t *testing.T) {
@@ -261,7 +261,7 @@ func TestGetLoginWithRedir(t *testing.T) {
 	assert.Equal(t, http.StatusFound, r.StatusCode, "aha")
 	assert.Equal(t, returnurl, r.Header["Location"][0], "aha")
 	cook := r.Header["Set-Cookie"][0]
-	assert.True(t, strings.HasPrefix(cook, "GoShaarli=MTU"), cook)
+	assert.True(t, strings.HasPrefix(cook, "ShaarliGo=MTU"), cook)
 }
 
 func _TestGetPostNew(t *testing.T) {
@@ -278,20 +278,20 @@ func _TestGetPostNew(t *testing.T) {
 	r, err = doGet("")
 	assert.Nil(t, err, "aha")
 	assert.Equal(t, http.StatusFound, r.StatusCode, "aha")
-	assert.Equal(t, "/sub/goshaarli.cgi?do=login", r.Header["Location"], "aha")
+	assert.Equal(t, "/sub/shaarligo.cgi?do=login", r.Header["Location"], "aha")
 
-	r, err = doGet(fmt.Sprintf("?do=login&returnurl=/sub/goshaarli.cgi%s", url.QueryEscape(purl)))
+	r, err = doGet(fmt.Sprintf("?do=login&returnurl=/sub/shaarligo.cgi%s", url.QueryEscape(purl)))
 	assert.Nil(t, err, "aha")
 	assert.Equal(t, http.StatusOK, r.StatusCode, "aha")
 	cook := r.Header["Set-Cookie"][0]
-	assert.True(t, strings.HasPrefix(cook, "GoShaarli=MTU"), cook)
+	assert.True(t, strings.HasPrefix(cook, "ShaarliGo=MTU"), cook)
 	os.Setenv("COOKIE", cook)
 	root, err := html.Parse(r.Body)
 	assert.Nil(t, err, "aha")
 	assert.NotNil(t, root, "aha")
 	assert.Equal(t, 4, len(scrape.FindAll(root, func(n *html.Node) bool { return atom.Input == n.DataAtom })), "aha")
 
-	r, err = doPost(fmt.Sprintf("?do=login&returnurl=/sub/goshaarli.cgi%s", url.QueryEscape(purl)), []byte(`login=B&password=123456789012`))
+	r, err = doPost(fmt.Sprintf("?do=login&returnurl=/sub/shaarligo.cgi%s", url.QueryEscape(purl)), []byte(`login=B&password=123456789012`))
 	os.Setenv("COOKIE", r.Header["Set-Cookie"][0])
 
 	r, err = doGet(purl)

+ 38 - 38
README.md

@@ -1,5 +1,5 @@
 
-# GoShaarli
+# ShaarliGo
 
 shaarli on diet. Built on Atom.
 
@@ -45,30 +45,30 @@ shaarli on diet. Built on Atom.
 16. trackback/pingback
 
 ```
-GET  goshaarli.cgi
-GET  goshaarli.cgi/config
-POST goshaarli.cgi/config 							token? session?
+GET  shaarligo.cgi
+GET  shaarligo.cgi/config
+POST shaarligo.cgi/config 							token? session?
 GET  pub/posts/Kk-eZA
 GET  pub/tags/Design
-GET  goshaarli.cgi?do=login
-POST goshaarli.cgi?do=login
-GET  goshaarli.cgi/logout
-GET  goshaarli.cgi/login
-POST goshaarli.cgi/login
-GET  goshaarli.cgi/logout
-GET  goshaarli.cgi?post=url&title=Foo&source=GoShaarli
-POST goshaarli.cgi?do=login&login=uid&password=pwd&token=xyz
-POST goshaarli.cgi?post=url&title=Foo&source=GoShaarli
+GET  shaarligo.cgi?do=login
+POST shaarligo.cgi?do=login
+GET  shaarligo.cgi/logout
+GET  shaarligo.cgi/login
+POST shaarligo.cgi/login
+GET  shaarligo.cgi/logout
+GET  shaarligo.cgi?post=url&title=Foo&source=ShaarliGo
+POST shaarligo.cgi?do=login&login=uid&password=pwd&token=xyz
+POST shaarligo.cgi?post=url&title=Foo&source=ShaarliGo
 ```
 
 ### 0. Routes
 
 GET
 
-goshaarli.cgi
-goshaarli.cgi/config
-goshaarli.cgi/session
-goshaarli.cgi?q=%23Design+%23URI+Foo+Bar
+shaarligo.cgi
+shaarligo.cgi/config
+shaarligo.cgi/session
+shaarligo.cgi?q=%23Design+%23URI+Foo+Bar
 ./pub/posts
 ./~me/posts                    	Merged. Check Basic/Digest Auth!!
 ./@me/posts/DK0BTg							allow other ids e.g. guid (base64) or sha1 (base64)
@@ -84,27 +84,27 @@ announced via link/@rel/@uri https://martinfowler.com/articles/richardsonMaturit
 
 POST
 
-goshaarli.cgi/config
-goshaarli.cgi/session
-goshaarli.cgi/session								(HTML form fallback)
-goshaarli.cgi/~me/posts
-goshaarli.cgi/@me/posts
-goshaarli.cgi/posts
-goshaarli.cgi/enclosures
-goshaarli.cgi/posts/DK0BTg						(HTML form fallback)
+shaarligo.cgi/config
+shaarligo.cgi/session
+shaarligo.cgi/session								(HTML form fallback)
+shaarligo.cgi/~me/posts
+shaarligo.cgi/@me/posts
+shaarligo.cgi/posts
+shaarligo.cgi/enclosures
+shaarligo.cgi/posts/DK0BTg						(HTML form fallback)
 
 PUT
 
-goshaarli.cgi/config
-goshaarli.cgi/@me/tags/Design
-goshaarli.cgi/posts/DK0BTg
-goshaarli.cgi/enclosures/foo.svg
+shaarligo.cgi/config
+shaarligo.cgi/@me/tags/Design
+shaarligo.cgi/posts/DK0BTg
+shaarligo.cgi/enclosures/foo.svg
 
 DELETE
 
-goshaarli.cgi/~me/tags/Design
-goshaarli.cgi/posts/DK0BTg
-goshaarli.cgi/enclosures/foo.svg
+shaarligo.cgi/~me/tags/Design
+shaarligo.cgi/posts/DK0BTg
+shaarligo.cgi/enclosures/foo.svg
 
 ### Shaarli(OS|er) Compatibilty
 
@@ -113,15 +113,15 @@ and https://github.com/mro/Shaarli-API-test/blob/master/tests/test-post.sh
 
 Login/Logout
 
-GET    goshaarli.cgi?do=login
-POST   goshaarli.cgi?do=login
-GET  	 goshaarli.cgi?do=logout
+GET    shaarligo.cgi?do=login
+POST   shaarligo.cgi?do=login
+GET  	 shaarligo.cgi?do=logout
 
 Posting
 
-GET  goshaarli.cgi?post=url&title=Foo&source=GoShaarli -> ?do=login
-POST goshaarli.cgi?do=login&login=uid&password=pwd&token=xyz -> .
-POST goshaarli.cgi?post=url&title=Foo&source=GoShaarli -> ../../@me/posts?#Kk-eZA
+GET  shaarligo.cgi?post=url&title=Foo&source=ShaarliGo -> ?do=login
+POST shaarligo.cgi?do=login&login=uid&password=pwd&token=xyz -> .
+POST shaarligo.cgi?post=url&title=Foo&source=ShaarliGo -> ../../@me/posts?#Kk-eZA
 
 ### 0.1 Storage
 

+ 1 - 1
api0.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by

+ 1 - 1
api0_test.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by

+ 1 - 1
atom.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by

+ 1 - 1
atom_test.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by

+ 1 - 1
ban.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by

+ 1 - 1
ban_test.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by

+ 7 - 7
build.sh

@@ -23,7 +23,7 @@ go get -u golang.org/x/net/html/atom
 # rsync -aPz --delete --delete-excluded --exclude jquery* --exclude *.zip --exclude *.html vario:~/mro.name/vorschau.blog/assets/ static/assets
 go-bindata -ignore=\\.DS_Store -prefix static static/...
 
-PROG_NAME="GoShaarli"
+PROG_NAME="ShaarliGo"
 VERSION="0.0.1"
 
 rm "${PROG_NAME}"-*-"${VERSION}" 2>/dev/null
@@ -36,8 +36,8 @@ env GOOS=linux GOARCH=amd64 go build -ldflags "-s" -o "${PROG_NAME}-linux-amd64-
 # env GOOS=linux GOARCH=386 GO386=387 go build -o "${PROG_NAME}-linux-386-${VERSION}" # https://github.com/golang/go/issues/11631
 # env GOOS=darwin GOARCH=amd64 go build -o "${PROG_NAME}-darwin-amd64-${VERSION}"
 
-# https://lager.mro.name/as/goshaarli.cgi
-# scp "${PROG_NAME}-linux-amd64-${VERSION}" simply:/var/www/lighttpd/lager.mro.name/public_html/as/"goshaarli.cgi"
+# https://lager.mro.name/as/shaarligo.cgi
+# scp "${PROG_NAME}-linux-amd64-${VERSION}" simply:/var/www/lighttpd/lager.mro.name/public_html/as/"shaarligo.cgi"
 # scp "ServerInfo.cgi" simply:/var/www/lighttpd/lager.mro.name/public_html/as/"info.cgi"
 # ssh simply rm -vrf /var/www/lighttpd/lager.mro.name/public_html/as/assets
 # ssh simply rm -vrf /var/www/lighttpd/lager.mro.name/public_html/as/app
@@ -46,7 +46,7 @@ env GOOS=linux GOARCH=amd64 go build -ldflags "-s" -o "${PROG_NAME}-linux-amd64-
 # ssh vario rm -vrf mro.name/webroot/b/app
 # ssh vario rm -vrf mro.name/webroot/b/assets
 # ssh vario rm -vrf mro.name/webroot/b/pub
-scp "${PROG_NAME}-linux-amd64-${VERSION}" vario:~/mro.name/webroot/b/"goshaarli.cgi"
+scp "${PROG_NAME}-linux-amd64-${VERSION}" vario:~/mro.name/webroot/b/"shaarligo.cgi"
 scp "ServerInfo.cgi" vario:~/mro.name/webroot/b/"info.cgi"
 
 exit 0
@@ -56,9 +56,9 @@ exit 0
 # echo "===="
 #cat head.txt
 
-# curl --location 'http://vorschau.blog.mro.name/goshaarli.cgi/settings?foo' ; say 'aha, aha, soso'
+# curl --location 'http://vorschau.blog.mro.name/shaarligo.cgi/settings?foo' ; say 'aha, aha, soso'
 
-curl --dump-header head0.txt --location 'http://mro.name/b/goshaarli.cgi/config' \
+curl --dump-header head0.txt --location 'http://mro.name/b/shaarligo.cgi/config' \
   --data-urlencode 'title=🔗 My Bookmärks' \
   --data-urlencode 'setlogin=Bö' \
   --data-urlencode 'setpassword=123456789012' \
@@ -67,5 +67,5 @@ curl --dump-header head0.txt --location 'http://mro.name/b/goshaarli.cgi/config'
   --data-urlencode 'import_shaarli_setpassword=' \
 > body0.txt ; cat head0.txt body0.txt ; say 'aha, aha, soso'
 
-# curl --dump-header head1.txt --location 'http://mro.name/b/goshaarli.cgi?do=login' \
+# curl --dump-header head1.txt --location 'http://mro.name/b/shaarligo.cgi?do=login' \
 # > body1.txt ; cat head1.txt body1.txt ; say 'aha, aha, soso'

+ 1 - 1
cgi-fake.sh

@@ -1,6 +1,6 @@
 #!/bin/sh
 
-export cgi="goshaarli.cgi"
+export cgi="shaarligo.cgi"
 
 go fmt *.go && go build -ldflags "-s" -o "${cgi}" || exit 1
 

+ 1 - 1
config-core.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by

+ 1 - 1
config-core_test.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by

+ 2 - 2
config.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -120,7 +120,7 @@ func (app *App) handleSettings(w http.ResponseWriter, r *http.Request) {
 				XmlBase:   urlBase.String(),
 				Id:        urlBase.String(), // expand XmlBase as required by https://validator.w3.org/feed/check.cgi?url=
 				Title:     HumanText{Body: app.cfg.Title},
-				Generator: &Generator{Uri: myselfNamespace, Version: "0.0.1", Body: "GoShaarli"},
+				Generator: &Generator{Uri: myselfNamespace, Version: "0.0.1", Body: "ShaarliGo"},
 				Links: []Link{
 					Link{Rel: relEdit, Href: path.Join(cgiName, uriPub, uriPosts), Title: "PostURI, maybe better a app:collection https://tools.ietf.org/html/rfc5023#section-8.3.3"},
 				},

+ 3 - 3
config_test.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -39,8 +39,8 @@ func TestBcrypt(t *testing.T) {
 }
 
 func TestXmlBaseFromRequestURL(t *testing.T) {
-	assert.Equal(t, "http://example.com/", xmlBaseFromRequestURL(mustParseURL("http://example.com/goshaarli.cgi"), "/goshaarli.cgi").String(), "soso")
-	assert.Equal(t, "http://example.com/b/", xmlBaseFromRequestURL(mustParseURL("http://example.com/b/goshaarli.cgi"), "/b/goshaarli.cgi").String(), "soso")
+	assert.Equal(t, "http://example.com/", xmlBaseFromRequestURL(mustParseURL("http://example.com/shaarligo.cgi"), "/shaarligo.cgi").String(), "soso")
+	assert.Equal(t, "http://example.com/b/", xmlBaseFromRequestURL(mustParseURL("http://example.com/b/shaarligo.cgi"), "/b/shaarligo.cgi").String(), "soso")
 }
 
 func TestFeedFromFileName__(t *testing.T) {

+ 2 - 2
feedwriter.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -41,7 +41,7 @@ func mustParseURL(u string) *url.URL {
 	}
 }
 
-const cgiName = "goshaarli.cgi"
+const cgiName = "shaarligo.cgi"
 const fileName = "index.xml" // could be 'index.atom' but xml may have a proper mimetype out of the box
 const dirAssets = "assets"
 const dirApp = "app"

+ 8 - 8
feedwriter_test.go

@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+// Copyright (C) 2017-2017 Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -198,7 +198,7 @@ func TestWriteFeedsEmpty1(t *testing.T) {
     <updated>0001-01-01T00:00:00Z</updated>
     <published>0001-01-01T00:00:00Z</published>
     <link href="pub/posts" rel="self"></link>
-    <link href="goshaarli.cgi/pub/posts" rel="edit"></link>
+    <link href="shaarligo.cgi/pub/posts" rel="edit"></link>
     <link href=".." rel="up"></link>
   </entry>
 </feed>
@@ -256,7 +256,7 @@ func TestWriteFeedsUnpaged(t *testing.T) {
     <updated>1990-12-31T01:02:03+01:00</updated>
     <published>0001-01-01T00:00:00Z</published>
     <link href="pub/posts/e0" rel="self"></link>
-    <link href="goshaarli.cgi/pub/posts/e0" rel="edit"></link>
+    <link href="shaarligo.cgi/pub/posts/e0" rel="edit"></link>
     <link href=".." rel="up" title="Hello, Atom!"></link>
     <category term="aha" scheme="http://example.com/pub/tags/"></category>
   </entry>
@@ -286,7 +286,7 @@ func TestWriteFeedsUnpaged(t *testing.T) {
   <updated>1990-12-31T01:02:03+01:00</updated>
   <published>0001-01-01T00:00:00Z</published>
   <link href="pub/posts/e0" rel="self"></link>
-  <link href="goshaarli.cgi/pub/posts/e0" rel="edit"></link>
+  <link href="shaarligo.cgi/pub/posts/e0" rel="edit"></link>
   <link href=".." rel="up" title="Hello, Atom!"></link>
   <category term="aha" scheme="http://example.com/pub/tags/"></category>
 </entry>
@@ -363,7 +363,7 @@ func TestWriteFeedsPaged(t *testing.T) {
     <updated>1990-12-31T02:02:02+01:00</updated>
     <published>0001-01-01T00:00:00Z</published>
     <link href="pub/posts/e2" rel="self"></link>
-    <link href="goshaarli.cgi/pub/posts/e2" rel="edit"></link>
+    <link href="shaarligo.cgi/pub/posts/e2" rel="edit"></link>
     <link href=".." rel="up" title="Hello, Atom!"></link>
   </entry>
   <entry xmlns="http://www.w3.org/2005/Atom" xml:base="http://example.com/">
@@ -372,7 +372,7 @@ func TestWriteFeedsPaged(t *testing.T) {
     <updated>1990-12-31T01:01:01+01:00</updated>
     <published>0001-01-01T00:00:00Z</published>
     <link href="pub/posts/e1" rel="self"></link>
-    <link href="goshaarli.cgi/pub/posts/e1" rel="edit"></link>
+    <link href="shaarligo.cgi/pub/posts/e1" rel="edit"></link>
     <link href=".." rel="up" title="Hello, Atom!"></link>
   </entry>
 </feed>
@@ -410,7 +410,7 @@ func TestWriteFeedsPaged(t *testing.T) {
     <updated>1990-12-30T00:00:00+01:00</updated>
     <published>0001-01-01T00:00:00Z</published>
     <link href="pub/posts/e0" rel="self"></link>
-    <link href="goshaarli.cgi/pub/posts/e0" rel="edit"></link>
+    <link href="shaarligo.cgi/pub/posts/e0" rel="edit"></link>
     <link href=".." rel="up" title="Hello, Atom!"></link>
   </entry>
 </feed>
@@ -440,7 +440,7 @@ func TestWriteFeedsPaged(t *testing.T) {
   <updated>1990-12-30T00:00:00+01:00</updated>
   <published>0001-01-01T00:00:00Z</published>
   <link href="pub/posts/e0" rel="self"></link>
-  <link href="goshaarli.cgi/pub/posts/e0" rel="edit"></link>
+  <link href="shaarligo.cgi/pub/posts/e0" rel="edit"></link>
   <link href=".." rel="up" title="Hello, Atom!"></link>
 </entry>
 `,

+ 15 - 15
flow.dot

@@ -5,27 +5,27 @@ digraph flow {
 		start;
 
 	node [shape=circle];
-		"goshaarli.cgi" [ label = "goshaarli.cgi" ];
+		"shaarligo.cgi" [ label = "shaarligo.cgi" ];
 	
-	start -> "goshaarli.cgi";
-	"goshaarli.cgi" -> "goshaarli.cgi/settings" [ label = "unconfigured" ];
-	"goshaarli.cgi" -> "pub/posts/" [ label = "configured" ];
-	"goshaarli.cgi/settings" -> "goshaarli.cgi/settings" [ label = "POST" ];
-	"goshaarli.cgi/settings" -> "pub/posts/";
+	start -> "shaarligo.cgi";
+	"shaarligo.cgi" -> "shaarligo.cgi/settings" [ label = "unconfigured" ];
+	"shaarligo.cgi" -> "pub/posts/" [ label = "configured" ];
+	"shaarligo.cgi/settings" -> "shaarligo.cgi/settings" [ label = "POST" ];
+	"shaarligo.cgi/settings" -> "pub/posts/";
 	"pub/posts/" 
-		-> "goshaarli.cgi?post=url&title=Foo"
-		-> "goshaarli.cgi/login";
-	"goshaarli.cgi/login"
-		-> "goshaarli.cgi/login" [label=POST];
-	"goshaarli.cgi/login" 
-		-> "goshaarli.cgi?post=url&title=Foo"
+		-> "shaarligo.cgi?post=url&title=Foo"
+		-> "shaarligo.cgi/login";
+	"shaarligo.cgi/login"
+		-> "shaarligo.cgi/login" [label=POST];
+	"shaarligo.cgi/login" 
+		-> "shaarligo.cgi?post=url&title=Foo"
 		-> "pub/posts/?#Kk-eZA";
-	"goshaarli.cgi?post=url&title=Foo"
-		-> "goshaarli.cgi?post=url&title=Foo" [label=POST];
+	"shaarligo.cgi?post=url&title=Foo"
+		-> "shaarligo.cgi?post=url&title=Foo" [label=POST];
 	"pub/posts/" 
 		-> "pub/posts/Kk-eZA"
 	"pub/posts/" 
-		-> "goshaarli.cgi/settings"
+		-> "shaarligo.cgi/settings"
 	"pub/posts/" 
 		-> "pub/tags/" 
 }

+ 1 - 1
static/app/lighttpd.conf

@@ -1,7 +1,7 @@
 # https://redmine.lighttpd.net/projects/1/wiki/TutorialConfiguration
 
 #### AtomiShaarli begin
-var.atomic_shaarli_path = "^/<url path to but excluding goshaarli.cgi>/"				# change as needed, keep leading and trailing slash
+var.atomic_shaarli_path = "^/<url path to but excluding shaarligo.cgi>/"				# change as needed, keep leading and trailing slash
 $HTTP["url"] =~ atomic_shaarli_path {
   cgi.assign = ( ".cgi" => "" )
   # mime-type

+ 4 - 4
static/assets/default/de/config.xslt

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  GoShaarli, microblogging detox
-  Copyright (C) 2017-2017  Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+  ShaarliGo, microblogging detox
+  Copyright (C) 2017-2017  Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -130,13 +130,13 @@ div.if_hasdiv_pwd { display:none; }
             <div class="form-group">
               <label for="title" class="control-label col-sm-1">Titel</label>
               <div class="col-sm-11">
-                <input tabindex="100" name="title" autofocus="autofocus" type="text" placeholder="My GoShaarli 🐳" required="required" pattern="\S(.*\S)?" value="{h:input[@name='title']/@value}" class="form-control"/>
+                <input tabindex="100" name="title" autofocus="autofocus" type="text" placeholder="My ShaarliGo 🐳" required="required" pattern="\S(.*\S)?" value="{h:input[@name='title']/@value}" class="form-control"/>
               </div>
             </div>
             <div class="form-group">
               <label for="setlogin" class="control-label col-sm-1">User</label>
               <div class="col-sm-11">
-                <input tabindex="200" name="setlogin" type="text" placeholder="Benutzername dieses neuen GoShaarli" required="required" pattern="\S(.*\S)?" _oninvalid="setCustomValidity('Das ist nicht Dein Ernst oder?')" value="{h:input[@name='setlogin']/@value}" class="form-control"/>
+                <input tabindex="200" name="setlogin" type="text" placeholder="Benutzername dieses neuen ShaarliGo" required="required" pattern="\S(.*\S)?" _oninvalid="setCustomValidity('Das ist nicht Dein Ernst oder?')" value="{h:input[@name='setlogin']/@value}" class="form-control"/>
               </div>
             </div>
 

+ 3 - 3
static/assets/default/de/do-login.xslt

@@ -90,10 +90,10 @@ min-width: 40px;
           <td class="text-right"><a href="{$xml_base_pub}/tags/">⛅ <span class="hidden-xs"># Tags</span></a></td>
           <td class="text-right"><a href="{$xml_base_pub}/days/">📅 <span class="hidden-xs">Tage</span></a></td>
           <td class="text-right"><a href="{$xml_base_pub}/imgs/">🎨 <span class="hidden-xs">Bilder</span></a></td>
-          <td class="text-right hidden-logged-out"><a href="{$xml_base_pub}/../goshaarli.cgi?do=tools">🔨 <span class="hidden-xs">Tools</span></a></td>
+          <td class="text-right hidden-logged-out"><a href="{$xml_base_pub}/../shaarligo.cgi?do=tools">🔨 <span class="hidden-xs">Tools</span></a></td>
           <td class="text-right">
-            <a id="link_login" href="{$xml_base_pub}/../goshaarli.cgi?do=login" class="visible-logged-out"><span class="hidden-xs">Anmelden</span> 🌺 </a>
-            <a id="link_logout" href="{$xml_base_pub}/../goshaarli.cgi?do=logout" class="hidden-logged-out"><span class="hidden-xs">Abmelden</span> 🍃 </a>
+            <a id="link_login" href="{$xml_base_pub}/../shaarligo.cgi?do=login" class="visible-logged-out"><span class="hidden-xs">Anmelden</span> 🌺 </a>
+            <a id="link_logout" href="{$xml_base_pub}/../shaarligo.cgi?do=logout" class="hidden-logged-out"><span class="hidden-xs">Abmelden</span> 🍃 </a>
           </td>
         </tr>
       </tbody>

+ 3 - 3
static/assets/default/de/do-post.xslt

@@ -90,10 +90,10 @@ min-width: 40px;
           <td class="text-right"><a href="{$xml_base_pub}/tags/">⛅ <span class="hidden-xs"># Tags</span></a></td>
           <td class="text-right"><a href="{$xml_base_pub}/days/">📅 <span class="hidden-xs">Tage</span></a></td>
           <td class="text-right"><a href="{$xml_base_pub}/imgs/">🎨 <span class="hidden-xs">Bilder</span></a></td>
-          <td class="text-right hidden-logged-out"><a href="{$xml_base_pub}/../goshaarli.cgi?do=tools">🔨 <span class="hidden-xs">Tools</span></a></td>
+          <td class="text-right hidden-logged-out"><a href="{$xml_base_pub}/../shaarligo.cgi?do=tools">🔨 <span class="hidden-xs">Tools</span></a></td>
           <td class="text-right">
-            <a id="link_login" href="{$xml_base_pub}/../goshaarli.cgi?do=login" class="visible-logged-out"><span class="hidden-xs">Anmelden</span> 🌺 </a>
-            <a id="link_logout" href="{$xml_base_pub}/../goshaarli.cgi?do=logout" class="hidden-logged-out"><span class="hidden-xs">Abmelden</span> 🍃 </a>
+            <a id="link_login" href="{$xml_base_pub}/../shaarligo.cgi?do=login" class="visible-logged-out"><span class="hidden-xs">Anmelden</span> 🌺 </a>
+            <a id="link_logout" href="{$xml_base_pub}/../shaarligo.cgi?do=logout" class="hidden-logged-out"><span class="hidden-xs">Abmelden</span> 🍃 </a>
           </td>
         </tr>
       </tbody>

+ 8 - 8
static/assets/default/de/posts.xslt

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  GoShaarli, microblogging detox
-  Copyright (C) 2017-2017  Marcus Rohrmoser, http://purl.mro.name/GoShaarli
+  ShaarliGo, microblogging detox
+  Copyright (C) 2017-2017  Marcus Rohrmoser, http://purl.mro.name/ShaarliGo
 
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -119,7 +119,7 @@ xhr.onreadystatechange = function(data0) {
     // store the result locally and use as initial value for later calls.
   }
 }
-xhr.open('GET', xml_base_pub + '/../goshaarli.cgi/session');
+xhr.open('GET', xml_base_pub + '/../shaarligo.cgi/session');
 xhr.send(null);
 // ]]>
         </script>
@@ -210,7 +210,7 @@ img.img-thumbnail {
       <xsl:call-template name="links_commands"/>
 
       <xsl:comment> https://stackoverflow.com/a/18520870 http://jsfiddle.net/66Ynx/ </xsl:comment>
-      <form id="form_search" name="form_search" class="form-horizontal form-search" action="{$xml_base_pub}/../goshaarli.cgi/search">
+      <form id="form_search" name="form_search" class="form-horizontal form-search" action="{$xml_base_pub}/../shaarligo.cgi/search">
         <div class="input-group">
           <input tabindex="100" name="q" autofocus="autofocus" type="text" placeholder="Suche Wort oder #Tag..." class="form-control search-query"/>
           <span class="input-group-btn">
@@ -219,7 +219,7 @@ img.img-thumbnail {
         </div>
       </form>
 
-      <form id="form_post" name="form_post" class="form-horizontal hidden-logged-out" action="{$xml_base_pub}/../goshaarli.cgi">
+      <form id="form_post" name="form_post" class="form-horizontal hidden-logged-out" action="{$xml_base_pub}/../shaarligo.cgi">
         <div class="input-group">
           <input tabindex="300" name="post" type="text" placeholder="Was gibt's Neues? (Notiz oder URL)" class="form-control"/>
           <span class="input-group-btn">
@@ -269,10 +269,10 @@ img.img-thumbnail {
           <td tabindex="20" class="text-right"><a href="{$xml_base_pub}/tags/">⛅ <span class="hidden-xs"># Tags</span></a></td>
           <td tabindex="30" class="text-right"><a href="{$xml_base_pub}/days/">📅 <span class="hidden-xs">Tage</span></a></td>
           <td tabindex="40" class="text-right"><a href="{$xml_base_pub}/imgs/">🎨 <span class="hidden-xs">Bilder</span></a></td>
-          <td class="text-right hidden-logged-out"><a href="{$xml_base_pub}/../goshaarli.cgi/tools">🔨 <span class="hidden-xs">Tools</span></a></td>
+          <td class="text-right hidden-logged-out"><a href="{$xml_base_pub}/../shaarligo.cgi/tools">🔨 <span class="hidden-xs">Tools</span></a></td>
           <td class="text-right">
-            <a tabindex="50" id="link_login" href="{$xml_base_pub}/../goshaarli.cgi?do=login" class="visible-logged-out"><span class="hidden-xs">Anmelden</span> 🌺 </a>
-            <a tabindex="51" id="link_logout" href="{$xml_base_pub}/../goshaarli.cgi?do=logout" class="hidden-logged-out"><span class="hidden-xs">Abmelden</span> 🐾 </a>
+            <a tabindex="50" id="link_login" href="{$xml_base_pub}/../shaarligo.cgi?do=login" class="visible-logged-out"><span class="hidden-xs">Anmelden</span> 🌺 </a>
+            <a tabindex="51" id="link_logout" href="{$xml_base_pub}/../shaarligo.cgi?do=logout" class="hidden-logged-out"><span class="hidden-xs">Abmelden</span> 🐾 </a>
           </td>
         </tr>
       </tbody>