cactus.chat - Matrix-Comments für HUGO

Blogdown
ubuntuusers
Autor:in

Joe Slam

Veröffentlichungsdatum

3. März 2022

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:

    #comments_YOUR-SITE-NAME_RAUMNAME:cactus.chat

Also z.B.

    #comments_produnistest_testraum:cactus.chat

Das funktioniert hier direkt auf Anhieb. Im nächsten Schritt werde ich Peter mal darauf anfixen, Cactus selbst zu hosten.