Ich versuche, meiner Jekyll-Site einen neuen Beitrag hinzuzufügen, kann ihn jedoch beim Ausführen nicht auf den generierten Seiten sehen jekyll serve
.
Was sind einige häufige Gründe dafür, dass ein Jekyll-Beitrag nicht generiert wird?
_posts
Verzeichnis gestellt.YEAR-MONTH-DAY-title.MARKUP
( Beachten Sie die MARKUP
Erweiterung , die normalerweise.md
oder ist.markdown
)future: true
in _config.yml
(Dokumentation)published: false
in ihrer vorderen Angelegenheit. Stellen Sie es auf eintrue
.:
Zeichen. Ersetzen Sie es durch:
. 3.8.3
(und wahrscheinlich in anderen 'aktuellen' Veröffentlichungen).
future:true
ohne Leerzeichen nach:
in_config,yml
führt zu ERR: Konfigurationsdatei: (UNGÜLTIG).future: true
die meisten werden stattdessen verwendet..markdown
Erweiterung zum Dateinamen hinzuzufügen . Ich weiß das, weil ich gerade 5 Minuten meines Lebens damit verschwendet habe.Sie können verwenden
jekyll build --verbose
, um den Erstellungsprozess im Detail anzuzeigen.Beispielausgabe:
Aus dem Protokoll fand ich jeklly übersprungen,
2018-01-14-boot-android-on-charge.md
weil es ein zukünftiges Datum hat.quelle
Ein möglicher Grund ist, dass die
date
in der Titelseite angegebene Zeitzone keinen Zeitzonenversatz enthält. In diesem Fall wird standardmäßig UTC verwendet, nicht wie erwartet die Zeitzone des lokalen Computers. Ich habe eine Stunde damit verschwendet, bis UTC meine aktuelle lokale Zeitzone BST "eingeholt" hat.Ich habe keine endgültige Antwort darauf gefunden, aber ich denke, das Datum in der Titelseite muss in UTC mit einem Zeitzonenversatz angegeben werden (der standardmäßig Null ist, wenn er weggelassen wird).
Dies
date: 2018-05-03 12:34:27
gilt auch für UTC, unabhängig davon, wo auf der Welt Sie sich befinden, und unabhängig von dertimezone
Einstellung in_config.yml
.Achten Sie also darauf, Daten wie folgt anzugeben:
quelle
date: 2018-05-03 12:34:27 +01:30
scheint auch zu funktionieren. Beachten Sie den zusätzlichen Doppelpunkt.Oder es kann auch ein Browser-Cache sein, wenn Sie nicht im Ordner _site, sondern direkt auf der Hauptseite des Blogs mit der Liste der Beiträge suchen .
quelle
Ich habe Rspec-Tests für mein Blog geschrieben, die diese Regeln ausdrücken:
Dies kann für andere von Nutzen sein, da ich aufgrund von Tippfehlern im Datum usw. viel Zeit verloren habe.
Diese Tests zusammen mit dem Rest der Rspec-Konfiguration können hier im Kontext gesehen werden .
quelle
Um noch einen weiteren Grund hinzuzufügen: Wenn Sie einen Artikel von
_drafts
nach verschieben_post
, müssen Sie manchmal den löschen,_site
damit der Artikel neu generiert werden kann.In meinem Fall kommt es häufig vor, dass diese vor der
_site
Neuerstellung nicht vollständig gelöscht werden, sodass der neue Artikel nicht angezeigt wird.Sowieso
rm -rf _site
undbundle exec jekyll serve
funktioniert :)quelle
Wenn Sie die Datei nicht verfolgen können
--verbose
und die Datei stillschweigend ignoriert wird, versuchen Sie, siecollections_dir
in derconfig.yml
Datei zu entfernen . Das hat das Problem für mich gelöst.quelle
Mein Beitrag erschien auch nicht und der Fehler war, dass ich in meinem Namen einen Punkt verwendet habe, z
2017-10-18-test.2.md
.Dies wird nicht akzeptiert, Sie müssen verwenden
2017-10-18-test2.md
.quelle
Wenn Sie Ihre vordere Angelegenheit überprüft haben und alles in Ordnung zu sein scheint und sogar
jekyll build --verbose
nichts preisgibt (in meinem Fall hat es sich nur so verhalten, als ob die Datei überhaupt nicht vorhanden wäre, und sie nicht einmal als ausgeschlossen aufgeführt), überprüfen Sie die Codierung Ihrer Datei. Anscheinend muss esUTF-8
ohne Unterschrift sein. Wenn es so istUTF-8 BOM
(oderUTF-8 with Signature
wie es einige Texteditoren nennen), wird es stillschweigend ignoriert. Um die Sache noch schlimmer zu machen, zeigen einige Editoren beide Typen als gerecht anUTF-8
, wodurch der Unterschied noch schwerer zu erkennen ist.quelle