Was YAML Front Matter ist, die Regeln für ---, welche Felder Jekyll, Hugo, Eleventy und Astro lesen, und ein Splitter, der Metadaten und Inhalt deiner eigenen Datei zeigt.
Front Matter ist ein YAML-Block ganz oben in einer Markdown-Datei, der von einer Zeile mit drei Bindestrichen (---) geöffnet und geschlossen wird. Static Site Generators lesen ihn als Daten der Seite, etwa Titel, Datum, Layout und Tags, und rendern alles unterhalb der schließenden Zeile als Seiteninhalt.
Front-Matter-Unterstützung in vier beliebten Static Site Generators
Front Matter macht aus einer einfachen Markdown-Datei eine Seite mit Metadaten, und ein einziger falsch gesetzter Bindestrich zerstört das. Füge eine Datei in den Splitter ein, um genau zu sehen, wo die Metadaten enden und der Inhalt beginnt und welche Felder der obersten Ebene er gefunden hat, bevor sich dein Build beschwert.
Es sind Metadaten, die am Anfang einer Markdown-Datei zwischen zwei Trennzeilen stehen. Markdown selbst definiert sie nicht; Static Site Generators und Content-Tools haben sich auf die Konvention geeinigt und lesen sie als Daten, bevor sie den Rest rendern.
YAML ist der übliche Standard, aber nicht die einzige Option. Hugo akzeptiert TOML zwischen +++-Zeilen und JSON in geschweiften Klammern, Eleventy unterstützt ---json und ---js, und Astro akzeptiert ebenfalls TOML.
Meist steht etwas vor dem ersten ---, das schließende --- fehlt oder die öffnende Zeile enthält zusätzliche Zeichen. Der Splitter oben meldet die letzten beiden Fälle sofort.
Ja. In Jekyll markiert ein leeres Paar ---Zeilen die Datei trotzdem zur Verarbeitung, so werden in CSS- oder Feed-Dateien Liquid-Tags ohne jegliche Metadaten gerendert.
Teile die Datei an den Trennzeilen, parse den ersten Teil mit einer YAML-Bibliothek und gib den Rest an deinen Markdown-Renderer weiter. Eleventy macht das mit dem Paket gray-matter, das du auch direkt in Node nutzen kannst.
Ein typischer Post: Titel in Anführungszeichen, weil er einen Doppelpunkt enthält, ein Datum, eine Liste von Tags und ein eigenes author-Feld.
Hugo liest +++ als TOML Front Matter. Eigene Werte stehen unter dem params-Schlüssel.
Füge eine Markdown-Datei ein. Der Splitter findet den Front-Matter-Block, listet seine einfachen Felder der obersten Ebene auf und zeigt den Inhalt, der gerendert wird.
Markdown-Datei
Front Matter ({f})
Gefundene Felder der obersten Ebene
Keine einfachen key: value-Zeilen auf oberster Ebene.
Inhalt
Kein Front Matter: Die erste Zeile ist nicht --- oder +++, daher wird die ganze Datei als Inhalt behandelt.
Der mit {d} geöffnete Block wird nie geschlossen. Füge nach dem letzten Feld eine passende {d}-Zeile hinzu.
Front Matter gefunden und geschlossen.
Feld
Wert wie geschrieben
Kostenlos starten · Keine Kreditkarte nötig