Ich nutze sowohl Discourse als auch Jekyll intensiv und experimentiere kürzlich damit, eine Discourse-Instanz als Content-Management-System für eine statische Jekyll-Website einzusetzen. Ich habe gerade erst damit angefangen, und ein Grund, warum ich mich jetzt melde, ist einfach zu sehen, ob jemand anderes das bereits getan hat oder Ähnliches versucht hat. Alternativ habt ihr vielleicht eine bessere Idee und könnt mich davon abhalten, Zeit damit zu verschwenden ![]()
Wie ich mir das vorstellen würde
-
Markdown-Inhalte würden in einer Discourse-Instanz bearbeitet (was nicht-technischen Benutzern eine schöne Benutzeroberfläche zum Bearbeiten bietet) und können leicht erneut bearbeitet, aktualisiert usw. werden. Eine Formatierungsleiste und andere Feinheiten machen die nicht-technischen Benutzer deutlich zufriedener.
-
Auf der Jekyll-Website befindet sich eine YAML-Datei, die ein Array von Post-URLs (oder Post-IDs, falls wir uns dafür entscheiden, dass die Basis-URL von Discourse immer dieselbe ist…) enthält, die auf Inhalte abgefragt werden sollen.
-
Ein einfaches Jekyll-Plugin würde einen Hook ausführen, um jede URL abzufragen (bei jedem Neustart des Jekyll-Servers?) und die Daten per GET abzurufen. (Bei vielen „offenen" Discourse-Instanzen ist keine Authentifizierung erforderlich. Unter bestimmten Umständen muss ein API-Schlüssel bereitgestellt werden.)
-
Der JSON-Inhalt wird durch Hinzufügen von
.jsonvon der URL heruntergeladen, und derraw-Schlüssel dieses JSON-Objekts enthält das Markdown als Zeichenfolge in doppelten Anführungszeichen. -
Jekyll-YAML-Front-Matter müsste zum Markdown hinzugefügt werden, und Bereinigungen wie das Entfernen der umgebenden Anführungszeichen und das Ersetzen von
\\n-Zeilenwechseln müssten vorgenommen werden. -
Jekyll baut diese gesamten Seiten in HTML um, oder ihr könnt sie mit
{{include file | markdownify }}in andere Seiten einbinden.
Warum sollte man das tun?
-
Es wird für einen nicht-technischen Redakteur oder Betreuer viel einfacher, eine statische Website zu aktualisieren.
-
Ideal, wenn ihr bereits ein Discourse habt und eine statische Website erstellen möchtet, z. B. für ein Unternehmen.
-
Statische Websites sind günstig, zuverlässig und sicher.
-
Warum nicht Page Publishing verwenden? Wenn ich es versucht habe, scheinen die Seiten viel Arbeit zu benötigen, um gut auszusehen. Jekyll bietet mehr Kontrolle und ermöglicht natürlich eine Mischung aus Discourse-verwalteten und nicht von Discourse verwalteten Inhaltsquellen.
Gedanken aus der Community? Lohnt es sich, das weiterzuverfolgen?