Meinem Blog fehlt noch eine Kommentarfunktion, und HUGO bietet mir mehrere Möglichkeiten, dieses Vorhaben umzusetzen.
Eine davon ist Cactus Chat, welche das Matrix-Protokoll verwendet um die Kommentare bereitzustellen. Da schlägt das Herz des Datenveganers höher!
1. Matrix-Account erstellen
Ihr benötigt also einen Matrix-Account, um Cactus verwenden zu können.
2. Cactus klarmachen
Für den Anfang könnt ihr den bereitgestellten öffentlichen Service nutzen, oder aber cactus selbst installieren und hosten.
Startet eine Unterhaltung mit @cactusbot:cactus.chat. Sobald beide im Raum sind setzt ihr folgenden Befehl als Chatnachtricht ab:
register YOUR-SITE-NAME
wobei YOUR-SITE-NAME
ein eindeutiger Name sein muss (es geht hier aber nicht um eurer tatsächlichen Servernamen oder URL). Ich hab mal produnistest
gewählt:
register produnistest
Der Bot wird eure Seite registrieren und euch in den Raum #comments_YOUR-SITE-NAME:cactus.chat
einladen, in meinem Falle #comments_produnistest:cactus.chat
. Dieser gilt als Haupt-Moderationsraum.
3. In HUGO einbinden
Im Ordner /layouts/shortcodes/
erzeugt ihr die Datei chat.html
und gebt ihr folgenden Inhalt:
<br>
<script type="text/javascript" src="https://latest.cactus.chat/cactus.js"></script>
<link rel="stylesheet" href="https://latest.cactus.chat/style.css" type="text/css">
<div id="comment-section"></div>
<script>
initComments({
node: document.getElementById("comment-section"),
defaultHomeserverUrl: "https://matrix.cactus.chat:8448",
serverName: "cactus.chat",
siteName: "YOUR-SITE-NAME",
commentSectionId: "{{ index .Params 0 }}"
})</script>
wobei ihr YOUR-SITE-NAME
entsprechend ersetzen müsst.
Dieser Shortcode kann nun innerhalb der Posts aufgerufen werden mittels:
{{< chat RAUMNAME >}}
wobei RAUMNAME
ein frei wählbarer Name ist. Wenn RAUMNAME
in allen Posts gleich ist, steht unter jedem Post der selbe Chatverlauf. Es bietet sich daher an, für jeden Post einen eigenen Raum zu erstellen. Das geht ganz einfach. Sobald die Seite das erste mal aufgerufen wird (z.B. als Preview), erfolgt die Raumerstellung automatisch anhand der Angaben im Shortcode. Die Kommentarfunktion funktioniert dann bereits auch im Preview. Anschließend solltet ihr selbst mit eurem Matrix-Account dem Raum beitreten, sonst könnt ihr die Beiträge nicht moderieren. Hierbei folgt die Notation der Comment-Räume dem Schema:
-SITE-NAME_RAUMNAME:cactus.chat #comments_YOUR
Also z.B.
:cactus.chat #comments_produnistest_testraum
Das funktioniert hier direkt auf Anhieb. Im nächsten Schritt werde ich Peter mal darauf anfixen, Cactus selbst zu hosten.