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.
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.
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.