J'essaie d'ajouter un nouveau message à mon site Jekyll, mais je ne le vois pas sur les pages générées lorsque je cours jekyll serve
.
Quelles sont les raisons courantes pour lesquelles un message Jekyll n'est pas généré?
_posts
répertoire.YEAR-MONTH-DAY-title.MARKUP
( notez l' MARKUP
extension , qui est généralement.md
ou.markdown
)future: true
dans _config.yml
(documentation)published: false
dans son devanture. Réglez-le surtrue
.:
caractère. Remplacez-le par:
. 3.8.3
(et probablement dans d'autres versions «récentes»).
future:true
sans espace après:
dans_config,yml
conduit à ERR: Fichier de configuration: (INVALID).future: true
la plupart seront utilisés à la place..markdown
extension au nom de fichier. Je le sais parce que je viens de perdre 5 minutes de ma vie à cause de ça.Vous pouvez utiliser
jekyll build --verbose
pour afficher le processus de construction en détail.Sortie d'exemple:
du journal que j'ai trouvé jeklly ignoré
2018-01-14-boot-android-on-charge.md
car il a une date future.la source
Une raison possible est que le
date
spécifié dans les pages préliminaires ne contient pas de décalage de fuseau horaire, auquel cas il défini par défaut sur UTC, et non sur le fuseau horaire de l'ordinateur local comme vous pouvez vous y attendre. J'ai perdu une heure là-dessus jusqu'à ce que UTC "rattrape" mon fuseau horaire local actuel, BST.Je n'ai pas trouvé de réponse définitive à cela, mais je pense que la date dans l'avant-propos doit être donnée en UTC avec un décalage de fuseau horaire (qui par défaut à zéro si omis).
Il en
date: 2018-05-03 12:34:27
est de même en UTC quel que soit l'endroit où vous vous trouvez dans le monde et quel que soit letimezone
contexte_config.yml
.Veillez donc à spécifier les datetimes comme ceci:
la source
date: 2018-05-03 12:34:27 +01:30
semble également fonctionner. Notez les deux points supplémentaires.Ou il peut également s'agir du cache du navigateur si vous ne cherchez pas dans le dossier _site mais directement sur la page principale du blog avec la liste des articles.
la source
J'ai écrit des tests Rspec pour mon blog qui expriment ces règles:
Cela peut être utile pour d'autres car je perdais beaucoup de temps à cause de fautes de frappe dans la date, etc.
Ces tests ainsi que le reste de la configuration Rspec peuvent être vus en contexte ici .
la source
Pour ajouter une raison de plus, lorsque vous déplacez un article de
_drafts
vers_post
, vous devez parfois supprimer le_site
pour que l'article soit régénéré.Dans mon cas, il arrive souvent que
_site
cela ne soit pas entièrement supprimé avant la régénération, de sorte que le nouvel article n'apparaîtra pas.Quoi qu'il en soit
rm -rf _site
etbundle exec jekyll serve
fonctionne :)la source
Si vous ne parvenez pas à suivre le fichier
--verbose
et si le fichier est ignoré en silence, essayez de supprimercollections_dir
leconfig.yml
fichier. Cela a résolu le problème pour moi.la source
Mon message n'apparaissait pas non plus et l'erreur était que dans mon nom, j'ai utilisé un point, par exemple
2017-10-18-test.2.md
.Ce n'est pas accepté, vous devez utiliser
2017-10-18-test2.md
.la source
Si vous avez vérifié votre introduction, et que tout semble bien, et même
jekyll build --verbose
ne révèle rien (dans mon cas, cela a simplement agi comme si le fichier n'existait pas du tout, ne le listant même pas comme exclu), vérifiez l'encodage de votre dossier. Apparemment, il doit êtreUTF-8
sans signature. C'estUTF-8 BOM
(ouUTF-8 with Signature
comme l'appellent certains éditeurs de texte), alors il sera ignoré en silence. Pour aggraver les choses, certains éditeurs afficheront les deux types comme justesUTF-8
, ce qui rendra la différence encore plus difficile à repérer.la source