Meine Erfahrungen mit Jekyll.
Wenn eine schlanke Webseite schnell gerendert werden soll, mit responsive Design, dann ist ein statischer HTML Generator besser als ein PHP-Mysql -Monster wie Joomla.
Jekyll basiert auf der Sprache Ruby. Ich empfehle nicht ein älteres Jekyll über apt-get zu installieren. Version sollte neu sein und die gems auch. Bei mir gabs Versionskonflikte.
Diese Seite erklärt die Installation. Sorgfältig durchlesen! https://jekyllrb.com/docs/home
Besonders wichtig:
gem Befehle muß ich mit sudo starten.
Wenn man sich gem plugins für Jekyll installiert hat, müssen sie ins Gemfile eingetragen werden. Danach bundle install.
Besonders nützlich ist das Plugin jekyll-admin. Das erleichtert die Konfiguration und gibt eine WYSIWIG -Eingabe im Browser. 127.0.0.1:4000/admin
Github erlaubt kostenloses Hosting der erzeugten Jekyll- Webseite. git init ->gitadd-> git commit-->git push
Auf der Github-seite im Repository -> Settings klicken.
Runterscrollen bis Githubpages. Auswählen masterbranch oder ph-pages-branch. Nach kuzer Zeit gibts ein hellgrünes Feld. und die Homepage ist aktiviert. URL wird angezeigt.
Beispiel: https://dewomser.github.io/jekyll-my-awesome-site/
Theme installieren oder downloaden
Vorteile Installieren : Es ist immer ein komplettes Theme vorrätig. einfach einen leeren Ordner anlegen . Mit der Bash Shell hineinspringen und bundle exec jekyll serve ein Server mit der Webseite wird gestartet. Änderungen an dem Theme sind aber mühselig ,weil verschiedene Unterordner und Dateien fehlen in denen das Theme geändert werden kann.
Vorteil Downloaden: Thema kann überschrieben werden im Ordner . Pro Ordner kann dann je eine unterschiedliche Version angelegt werden. Mit der Bash Shell hineinspringen und jekyll serve ein Server startet. Beispiel Minima Theme downloaden
Webseite für den Wormser Linux User Stammtisch gebastelt.
Auch diese Webseite ist bei Github gehostet. Neu ist , dass jetzt alle Daten in eine YAML Datei ausgelagert sind. Neue Stammtischtermine und Reviews vergangener Stammtischtermine können dort einfach eingetragen werden ohne Markdown oder HTML zu verändern.
linuxuser:
- meeting: Nächstes Treffen
tag: "06"
monat: "11"
jahr: 2018
ort: Times-Cafe Worms/Ludwigsplatz
Auschnitt aus daten.yaml . Hier können die nächsten Termine eingetragen werden.
linuxuser:
- monat: '11'
inhalt: >-
Test November
- monat: '10'
inhalt: >-
02.10.2018 RaspberryPi und Docker. RaspberryPi und Objekt …
- monat: '09'
inhalt: >-
04.09.2018 Froscon - was gabs zu sehen - interessante Vorträge …
Ausschnitt review.yaml . Hier kann der Inhalt des letzten Stammtischs zusammengefasst werden.
YAML in Markdown integrieren
In der Markdownseite gibts eine Schleife,die die Daten dann wieder abfragt . Liquid ist in Jekyll integriert deshalb funktioniert das .
{% for review in site.data.review18.linuxuser %}
{{ review.inhalt }}
{% endfor %}
So sieht die Markdown Seite aus, in der all Reviews des Jahres 2018 angezeigt werden.
{% assign next = site.data.daten.linuxuser[0] %}
{{next.meeting}} : {{next.tag}}.{{next.monat}}.{{next.jahr}}
19:30 im {{next.ort}}
Um nur den ersten Datensatz aus der YAML Datei auszulesen, braucht man keine Schleife. Achtung Liquid fängt die Nummerierung bei 0 an.
Diese Datensätze lassen sich auch im Headteil der Webseite für Beschreibungssprachen für Twitter, Google und Facebook benutzen. Zum Beispiel in /includes/head.md oder in den Layouts.
Wer genau wissen will, wie ich das gemacht habe, kann sich den Source bei Github ansehen, und natürlich auch forken oder klonen.
Die Webseite heißt https://wolust.de
.