GitHub-Blog-Kommentarfunktion ohne Frontend-JS implementieren
(github.com/nemorize)Ich habe mit dem Ziel begonnen, einen Blog zu bauen, der im Frontend keinerlei JS-Code ausliefert.
Im bestehenden Blog gab es bereits eine Kommentarfunktion mit giscus,
und genau diese Kommentarfunktion ohne JS umzusetzen, war ein großes Hindernis.
Mit Cloudflare Workers und GitHub Actions habe ich die Kommentarfunktion umgesetzt.
Sie funktioniert nach dem folgenden Ablauf.
- Ein auf Cloudflare Workers gehostetes Kommentarformular wird ausgegeben.
- Nutzer melden sich über dieses Kommentarformular mit ihrem GitHub-Konto an und senden ihren Kommentar ab.
- Der Worker escaped den eingereichten Kommentarinhalt und übermittelt ihn über die Workflow-Dispatches-API von GitHub Actions an GitHub.
- GitHub Actions fügt auf Basis des übermittelten Inhalts Kommentarcodes zur HTML-Datei des Beitrags hinzu und committet diese Änderungen.
- Das commitete Ergebnis wird entsprechend dem Deployment-Prozess von GitHub Pages Actions in die Produktion übernommen.
Durch die Schritte 3 bis 5 entsteht zwar eine kleine Verzögerung, bis die Änderung sichtbar ist, aber...
Ich habe das einfach damit gelöst, einen kurzen Hinweistext hinzuzufügen. Auf Blog-Plattformen wie WordPress sind Funktionen wie „Kommentar wird nach Prüfung durch den Administrator veröffentlicht“ ohnehin weit verbreitet, also habe ich so getan, als würde der Administrator die Kommentare prüfen. Solange nur du, der diesen Text liest, so tust, als wüsstest du das nicht, ist alles gut.
Aus UX-Sicht also ge...löst, haha.
Für einen kleinen privaten Blog ist das eigentlich nur dann ein sinnvoller Ansatz, wenn man wirklich unbedingt auf JS verzichten will, also schaut es euch bitte einfach mit Spaß an😅
Über den folgenden Link könnt ihr es direkt ausprobieren!
https://nemorize.me/blog/202507/blog-renewal
4 Kommentare
Genial, oder..? hahahahaha
Da frage ich mich plötzlich auch, ob ein LLM so etwas hinbekommen kann, haha
Die Lösung für das Latenzproblem ist originell und macht Spaß 👏
Ist das so etwas wie ein Headless CMS? Interessant.