diff options
-rw-r--r-- | Makefile | 80 | ||||
-rw-r--r-- | README.md | 65 | ||||
-rw-r--r-- | altnavbar.patch | 42 | ||||
-rw-r--r-- | altnavbar_i18n.patch | 28 | ||||
-rw-r--r-- | honk.service | 23 | ||||
-rwxr-xr-x | honkinit | 3 | ||||
-rw-r--r-- | i18n.go | 4 | ||||
-rw-r--r-- | i18n.patch (renamed from patches/03_bloated_i18n_implementation.patch) | 73 | ||||
-rw-r--r-- | i18n_views/about.html (renamed from views/i18n/about.html) | 0 | ||||
-rw-r--r-- | i18n_views/account.html (renamed from views/i18n/account.html) | 0 | ||||
-rw-r--r-- | i18n_views/chatter.html (renamed from views/i18n/chatter.html) | 0 | ||||
-rw-r--r-- | i18n_views/combos.html (renamed from views/i18n/combos.html) | 0 | ||||
-rw-r--r-- | i18n_views/funzone.html (renamed from views/i18n/funzone.html) | 0 | ||||
-rw-r--r-- | i18n_views/header.html (renamed from views/i18n/header.html) | 19 | ||||
-rw-r--r-- | i18n_views/hfcs.html (renamed from views/i18n/hfcs.html) | 0 | ||||
-rw-r--r-- | i18n_views/honk.html (renamed from views/i18n/honk.html) | 0 | ||||
-rw-r--r-- | i18n_views/honkers.html (renamed from views/i18n/honkers.html) | 0 | ||||
-rw-r--r-- | i18n_views/honkform.html (renamed from views/i18n/honkform.html) | 0 | ||||
-rw-r--r-- | i18n_views/honkfrags.html (renamed from views/i18n/honkfrags.html) | 0 | ||||
-rw-r--r-- | i18n_views/honkpage.html (renamed from views/i18n/honkpage.html) | 0 | ||||
-rw-r--r-- | i18n_views/honkpage.js (renamed from views/i18n/honkpage.js) | 0 | ||||
-rw-r--r-- | i18n_views/local.css (renamed from views/local.css) | 0 | ||||
-rw-r--r-- | i18n_views/login.html (renamed from views/i18n/login.html) | 0 | ||||
-rw-r--r-- | i18n_views/msg.html (renamed from views/i18n/msg.html) | 0 | ||||
-rw-r--r-- | i18n_views/onts.html (renamed from views/i18n/onts.html) | 0 | ||||
-rw-r--r-- | i18n_views/pleroma.css (renamed from views/i18n/pleroma.css) | 0 | ||||
-rw-r--r-- | i18n_views/style.css (renamed from views/i18n/style.css) | 0 | ||||
-rw-r--r-- | i18n_views/xzone.html (renamed from views/i18n/xzone.html) | 0 | ||||
-rw-r--r-- | rsstitle.patch (renamed from patches/01_prettier_rssfeed.patch) | 2 | ||||
-rw-r--r-- | views/header.html | 90 | ||||
-rw-r--r-- | views/honk.html | 140 | ||||
-rw-r--r-- | views/i18n/local.css | 58 |
32 files changed, 241 insertions, 386 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..295bada --- /dev/null +++ b/Makefile @@ -0,0 +1,80 @@ +VER=0.9.6 +PREFIX=/usr/share +DLURL="https://humungus.tedunangst.com/r/honk/d/honk-$(VER).tgz" +MANDIR="$(DESTDIR)$(PREFIX)/man/man" +DOCS="honk-$(VER)/docs" +SYSTEMD=1 + +getsrc: + @if ! test -e honk-$(VER).tgz; then \ + $(MAKE) clean; \ + printf "Getting source for honk version $(VER)...\n"; \ + curl --progress-bar -fOJL $(DLURL); \ + fi + @tar xzf honk-$(VER).tgz; \ + +rsstitle: rsstitle.patch + $(MAKE) getsrc; + cd honk-$(VER)/ && patch -Nbp1 < ../rsstitle.patch; + +i18n: i18n.patch i18n.go + $(MAKE) getsrc; + cp i18n.go honk-$(VER)/; + cp i18n_views/* honk-$(VER)/views/; + cd honk-$(VER) && patch -Nbp1 < ../i18n.patch; + +altnavbar: altnavbar.patch + $(MAKE) getsrc; + cp i18n_views/local.css honk-$(VER)/views; + cd honk-$(VER) && patch -Nbp1 < ../altnavbar.patch; + +i18naltnavbar: altnavbar_i18n.patch + $(MAKE) getsrc; + $(MAKE) i18n; + cp i18n_views/local.css honk-$(VER)/views; + cd honk-$(VER) && patch -Nbp1 < ../altnavbar_i18n.patch; + +build: honk-$(VER)/ + cd honk-$(VER) && go build -mod=`ls -d vendor 2> /dev/null` -o honk; + +install: honk.service honkinit honk-$(VER)/ + $(MAKE) build; + install -Dm755 "honk-$(VER)/honk" -t "$(DESTDIR)/usr/bin/"; + install -Dm644 honk-$(VER)/views/* -t "$(DESTDIR)$(PREFIX)/honk/views/"; + install -Dm644 $(DOCS)/* -t "$(DESTDIR)$(PREFIX)/honk/docs/"; + gzip -k -f $(DOCS)/*.{1,3,5,7,8}; + install -Dm644 $(DOCS)/honk.1.gz -t $(MANDIR)1/; + install -Dm644 $(DOCS)/honk.3.gz -t $(MANDIR)3/; + install -Dm644 $(DOCS)/honk.5.gz -t $(MANDIR)5/; + install -Dm644 $(DOCS)/honk.8.gz -t $(MANDIR)8/; + install -Dm644 $(DOCS)/activitypub.7.gz $(MANDIR)7/honk_activitypub.7.gz; + install -Dm644 $(DOCS)/hfcs.1.gz $(MANDIR)1/honk_hfcs.1.gz; + install -Dm644 $(DOCS)/intro.1.gz $(MANDIR)1/honk_intro.1.gz; + install -Dm644 $(DOCS)/vim.3.gz $(MANDIR)3/honk_vim.3.gz; + install -Dm644 "honk-$(VER)"/LICENSE -t "$(DESTDIR)$(PREFIX)/licenses/honk/"; + @if test -n $(SYSTEMD); #if systemd + install -Dm644 honk.service -t "$(DESTDIR)/usr/lib/systemd/system/";\ + systemctl daemon-reload;\ + fi; + mandb -q > /dev/null; + if ! getent passwd honk >/dev/null; then \ + useradd -r -d $(DESTDIR)$(PREFIX)/honk honk; \ + fi + chown honk:honk -R "$(DESTDIR)$(PREFIX)/honk"; + @if ! test -e $(PREFIX)/honk/honk.db; then \ + sh honkinit;\ + fi + @printf "\nDone\n"; + +uninstall: $(DESTDIR)$(PREFIX)/honk; + @if test -n $(SYSTEMD); #if systemd + systemctl stop honk; + fi; + userdel honk; + rm -rf $(DESTDIR)$(PREFIX)/honk; + rm -f $(DESTDIR)/usr/lib/systemd/system/honk.service; + rm -f $(DESTDIR)/usr/bin/honk; + find $(DESTDIR)$(PREFIX)/man/ -name "honk*.gz" -exec rm -f {} \;; + +clean: + rm -rf honk honk-$(VER)*; @@ -8,31 +8,62 @@ ActivityPub server. These are mainly related to the UX, but patching of the Go files might happen if I feel the need. -Branches are created based on released version numbers. +# How to use -# i18n +If you are already using Honk, backup +your `blob.db`, `honk.db` and `local.css`. For example, if you +want prepare the source with the rss patch: +``` +make rsstitle +``` +This will download the source tarball if not already done, untar it +and patch the source with the rsstitle.patch. +The patches are useable outside the Makefile. You just have to make +sure to put them in the root of the cloned honk repo or untarred source. + +# Patches + +## i18n.patch : Translation of the honk user interface -The patch `03_bloated_i18n_implementation.patch` works on -`web.go` in the latest changeset -of honk, [dca9f49c629f](https://humungus.tedunangst.com/r/honk/v/dca9f49c629f). +- Adds an option to switch language, cookie-based (defaults to eng) +- Can also switch it in account settings + +The patches `i18n.patch` works in the latest honk release, `0.9.6`, and +latest hg changeset of honk, [f74b9ce19463](https://humungus.tedunangst.com/r/honk/v/d/f74b9ce19463). The translated strings are contained in the `i18n.go` and -`views/i18n/honkpage.js` files. Contact me if you need +`i18n_views/honkpage.js` files. Contact me if you need help to add translations or notify me for problems, suggestions or improvements. -Command line to do after adding translations to compile -and run the i18n'd honk should ressemble this: -``` -cp patches/03_bloated_i18n_implementation.patch ../honk/ -cp views/i18n/* ../honk/views/ -cd ../honk -patch -b < 03_bloated_i18n_implementation.patch -make all -./honk -``` +## rsstitle.patch : More descriptive RSS title and description + +Before the patch, the title and description of an user RSS Feed is like this: +- title : yourhandle honk +- description: yourhandle honk rss +After the patch: +- title: @yourhandle - honking from honk.club +- description: Honks from yourhandle@honk.club + +I find it clearer. + +## altnavbar.patch (and the i18n version): honking faster with less clicks + +You need to shitpost fast ? Look no further, this will add a floating +navigation bar at the page's top with link to: +- /newhonk +- /front +- /home +- /xzone +- /@me +- /u/yourhandle (so your can see your own honks) +- /account + +The `altnavbar_i18n.patch` is the same, but the labels are i18n'd. # Screenshots -Alternative navigation bar, less uses of the drop down menu: +Alternative navigation bar, less uses of the menu on the left: [alt nav bar menu for honk](https://git.les-miquelots.net/honk_custom/plain/scrots/honk_altnavbar.png) + +A video of the i18n module and the navbar patch [here](https://partage.les-miquelots.net/img/honk_i18n.mp4) diff --git a/altnavbar.patch b/altnavbar.patch new file mode 100644 index 0000000..10864bf --- /dev/null +++ b/altnavbar.patch @@ -0,0 +1,42 @@ +--- a/views/header.html ++++ b/views/header.html +@@ -1,6 +1,7 @@ + <!doctype html> + <html> + <head> ++ <link rel="shortcut icon" href="/favicon.ico"/> + <title>honk</title> + <link href="/style.css{{ .StyleParam }}" rel="stylesheet"> + {{ if .LocalStyleParam }} +@@ -12,6 +13,8 @@ + <link href="/icon.png" rel="icon"> + <meta name="theme-color" content="#305"> + <meta name="viewport" content="width=device-width"> ++<meta name="description" content="Federated ActivityPub instance running the Honk server. things happen"> ++<meta name="keywords" content="honk"> + </head> + <body> + <header> +@@ -57,6 +60,22 @@ + </form> + </ul> + </details> ++ ++<!-- CUSTOM HONK NAVIGATION BAR --> ++ <div id="altnavbar"> ++ <a href="/newhonk" tabindex="2">new honk</a> | ++ <a title="Public timeline" href="/front">ptl</a> | ++ <a href="/">home</a> | ++ <a title="To fetch posts from a remote user" href="/xzone">fetch</a> | ++ <a href="/atme">@me</a> | ++ <a href="/u/{{ .UserInfo.Username}}">profile</a> | ++ <a href="/account">settings</a> | ++ <form style="display:inline" action="/q" method="GET"> ++ <input type="text" tabindex="1" name="q" autocomplete="off" size="10" placeholder="search"> ++ </form> ++ </div> ++<!-- END --> ++ + <p id="topspacer"></p> + {{ else }} + <span><a id="homelink" href="/">home</a></span> diff --git a/altnavbar_i18n.patch b/altnavbar_i18n.patch new file mode 100644 index 0000000..4c2fc10 --- /dev/null +++ b/altnavbar_i18n.patch @@ -0,0 +1,28 @@ +diff --git a/i18n_views/header.html b/usr/share/honk/views/header.html +index 4f3373e..9e65c45 100644 +--- a/views/header.html ++++ b/views/header.html +@@ -60,6 +60,23 @@ + </form> + </ul> + </details> ++ ++<!-- CUSTOM HONK NAVIGATION BAR --> ++ <div id="altnavbar"> ++ <a href="/newhonk" tabindex="2">{{ .i18n.Newhonk }}</a> | ++ <a href="/front">{{ .i18n.Front }}</a> | ++ <a href="/">{{ .i18n.Home }}</a> | ++ <a href="/xzone">{{ .i18n.Xzone }}</a> | ++ <a href="/atme">{{ .i18n.Atme }}</a> | ++ <a href="/u/{{ .UserInfo.Username}}">{{ .i18n.Myhonks }}</a> | ++ <a href="/account">{{ .i18n.Account }}</a> | ++ <form style="display:inline" action="/q" method="GET"> ++ <input type="text" tabindex="1" name="q" autocomplete="off" ++ size="10" placeholder="{{ .i18n.Search }}"> ++ </form> ++ </div> ++<!-- END --> ++ + <p id="topspacer"></p> + {{ else }} + <span><a id="homelink" href="/">{{ .i18n.Home }}</a></span> diff --git a/honk.service b/honk.service new file mode 100644 index 0000000..0d9d3ba --- /dev/null +++ b/honk.service @@ -0,0 +1,23 @@ +[Unit] +Description="Honk ActivityPub server" +After=syslog.target network.target +Requires=network.target + +[Service] +Restart=always +RestartSec=30 +WorkingDirectory=/usr/share/honk +ExecStart=/usr/bin/honk +NoNewPrivileges=yes +ProtectKernelLogs=true +ProtectKernelModules=true +ProtectKernelTunables=true +ProtectControlGroups=true +ReadWritePaths=/usr/share/honk + + +User=honk +Group=honk + +[Install] +WantedBy=default.target diff --git a/honkinit b/honkinit new file mode 100755 index 0000000..6c5d568 --- /dev/null +++ b/honkinit @@ -0,0 +1,3 @@ +#!/bin/sh +HONKDIR="/usr/share/honk" +su -l honk -c "honk -datadir $HONKDIR init" @@ -222,7 +222,7 @@ func setLangStr (lang string) interface{} { "mentions", "premier (first)", "combos", - "discutaille", + "tchat", "balises", "événements", "il y a longtemps", @@ -233,7 +233,7 @@ func setLangStr (lang string) interface{} { "plus de choses", "profil", "à propos", - "tout le réseau connu", + "tlrc", "zone fun", "récup", "aide", diff --git a/patches/03_bloated_i18n_implementation.patch b/i18n.patch index d8d09a5..07916c3 100644 --- a/patches/03_bloated_i18n_implementation.patch +++ b/i18n.patch @@ -1,5 +1,5 @@ -diff --git a/web.go b/web.go -index 11adf5b..d15fbac 100644 +diff --git a/honk-0.9.6/web.go.orig b/honk-0.9.6/web.go +index 600f28b..cadca17 100644 --- a/web.go +++ b/web.go @@ -85,6 +85,9 @@ func getInfo(r *http.Request) map[string]interface{} { @@ -75,14 +75,14 @@ index 11adf5b..d15fbac 100644 - templinfo["ServerMessage"] = "saved honks" + switch templinfo["Lang"] { + case "fr": -+ templinfo["ServerMessage"] = "klaxons enregistrés" ++ templinfo["ServerMessage"] = "klaxons " + default: + templinfo["ServerMessage"] = "saved honks" + } templinfo["PageName"] = "saved" honks = getsavedhonks(userid, 0) default: -@@ -733,6 +761,8 @@ func showhonker(w http.ResponseWriter, r *http.Request) { +@@ -744,6 +772,8 @@ func showhonker(w http.ResponseWriter, r *http.Request) { templinfo["PageArg"] = name templinfo["ServerMessage"] = msg templinfo["HonkCSRF"] = login.GetCSRF("honkhonk", r) @@ -91,7 +91,7 @@ index 11adf5b..d15fbac 100644 honkpage(w, u, honks, templinfo) } -@@ -744,7 +774,12 @@ func showcombo(w http.ResponseWriter, r *http.Request) { +@@ -755,7 +785,12 @@ func showcombo(w http.ResponseWriter, r *http.Request) { templinfo := getInfo(r) templinfo["PageName"] = "combo" templinfo["PageArg"] = name @@ -105,7 +105,7 @@ index 11adf5b..d15fbac 100644 templinfo["HonkCSRF"] = login.GetCSRF("honkhonk", r) honkpage(w, u, honks, templinfo) } -@@ -1109,8 +1144,9 @@ func saveuser(w http.ResponseWriter, r *http.Request) { +@@ -1120,8 +1155,9 @@ func saveuser(w http.ResponseWriter, r *http.Request) { options.MapLink = "" } options.Reaction = r.FormValue("reaction") @@ -117,7 +117,7 @@ index 11adf5b..d15fbac 100644 ava := re_avatar.FindString(whatabout) if ava != "" { whatabout = re_avatar.ReplaceAllString(whatabout, "") -@@ -2179,11 +2215,22 @@ func webhydra(w http.ResponseWriter, r *http.Request) { +@@ -2192,11 +2228,22 @@ func webhydra(w http.ResponseWriter, r *http.Request) { case "atme": honks = gethonksforme(userid, wanted) honks = osmosis(honks, userid, false) @@ -142,67 +142,20 @@ index 11adf5b..d15fbac 100644 case "home": honks = gethonksforuser(userid, wanted) honks = osmosis(honks, userid, true) -@@ -2191,26 +2238,53 @@ func webhydra(w http.ResponseWriter, r *http.Request) { - case "first": - honks = gethonksforuserfirstclass(userid, wanted) - honks = osmosis(honks, userid, true) -- templinfo["ServerMessage"] = "first class only" -+ -+ switch templinfo["Lang"] { -+ case "fr": -+ templinfo["ServerMessage"] = "première classe seulement" -+ default: -+ templinfo["ServerMessage"] = "first class only" -+ } - case "saved": - honks = getsavedhonks(userid, wanted) - templinfo["PageName"] = "saved" -- templinfo["ServerMessage"] = "saved honks" -+ switch templinfo["Lang"] { +@@ -2229,6 +2276,12 @@ func webhydra(w http.ResponseWriter, r *http.Request) { + </form>`, login.GetCSRF("submithonker", r), xid) + msg := templates.Sprintf(`honks by honker: <a href="%s" ref="noreferrer">%s</a>%s`, xid, xid, miniform) + templinfo["ServerMessage"] = msg ++ switch templinfo["Lang"]{ + case "fr": + templinfo["ServerMessage"] = "klaxons enregistrés" + default: + templinfo["ServerMessage"] = "saved honks" + } - case "combo": - c := r.FormValue("c") - honks = gethonksbycombo(userid, c, wanted) - honks = osmosis(honks, userid, false) -- templinfo["ServerMessage"] = "honks by combo: " + c -+ switch templinfo["Lang"] { -+ case "fr": -+ templinfo["ServerMessage"] = "klaxons par groupe: " + c -+ default: -+ templinfo["ServerMessage"] = "honks by combo: " + c -+ } - case "convoy": - c := r.FormValue("c") - honks = gethonksbyconvoy(userid, c, wanted) - honks = osmosis(honks, userid, false) -- templinfo["ServerMessage"] = "honks in convoy: " + c -+ switch templinfo["Lang"] { -+ case "fr": -+ templinfo["ServerMessage"] = "klaxons dans le convoi: " + c -+ default: -+ templinfo["ServerMessage"] = "honks in convoy: " + c -+ } - case "honker": - xid := r.FormValue("xid") - honks = gethonksbyxonker(userid, xid, wanted) -- msg := templates.Sprintf(`honks by honker: <a href="%s" ref="noreferrer">%s</a>`, xid, xid) -- templinfo["ServerMessage"] = msg -+ switch templinfo["Lang"] { -+ case "fr": -+ msg := templates.Sprintf(`klaxons par le klaxonneur: <a href="%s" ref="noreferrer">%s</a>`, xid, xid) -+ templinfo["ServerMessage"] = msg -+ default: -+ msg := templates.Sprintf(`honks by honker: <a href="%s" ref="noreferrer">%s</a>`, xid, xid) -+ templinfo["ServerMessage"] = msg -+ } default: http.NotFound(w, r) } -@@ -2436,6 +2510,7 @@ func serve() { +@@ -2454,6 +2507,7 @@ func serve() { getters.HandleFunc("/server", serveractor) posters.HandleFunc("/server/inbox", serverinbox) posters.HandleFunc("/inbox", serverinbox) diff --git a/views/i18n/about.html b/i18n_views/about.html index 962e7c3..962e7c3 100644 --- a/views/i18n/about.html +++ b/i18n_views/about.html diff --git a/views/i18n/account.html b/i18n_views/account.html index 2d5a3f3..2d5a3f3 100644 --- a/views/i18n/account.html +++ b/i18n_views/account.html diff --git a/views/i18n/chatter.html b/i18n_views/chatter.html index 0173224..0173224 100644 --- a/views/i18n/chatter.html +++ b/i18n_views/chatter.html diff --git a/views/i18n/combos.html b/i18n_views/combos.html index 9cd227d..9cd227d 100644 --- a/views/i18n/combos.html +++ b/i18n_views/combos.html diff --git a/views/i18n/funzone.html b/i18n_views/funzone.html index d5e69e3..d5e69e3 100644 --- a/views/i18n/funzone.html +++ b/i18n_views/funzone.html diff --git a/views/i18n/header.html b/i18n_views/header.html index 77995e7..4f3373e 100644 --- a/views/i18n/header.html +++ b/i18n_views/header.html @@ -20,7 +20,7 @@ <header> {{ if .UserInfo }} <details id="topmenu"> - <summary>menu <span> {{ .UserInfo.Username }}</span></summary> +<summary>menu <span> {{ .UserInfo.Username }}</span></summary> <ul> <li><a id="homelink" href="/">{{ .i18n.Home }}</a> <li><a id="atmelink" href="/atme">{{ .i18n.Atme }}</a> @@ -60,23 +60,6 @@ </form> </ul> </details> - -<!-- CUSTOM HONK NAVIGATION BAR --> - <div id="altnavbar"> - <a href="/newhonk" tabindex="2">{{ .i18n.Newhonk }}</a> | - <a href="/front">{{ .i18n.Front }}</a> | - <a href="/">{{ .i18n.Home }}</a> | - <a href="/xzone">{{ .i18n.Xzone }}</a> | - <a href="/atme">{{ .i18n.Atme }}</a> | - <a href="/u/{{ .UserInfo.Username}}">{{ .i18n.Myhonks }}</a> | - <a href="/account">{{ .i18n.Account }}</a> | - <form style="display:inline" action="/q" method="GET"> - <input type="text" tabindex="1" name="q" autocomplete="off" - size="10" placeholder="{{ .i18n.Search }}"> - </form> - </div> -<!-- END --> - <p id="topspacer"></p> {{ else }} <span><a id="homelink" href="/">{{ .i18n.Home }}</a></span> diff --git a/views/i18n/hfcs.html b/i18n_views/hfcs.html index 75b6f4f..75b6f4f 100644 --- a/views/i18n/hfcs.html +++ b/i18n_views/hfcs.html diff --git a/views/i18n/honk.html b/i18n_views/honk.html index 52f63a7..52f63a7 100644 --- a/views/i18n/honk.html +++ b/i18n_views/honk.html diff --git a/views/i18n/honkers.html b/i18n_views/honkers.html index 5b9ecf4..5b9ecf4 100644 --- a/views/i18n/honkers.html +++ b/i18n_views/honkers.html diff --git a/views/i18n/honkform.html b/i18n_views/honkform.html index ce17fca..ce17fca 100644 --- a/views/i18n/honkform.html +++ b/i18n_views/honkform.html diff --git a/views/i18n/honkfrags.html b/i18n_views/honkfrags.html index 5ccc2da..5ccc2da 100644 --- a/views/i18n/honkfrags.html +++ b/i18n_views/honkfrags.html diff --git a/views/i18n/honkpage.html b/i18n_views/honkpage.html index 0ae42ef..0ae42ef 100644 --- a/views/i18n/honkpage.html +++ b/i18n_views/honkpage.html diff --git a/views/i18n/honkpage.js b/i18n_views/honkpage.js index 351cde4..351cde4 100644 --- a/views/i18n/honkpage.js +++ b/i18n_views/honkpage.js diff --git a/views/local.css b/i18n_views/local.css index 680d300..680d300 100644 --- a/views/local.css +++ b/i18n_views/local.css diff --git a/views/i18n/login.html b/i18n_views/login.html index e5ea195..e5ea195 100644 --- a/views/i18n/login.html +++ b/i18n_views/login.html diff --git a/views/i18n/msg.html b/i18n_views/msg.html index b729caa..b729caa 100644 --- a/views/i18n/msg.html +++ b/i18n_views/msg.html diff --git a/views/i18n/onts.html b/i18n_views/onts.html index 4a208c8..4a208c8 100644 --- a/views/i18n/onts.html +++ b/i18n_views/onts.html diff --git a/views/i18n/pleroma.css b/i18n_views/pleroma.css index b25439a..b25439a 100644 --- a/views/i18n/pleroma.css +++ b/i18n_views/pleroma.css diff --git a/views/i18n/style.css b/i18n_views/style.css index b1da23d..b1da23d 100644 --- a/views/i18n/style.css +++ b/i18n_views/style.css diff --git a/views/i18n/xzone.html b/i18n_views/xzone.html index e2ab0d7..e2ab0d7 100644 --- a/views/i18n/xzone.html +++ b/i18n_views/xzone.html diff --git a/patches/01_prettier_rssfeed.patch b/rsstitle.patch index 80e8d9e..c4993ec 100644 --- a/patches/01_prettier_rssfeed.patch +++ b/rsstitle.patch @@ -10,7 +10,7 @@ index 11adf5b..502e15f 100644 + Title: "@" + name + " - honking from " + serverName, Link: home, - Description: name + "honk rss", -+ Description: "RSS Feed of honks from " + name + "@" + serverName, ++ Description: "Honks from " + name + "@" + serverName, Image: &rss.Image{ URL: base + "icon.png", Title: name + "honk rss", diff --git a/views/header.html b/views/header.html deleted file mode 100644 index 4498ca1..0000000 --- a/views/header.html +++ /dev/null @@ -1,90 +0,0 @@ -<!doctype html> -<html> -<head> - <link rel="shortcut icon" href="/favicon.ico"/> -<title>honk</title> -<link href="/style.css{{ .StyleParam }}" rel="stylesheet"> -{{ if .LocalStyleParam }} -<link href="/local.css{{ .LocalStyleParam }}" rel="stylesheet"> -{{ end }} -<style> -{{ .UserStyle }} -</style> -<link href="/icon.png" rel="icon"> -<meta name="theme-color" content="#305"> -<meta name="viewport" content="width=device-width"> -<meta name="description" content="Federated ActivityPub instance running the Honk server. things happen"> -<meta name="keywords" content="honk"> -</head> -<body> -<header> -{{ if .UserInfo }} -<details id="topmenu"> - <summary>menu <span> {{ .UserInfo.Username }}</span></summary> -<ul> -<li><a id="homelink" href="/">home</a> -<li><a id="atmelink" href="/atme">@me</a> -<li><a id="firstlink" href="/first">first</a> -<li style="list-style-type:none; margin-left:-1em"> -<details> -<summary>combos</summary> -<ul> -{{ range .Combos }} -<li><a class="combolink" href="/c/{{ . }}">{{ . }}</a> -{{ end }} -</ul> -</details> -<li><a href="/chatter">chatter</a> -<li><a href="/o">tags</a> -<li><a href="/events">events</a> -<li><a id="longagolink" href="/longago">long ago</a> -<li><a id="savedlink" href="/saved">saved</a> -<li><a href="/honkers">honkers</a> -<li><a href="/hfcs">filters</a> -<li><a href="/account">account</a> -<li style="list-style-type:none; margin-left:-1em"> -<details> -<summary>more stuff</summary> -<ul> -<li><a href="/{{ .UserSep }}/{{ .UserInfo.Username }}">my honks</a> -<li><a href="/about">about</a> -<li><a href="/front">front</a> -<li><a href="/funzone">funzone</a> -<li><a href="/xzone">xzone</a> -</ul> -</details> -<li><a href="/help/honk.1.html">help</a> -<li> -<form action="/q" method="GET"> -<input type="text" name="q" autocomplete=off size=10 placeholder="search"> -</form> -</ul> -</details> - -<!-- CUSTOM HONK NAVIGATION BAR --> - <div id="altnavbar"> - <a href="/newhonk" tabindex="2">new honk</a> | - <a href="/front">front</a> | - <a href="/">home</a> | - <a href="/xzone">fetch</a> | - <a href="/atme">@me</a> | - <a href="/u/{{ .UserInfo.Username}}">profile</a> | - <a href="/account">settings</a> | - <form style="display:inline" action="/q" method="GET"> - <input type="text" tabindex="1" name="q" autocomplete="off" size="10" placeholder="search"> - </form> - </div> -<!-- END --> - -<p id="topspacer"></p> -{{ else }} -<span><a id="homelink" href="/">home</a></span> -<span><a href="/o">tags</a></span> -<span><a href="/events">events</a></span> -<span><a href="/about">about</a></span> -{{ if .ShowRSS }} -<span><a href="/rss">rss</a></span> -{{ end }} -<span><a href="/login">login</a></span> -{{ end }} -</header> diff --git a/views/honk.html b/views/honk.html deleted file mode 100644 index 2d1e465..0000000 --- a/views/honk.html +++ /dev/null @@ -1,140 +0,0 @@ -<article class="honk {{ .Honk.Style }}" data-convoy="{{ .Honk.Convoy }}"> -{{ $bonkcsrf := .BonkCSRF }} -{{ $IsPreview := .IsPreview }} -{{ $maplink := .MapLink }} -{{ $omitimages := .OmitImages }} -{{ with .Honk }} -<header> -{{ if $bonkcsrf }} -<a class="honkerlink" href="/h?xid={{ .Honker }}" data-xid="{{ .Honker }}"> -{{ else }} -<a href="{{ .Honker }}" rel=noreferrer> -{{ end }} -<img alt="" src="/a?a={{ .Honker}}"> -{{ if $bonkcsrf }} </a> {{ end }} -{{ if .Oonker }} -{{ if $bonkcsrf }} -<a class="honkerlink" href="/h?xid={{ .Oonker }}" data-xid="{{ .Oonker }}"> -{{ else }} -<a href="{{ .Oonker }}" rel=noreferrer> -{{ end }} -<img alt="" src="/a?a={{ .Oonker}}"> -{{ if $bonkcsrf }} </a> {{ end }} -{{ end }} -<p> -{{ if $bonkcsrf }} -<a class="honkerlink" href="/h?xid={{ .Honker }}" data-xid="{{ .Honker }}">{{ .Username }}</a> -{{ else }} -<a href="{{ .Honker }}" rel=noreferrer>{{ .Username }}</a> -{{ end }} -<span class="clip"><a href="{{ .URL }}" rel=noreferrer>{{ .What }}</a> {{ .Date.Local.Format "02 Jan 2006 15:04 -0700" }}</span> -{{ if .Oonker }} -<br> -<span style="margin-left: 1em;" class="clip"> -{{ if $bonkcsrf }} -original: <a class="honkerlink" href="/h?xid={{ .Oonker }}" data-xid="{{ .Oonker }}">{{ .Oondle }}</a> -{{ else }} -original: <a href="{{ .Oonker }}" rel=noreferrer>{{ .Oondle }}</a> -{{ end }} -</span> -{{ else }} -{{ if .RID }} -<br> -<span style="margin-left: 1em;" class="clip"> -in reply to: <a href="{{ .RID }}" rel=noreferrer>{{ .RID }}</a> -</span> -{{ end }} -{{ end }} -<br> -{{ if $bonkcsrf }} -<span style="margin-left: 1em;" class="clip">convoy: <a class="convoylink" href="/t?c={{ .Convoy }}">{{ .Convoy }}</a></span> -{{ else }} -<span style="margin-left: 1em;" class="clip">convoy: {{ .Convoy }}</span> -{{ end }} -</header> -<p> -<details class="noise" {{ .Open }} > -<summary>{{ .HTPrecis }}<p></summary> -<p>{{ .HTPrecis }} -<p>{{ .HTML }} -{{ with .Time }} -<p>Time: {{ .StartTime.Local.Format "03:04PM EDT Mon Jan 02"}} -{{ if .Duration }}<br>Duration: {{ .Duration }}{{ end }} -{{ end }} -{{ with .Place }} -<p>Location: {{ with .Url }}<a href="{{ . }}" rel=noreferrer>{{ end }}{{ .Name }}{{ if .Url }}</a>{{ end }}{{ if or .Latitude .Longitude }} <a href="{{ if eq $maplink "apple" }}https://maps.apple.com/?q={{ or .Name "here" }}&z=16&ll={{ .Latitude }},{{ .Longitude }}{{ else }}https://www.openstreetmap.org/?mlat={{ .Latitude }}&mlon={{ .Longitude}}#map=16/{{ .Latitude }}/{{ .Longitude }}{{ end }}" rel=noreferrer>{{ .Latitude }} {{ .Longitude }}</a>{{ end }} -{{ end }} -{{ range .Donks }} -{{ if .Local }} -{{ if eq .Media "text/plain" }} -<p><a href="/d/{{ .XID }}">Attachment: {{ .Name }}</a>{{ if not (eq .Desc .Name) }} {{ .Desc }}{{ end }} -{{ else if eq .Media "application/pdf" }} -<p><a href="/d/{{ .XID }}">Attachment: {{ .Name }}</a>{{ if not (eq .Desc .Name) }} {{ .Desc }}{{ end }} -{{ else }} -{{ if $omitimages }} -<p><a href="/d/{{ .XID }}">Image: {{ .Name }}</a>{{ if not (eq .Desc .Name) }} {{ .Desc }}{{ end }} -{{ else }} -<p><img src="/d/{{ .XID }}" title="{{ .Desc }}" alt="{{ .Desc }}"> -{{ end }} -{{ end }} -{{ else }} -{{ if .External }} -<p><a href="{{ .URL }}" rel=noreferrer>External Attachment: {{ .Name }}</a>{{ if not (eq .Desc .Name) }} {{ .Desc }}{{ end }} -{{ else }} -{{ if eq .Media "video/mp4" }} -<p><video controls src="{{ .URL }}">{{ .Name }}</video> -{{ else }} -<p><img src="{{ .URL }}" title="{{ .Desc }}" alt="{{ .Desc }}"> -{{ end }} -{{ end }} -{{ end }} -{{ end }} -</details> -{{ end }} -{{ if and $bonkcsrf (not $IsPreview) }} -<p> -<div> -<p> -{{ if .Honk.Public }} -{{ if .Honk.IsBonked }} -<button onclick="return unbonk(this, '{{ .Honk.XID }}');">unbonk</button> -{{ else }} -<button onclick="return bonk(this, '{{ .Honk.XID }}');">bonk</button> -{{ end }} -{{ else }} -<button disabled>nope</button> -{{ end }} -<button onclick="return showhonkform(this, '{{ .Honk.XID }}', '{{ .Honk.Handles }}');"><a href="/newhonk?rid={{ .Honk.XID }}">honk back</a></button> -<button onclick="return muteit(this, '{{ .Honk.Convoy }}');">mute</button> -<button onclick="return showelement('evenmore{{ .Honk.ID }}')">even more</button> -</div> -<div id="evenmore{{ .Honk.ID }}" style="display:none"> -<p> -<button onclick="return zonkit(this, '{{ .Honk.XID }}');">zonk</button> -{{ if .Honk.IsAcked }} -<button onclick="return flogit(this, 'deack', '{{ .Honk.XID }}');">deack</button> -{{ else }} -<button onclick="return flogit(this, 'ack', '{{ .Honk.XID }}');">ack</button> -{{ end }} -{{ if .Honk.IsSaved }} -<button onclick="return flogit(this, 'unsave', '{{ .Honk.XID }}');">unsave</button> -{{ else }} -<button onclick="return flogit(this, 'save', '{{ .Honk.XID }}');">save</button> -{{ end }} -{{ if .Honk.IsUntagged }} -<button disabled>untagged</button> -{{ else }} -<button onclick="return flogit(this, 'untag', '{{ .Honk.XID }}');">untag me</button> -{{ end }} -<button><a href="/edit?xid={{ .Honk.XID }}">edit</a></button> -{{ if not (eq .Badonk "none") }} -{{ if .Honk.IsReacted }} -<button disabled>badonked</button> -{{ else }} -<button onclick="return flogit(this, 'react', '{{ .Honk.XID }}');">{{ .Badonk }}</button> -{{ end }} -{{ end }} -</div> -<p> -{{ end }} -</article> diff --git a/views/i18n/local.css b/views/i18n/local.css deleted file mode 100644 index 0e6f7e1..0000000 --- a/views/i18n/local.css +++ /dev/null @@ -1,58 +0,0 @@ -html{ - --bg-page: beige; - --fg: #222; - --fg-subtle: teal; - --bg-dark:lightblue; -} - -#honksonpage td { - border:1px solid #222; - padding: 0.2em; -} - -#altnavbar a { - text-decoration:none -} -#altnavbar{ - margin-left:17%; - position:fixed; - background:var(--bg-page); - opacity:0.7; - top:0; - padding: 0.5em 0.5em 0.5em 0.5em; -} - -#altnavbar input { - height:0.3em; -} - - -#setlang{ - vertical-align:middle; - display:inline; - margin-left:2em; -} - -@media screen and (max-width: 740px) { - #altnavbar{ - font-size:0.9em; - margin-left:30%; - } - - #altnavbar input { - height:0.3em; - width:4em - } - - header > details { - padding: 0.5em 0.5em 0.5em 0.5em; - } - - #setlang { - display:block; - } -} - -@media print{ - #altnavbar,#setlang{display:none;} -} |