Fryboyter

Kommentarfunktion Isso unter Hugo deaktivieren 2.0

2019 hatte ich bereits einen Artikel veröffentlicht, wie man das Kommentarsystem Isso für bestimmte Artikel unter Hugo deaktiviert. Hierbei wurde aber nur der Code entfernt der für das Anlegen neuer Kommentare und das Anzeigen vorhandener Kommentare zuständig ist. Im Hintergrund wurde beispielsweise die JavaScript-Datei “embed.min.js” weiterhin geladen. Auch wenn diese nur ca. 25 kB groß ist (was einen Großteil von https://fryboyter.de ausmacht), bin ich mit der Lösung unzufrieden.

Da ich aktuell privat etwas Zeit habe, und ich diese Funktion demnächst wohl öfter nutzen werde, habe ich mir eine bessere Lösung überlegt.

Als Erstes habe ich mir die Datei single.html vorgenommen. Diese ist für das Anzeigen von einzelnen Artikeln zuständig. Den betreffenden Code habe ich wie folgt geändert.

{{ if and ( isset .Params "nocomments" ) ( eq .Params.nocomments true ) -}}
    <p>Die Kommentarfunktion ist für diesen Artikel deaktiviert</p>
{{ else }}
    <section id="isso-thread" data-title="{{ .Title }}"></section>
	<noscript>
		<p>Die Kommentarfunktion kann nur mit aktiviertem Javascript genutzt werden</p>
	</noscript>
{{ end }}	

Wichtig ist hier im Grunde genommen die erste Zeile. Damit wird geprüft, ob im Front-Matter-Bereich des jeweiligen Artikels die Zeile nocomments: vorhanden ist und ob diese den Wert true hat. Wenn ja, wird der Hinweis angezeigt, dass die Kommentarfunktion für diese Artikel deaktiviert ist. Wenn nicht, wird der Code eingetragen, mit dem man als Nutzer neue Kommentare erzeugen kann und vorhandene Kommentare anzeigt. Also im Grunde genommen, was im Artikel von 2019 beschrieben wurde.

Als Nächstes habe ich die Datei metadata.html angepasst. Diese erzeugt die Zeile direkt unter dem Titel des Artikels, in der bisher unter anderem die Anzahl der Kommentare angezeigt wird. Was bei einer deaktivierten Kommentarfunktion nicht wirklich nötig ist.

{{ if or (not ( isset .Params "nocomments" )) ( ne .Params.nocomments true ) -}} | <a href="{{ .Permalink }}#isso-thread">Comments</a>{{ end }}

Hiermit wird geprüft, ob die Zeile nocomments: nicht hinterlegt ist oder wenn doch, ob dessen Wert nicht true entspricht. Wenn eines der beiden zutrifft, wird der Code für die Anzahl der vorhandenen Kommentare angezeigt. Den Code habe ich bewusst etwas verkompliziert, da ich verhindern wollte, dass beispielsweise nocomments: treu unabsichtlich dazu führt, dass die Kommentare deaktiviert werden. Wer hierfür eine bessere Lösung hat, die weniger Code benötigt, kann sich gerne melden. Oder einfach einen Pull Request erstellen. Denn an der Stelle zeigt es sich, dass ich nicht wirklich programmieren kann.

Abschließend ist die Datei head.html an der Reihe.

{{ if or (not ( isset .Params "nocomments" )) ( ne .Params.nocomments true ) -}}
	<script data-isso="https://isso.fryboyter.de/" data-isso-feed="true" data-isso-css="false"
		data-isso-lang="{{.Site.Language.Lang }}" data-isso-max-comments-top="inf" data-isso-max-comments-nested="inf"
		data-isso-vote="false" data-isso-reply-notifications="true"
		src="https://isso.fryboyter.de/js/embed.min.js"></script>
	{{ end }}

Hier kommt unterm Strich die gleiche Abfrage wie für metadata.html zum Einsatz. Nur das in diesem Fall nicht die Anzeige der vorhandenen Kommentare ausgeblendet wird, sondern die Datei embed.min.js geladen wird oder eben nicht.

Das ganze Changeset kann man sich unter https://github.com/Fryboyter/Hugo/commit/5dfb4459aa7f9c8b08a21a9568d775808e290b49 ansehen.

Warum nun diese Änderung? Im Grunde aus zwei Gründen.

Zum einen schalte ich bereits jetzt weniger als 80 Prozent der Kommentare frei, da viele Kommentare nur SEO-Spam oder Kommentare sind, die nicht weiterhelfen. Daher auch die manuelle Freischaltung der Kommentare.

Das größere Problem ist aber, dass ich oft keine Lust oder Zeit habe Kommentare zeitnah freizuschalten, so dass diese oft Tage oder gar Wochen nicht angezeigt werden. Das nützt daher weder den Nutzern noch mir etwas. Daher verzichte ich im Zweifelsfall zukünftig lieber auf Kommentare Dritter.

OSBN | Allgemein

Alle Repositories eines Nutzers bei Github klonen

Manchmal möchte man alle Repositories eines Nutzers bei Github auf den eigenen Rechner klonen. Je nach Anzahl der Repositories kann dies etwas aufwändig sein, jedes manuell mit “git clone” herunterzuladen. Um dies zu automatiesieren kann man folgendes Script nutzen. Nennen wir das Script beispielsweise gitdownload.sh.

#!/bin/bash

if [ $# -eq 0 ]
  then
    echo "Usage: $0 <user_name> "
    exit;
fi

USER=$1

for repo in $(curl -s https://api.github.com/users/"$USER"/repos?per_page=1000 |grep git_url |awk '{print $2}'| sed 's/"\(.*\)",/\1/');do
git clone "$repo";
done;

Um damit die betreffenden Repositories herunterzuladen führt man einfach ./gitdownload.sh $benutzername aus. Anstelle von $benutzername trägt man den jeweiligen Namen des Nutzers bei Github ein.

Allgemein | OSBN

Rasierseifen von Stirling

Seit Jahren rasiere ich mich ziemlich klassisch mit einem sogenannten Hobel mit echten Rasierklingen, einem Rasierpinsel und mit Rasierseifen.

Über die Jahre habe ich somit mehrere Seifen getestet, verbraucht und entsorgt. Bei einigen fand ich den Duft super. Mit anderen konnte man innerhalb kürzester Zeit den Schaum aufschlagen. Oder die Hautpflege war sehr gut. Aber alles zusammen hat mir noch keine Rasierseife geboten. Manche waren zudem echt schlimm und wanderten schnell in den Abfall.

Vor kurzem ging mein Vorrat an Seife von Meißner Tremonia zu Ende. Also war es Zeit für etwas Neues. Relativ schnell bin ich dann auf den Hersteller Stirling gestoßen. Aktuell bietet dieser 76 verschiedene Rasierseifen mit verschiedenen Düften und mit bzw. ohne Menthol an.

Leider handelt es sich bei Stirling um einen nicht sehr großen Hersteller in den USA welcher nicht außerhalb der USA versendet. Aber in Europa gibt es zumindest einige wenige Shops, die zumindest einige der vielen Seifen anbieten. Zum Beispiel https://soulobjects.de. Dort habe ich mir die Variante Pharaoh’s Dreamsicle bestellt.

Wenige Tage später wurde geliefert. Und erst dann ist mir aufgefallen, dass Stirling Rindertalg für die Seifen verwendet. Ich bin weder Vegetarier noch Veganer. Aber Rindertalg? Na ja manche Kosmetikprodukte sind auch Erzeugnisse aus Erdöl enthalten. Also auf zur ersten Proberasur.

Holla die Waldfee! Mit meinem Razorock 400 Rasierpinsel war innerhalb von Sekunden ein Berg an schön cremigen Schaums aufgeschlagen. Und der Duft… Ungewöhnlich aber angenehm und erfreulicherweise nicht talgig. Und das Eincremen nach der Rasur konnte ich mir auch sparen, da die Pflegeeigenschaft ebenfalls sehr gut ist.

Die Seife besteht aus folgenden Zutaten: Rindertalg, Stearinsäure, destilliertes Wasser, Rizinusöl, Kaliumhydroxid, pflanzliches Glyzerin, ätherisches Öl, Mandelöl, Sheabutter, Kokosnuss-Milch, Lanolin, Natriumhydroxid, Parfümöl und Natriumlactat. Für mich als Laie macht das keinen allzu giftigen Eindruck.

Zwischenzeitlich habe ich einige Rasuren hinter mir. Was gibt es noch zu sagen? Stirling Rasierseife ist die erste Seife, die mir wirklich in allen Belangen zusagt. Inzwischen habe ich mir daher noch die Variante Satsuma gekauft. Dieses Mal bei einem Onlineshop in England. Das sollte für dieses Jahr auf jeden Fall reichen. Und vermutlich auch noch ein Stück von 2022.

Allgemein

VS Code friert nach dem Starten ein

Wenn ich aktuell unter Arch Linux die OSS-Version des Editor VS Code starten will, startet diese zwar, friert sofort ein, sodass man das Programm nur noch gewaltsam beenden kann. Die Lösung ist aber erfreulicherweise ziemlich einfach.

Öffnet man die Datei /usr/bin/code-oss mit einem Editor (vorzugsweise nicht VS Code ;-) ) sollte der Inhalt wie folgt aussehen.

ELECTRON_RUN_AS_NODE=1 exec electron11 /usr/lib/code/out/cli.js /usr/lib/code/code.js "$@"

Alles, was man machen muss, ist electron11 auf electron zu ändern. Danach sollte VS Code wieder normal starten.

Vermutlich handelt es sich hierbei um einen Bug seitens Arch Linux. VS Code benötigt als Abhängigkeit das Paket electron (aktuell Version 12). Mit diesem wird die Datei /usr/bin/electron installiert. Im Paket code wurde allerdings letzten Monat /usr/bin/electron auf /usr/bin/electron11 geändert (https://github.com/archlinux/svntogit-community/commit/412cf018280fd9b9f612eb84075354b9fe555af8). Vermutlich weil VS Code zu der Zeit noch von Version 11 von electron abhängig war. Und nach dem Update auf Version 12 wurde vermutlich vergessen es entsprechend anzupassen. Aber das ist nur eine Vermutung. Eventuell betrifft das Problem auch andere Distributionen (und ggf. auch die normale Version von VS Code)

OSBN | Allgemein

Googles FLoC auf fryboyter.de blockiert

Wenn es um das Tracking bei Werbung geht, kommen oft Third-Party-Cookies zum Einsatz. Was viele Nutzer nicht so gut finden. Daher hat sich Google überlegt diese abzuschaffen und hat sich als Alternative FloC (Federated Learning of Cohorts) ausgedacht.

Wie zu erwarten kommt es nicht gut an. Die EFF bezeichnet es als “schreckliche Idee”. Den Entwicklern des Browsers Vivaldi ist es ein “FloC off!” wert. Die Betreiber der Suchmaschine DuckDuckGo finden es auch nicht gut. Genauso wie die Leute die den Browser Brave entwickeln. Und vermutlich halten viele andere FloC für eine scheiß Idee.

Mir geht es genauso, zumal der Mist auch noch opt-out ist. Dies gilt auch für Webseitenbetreiber. Damit man nicht mitmacht, kann man den Header seiner Internetseite ändern so das bei jedem HTTP-REPLY Permissions-Policy „interest-cohort=()“ mitgegeben wird.

Wer seine Seite bei Uberspace.de hostet, hat es einfach. Hierfür genügt einfach sich bei SSH einzuloggen und den Befehl uberspace web header set / Permissions-Policy “interest-cohort=()" auszuführen. Nutzer anderer durchschnittlicher Webspaces können vermutlich oft nichts unternehmen bzw. sollten beim jeweiligen Anbieter den Support kontaktieren und hoffen das dieser positiv reagiert. Wer einen eigenen Webserver betreibt, sollte sich schlaumachen wie man die Konfiguration seines Webservers entsprechend anpasst.

Allgemein