Wie ich zu GitHub & JBake gewechselt bin

Translated by: gpt-4o-2024-08-06 | Original version

* Diese Seite ist ~~im Aufbau~~ unvollständig... *

Zuerst: Es ist nicht meine Erfindung! Viele haben es schon vorher gemacht, es gibt viele Beschreibungen da draußen. Es hat trotzdem einige Zeit gedauert ;)

Dieser und dieser Beitrag waren die inspirierendsten Quellen und die einfachste Erklärung (die Vertrauen gibt ;) ).

Einrichtung

So sieht das Gesamtkonzept aus, das ich habe:

  • Ein Verzeichnis auf meinem Mac, das den Inhalt enthält. Ich verwende die grundlegende Struktur, die JBake verwendet.
  • Ein git-geklontes Verzeichnis auf meinem Mac mit dem Output des JBake-Prozesses
  • Ein kleines Skript, das ich jedes Mal ausführe, wenn ich etwas geändert habe. Das Skript übernimmt das Backen und das Veröffentlichen auf Git
  • Und natürlich die Einstellungen im DNS, um meinen Domainnamen auf die GitHub-IPs zu verweisen

JBake

Warum benutze ich JBake? Ich mag das Prinzip und fühle mich in Java wohler als in anderen Programmiersprachen. Ich habe den internen Code von JBake nicht angefasst, aber ich bin zuversichtlich, dass ich es könnte. Die Arbeitsweise von JBake ähnelt dem berühmten Jekyll: Es analysiert Inhaltsdateien und erstellt daraus (statische) HTML-Dateien. Die Inhaltsdateien können Markdown oder andere Formate enthalten; ich verwende nur Markdown.

Meine Verzeichnisstruktur sieht folgendermaßen aus:

.
|-- assets
|   |-- favicon.gif
|   |-- robots.txt
|   |-- img
|   |   |-- logo.png
|   |-- js
|   |   |-- custom.js
|   |-- css
|       |-- style.css
|
|-- content
|   |-- about.html
|   |-- 2013
|       |-- 01
|       |   |-- hello-world.html
|       |-- 02
|           |-- weekly-links-1.ad
|           |-- weekly-links-2.md
|
|-- templates
|   |-- index.ftl
|   |-- page.ftl
|   |-- post.ftl
|   |-- feed.ftl
|
|-- jbake.properties

Standardmäßig erzeugt JBake das Ausgabeverzeichnis in diesem Baum. In meinem Fall backe ich meine Sachen in ein Verzeichnis, das mit Git synchronisiert wird.

Die GitHub-Einrichtung

Die DNS-Einstellungen

Als Nächstes

Es gibt ein paar Dinge, die ich ändern möchte.