Jekyll erzeugt keine html-Datei aus der Markdown-Datei (md-Datei)

Jekyll ist eine interessante Anwendung, um statische Webseiten aus Markdown-Dateien zu erzeugen. Durch die vereinfachte Markdown-Syntax lassen sich auch schnell neue Inhalte hinzufügen.

Mit dem Befehl

bundle exec jekyll serve

erzeugt man unter Linux/Ubuntu aus den md-Dateien die html-Dateien.

Dabei ist bei mir das Problem aufgetreten, dass alle Markdown-Dateien in HTML-Dateien konvertiert wurden, außer einer MD-Datei. Aus dieser einen Markdown-Datei wurde keine html-Datei erzeugt. Die Markdown-Datei wurde nur in das Ausgabeverzeichnis _site kopiert.

Lösung

Vergleich Front Matter mit anderen md-Dateien

Das deutet darauf hin, dass Jekyll die Datei, wie eine statische Datei betrachtet und diese nur ins Ausgabeverzeichnis kopiert.

Eine Ursache dafür kann sein, dass der sogenannte Front Matter fehlt oder fehlerhaft ist.

Screenshot Jekyll Front Matter in Markdown-Datei
Jekyll Front Matter in md-Datei

Im Front Matter erfolgt der Verweis zum Layout, die Festlegung des Titels und weitere Angaben.

Aber ein Vergleich des Front Matter mit den anderen md-Dateien, die richtig von Markdown nach html konvertiert werden, hat gezeigt, dass es keinen erkennbaren Unterschied gibt.

Encoding überprüfen

Nun kann man noch überprüfen, ob es Unterschiede im Encoding der jeweiligen Datei gibt. Das Encoding kann man überprüfen mit einem Texteditor, wie zum Beispiel Sublime.

Bei mir hat sich herausgestellt, dass die betreffende MD-Datei, die nicht in eine html-Datei gewandelt wird, das Encoding UTF-8 mit BOM hat.

Screenshot Encoding in Texteditor anzeigen
UTF-8 mit BOM Encoding wird im Texteditor angezeigt

Speichert man nun die Datei mit dem Encoding UTF-8 (ohne BOM), wird auch die betreffende md-Datei richtig als HTML-Datei im Ausgabeverzeichnis _site erzeugt.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert