Я пытаюсь добавить новое сообщение на свой сайт Jekyll, но не вижу его на сгенерированных страницах при запуске jekyll serve
.
Каковы некоторые распространенные причины, по которым сообщение Jekyll не создается?
_posts
каталог.YEAR-MONTH-DAY-title.MARKUP
( обратите внимание на MARKUP
расширение , которое обычно.md
или.markdown
)future: true
в _config.yml
(документация)published: false
в своей обложке. Установите его наtrue
.:
символ. Замените его на:
. 3.8.3
(и, вероятно, в других «последних» выпусках).
future:true
без пробела после:
in_config,yml
приводит к ERR: Файл конфигурации: (INVALID).future: true
вместо этого можно использовать большинство..markdown
расширение к имени файла. Я знаю это, потому что я только что потратил на это 5 минут своей жизни.Вы можете использовать
jekyll build --verbose
для подробного просмотра процесса сборки.Пример вывода:
из журнала я обнаружил, что jeklly пропущен,
2018-01-14-boot-android-on-charge.md
потому что у него есть дата в будущем.источник
Одна из возможных причин заключается в том, что
date
указанное во вступительной части не содержит смещения часового пояса, и в этом случае по умолчанию используется UTC, а не часовой пояс локального компьютера, как вы могли ожидать. Я потратил на это час, пока UTC не «догнало» мой текущий местный часовой пояс, BST.Я не нашел окончательного ответа на этот вопрос, но я думаю, что дата во вступительной части должна быть указана в UTC со смещением часового пояса (которое по умолчанию равно нулю, если оно опущено).
Так
date: 2018-05-03 12:34:27
и в UTC независимо от того, где вы находитесь, и независимо отtimezone
настройки_config.yml
.Так что будьте осторожны, чтобы указать такие даты:
источник
date: 2018-05-03 12:34:27 +01:30
тоже вроде работает. Обратите внимание на дополнительное двоеточие.Или это может быть и кеш браузера, если вы смотрите не в папку _site, а прямо на главную страницу блога со списком сообщений.
источник
Я написал для своего блога тесты Rspec, которые выражают следующие правила:
Это может быть полезно другим, так как я терял много времени из-за опечаток в дате и т. Д.
Эти тесты вместе с остальной частью конфигурации Rspec можно увидеть в контексте здесь .
источник
Просто чтобы добавить еще одну причину, когда вы перемещаете статью из
_drafts
в_post
, вам иногда нужно удалить,_site
чтобы статья была восстановлена.В моем случае часто бывает, что
_site
перед повторным созданием статьи не удаляются полностью, поэтому новая статья не появляется.Все равно так
rm -rf _site
иbundle exec jekyll serve
работает :)источник
Если вы не можете отследить файл
--verbose
и если он игнорируется, попробуйте удалить егоcollections_dir
вconfig.yml
файле. Это решило проблему для меня.источник
Мой пост также не появился из-за того, что в моем имени я использовал точку, например
2017-10-18-test.2.md
.Это не принято, вы должны использовать
2017-10-18-test2.md
.источник
Если вы проверили свое вступление, и все кажется хорошо, и даже
jekyll build --verbose
ничего не показывает (в моем случае он просто действовал так, как будто файл вообще не существует, даже не перечисляя его как исключенный), проверьте кодировку вашего файла. Видимо, это должно бытьUTF-8
без подписи. Если это такUTF-8 BOM
(илиUTF-8 with Signature
как это называют некоторые текстовые редакторы), то оно будет игнорироваться. Что еще хуже, некоторые редакторы будут отображать оба типа как справедливыеUTF-8
, что делает разницу еще труднее.источник