Seit Jahren erwartet, ist endlich Version 4 des Samba-Servers erschienen, der nun als vollwertige Alternative zu Microsofts Active Directory dienen kann. In der ... (mehr)

Alternativ: Markdown

Anstelle von HTML kann man den Blog-Beitrag auch mit Markdown- oder Textile-Tags schmücken. In diesem Fall muss man allerdings die Dateiendung anpassen, bei Markdown landet der Text beispielsweise in der Datei »2013-02-12-currywurst.md« . Jekyll erkennt das Format selbstständig und übersetzt es in entsprechenden HTML-Code.

Wie der YAML-Vorspann aus Listing 4 zeigt, soll Jekyll für die Posts das Layout aus der Datei »_layouts/blogeintrag.html« verwenden. Deren Inhalt verrät Listing 5.

Listing 5

Das Layout für die Blog-Einträge

 

Das Layout basiert selbst wieder auf dem Standard-Layout »default.html« . Jekyll verschachtelt hier also gleich zwei Layouts ineinander: An die Stelle des Platzhalters »{{ content }}« aus »default.html« setzt es den Inhalt des Layouts »blogeintrag.html« . Dieses bringt selbst einen Platzhalter »{{ content }}« mit, den Jekyll wiederum durch den Text des Blog-Beitrags austauscht.

Ersetzbar

Die Platzhalter »{{page.titel}}« und »{{page.beilage}}« ersetzt Jekyll schließlich noch durch die Texte, die der Blog-Beitrag im YAML Front Matter neben »title« und »beilage« vorgibt (siehe Listing 4). Wie hier im Beispiel darf man im Front Matter eines Blog-Beitrags beliebig viele eigene Bezeichner hinzufügen. Später im Layout bindet man dann den rechts daneben stehenden Text ein, indem man dem Bezeichner ein »page.« voranstellt und das Ganze in geschweifte Klammern einfasst. Abbildung 4 fasst noch einmal zusammen, wie Jekyll die einzelnen Platzhalter austauscht: In der »default.html« landet an der Stelle »{{content}}« der Inhalt von »blogeintrag.html« . Dessen Platzhalter »{{page.titel}}« ersetzt Jekyll durch den »titel« des Blog-Beitrags, den Platzhalter »{{content}}« analog durch den Text des Beitrags. Das Ergebnis speichert Jekyll in einer HTML-Datei, die den Namen des Beitrags trägt.

Abbildung 4: So ersetzt Jekyll in seinen Templates die einzelnen Platzhalter.

Damit erzeugt Jekyll jetzt für jeden Text im Verzeichnis »_posts« eine neue HTML-Datei. Bei einem typischen Blog gibt es zusätzlich noch eine Übersichtsseite, die alle Beiträge auflistet. Diese Seite soll im Beispiel »blog.html« heißen und der Einfachheit halber wieder direkt im Arbeitsverzeichnis liegen (sie wandert folglich später ins Hauptverzeichnis des Internetauftritts). Ihren Inhalt zeigt Listing 6.

Listing 6

Die Datei blog.html

 

Der Einfachheit halber steckt Listing 6 alle Blog-Beiträge in eine Liste »<ul>« . Das Gebilde:

{% for post in site.posts %}

sorgt dafür, dass Jekyll alle vorhandenen Blog-Beiträge durchläuft. Die Jekyll-Entwickler haben diese Platzhalternotation übrigens nicht selbst erfunden, sondern einfach das aus dem Online-Shop Shopify stammende Liquid Template System übernommen [5]. Generell rahmen zwei geschweifte Klammern »{{ ... }}« einen Platzhalter ein, den später Jekyll durch HTML-Tags und Text ersetzt. Klammern mit Prozentzeichen »{% ... %}« kennzeichnen hingegen Befehle, die Jekyll ausführt beziehungsweise auswertet.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019