Почему мой сайт работает с использованием Jekyll 1.4.3, а не Jekyll 2.0.2?

После обновления моего веб-приложения на основе Jekyll 1.4.3 до Jekyll 2.0.2 моя домашняя страница не содержит указанный файл макета.

Вот шаги для воспроизведения:

Download https://github.com/morea-framework/basic-template/tree/jekyll-2.0.  

Это ветка jekyll-2.0 моего веб-приложения, которая является урезанной версией, чтобы проиллюстрировать проблему. Если вы клонируете репо, обязательно переключитесь на ветку jekyll-2.0.

gem uninstall jekyll
gem install jekyll -v '1.4.3'

Это устанавливает версию Jekyll, в которой сайт строится правильно. По неясным для меня причинам я столкнулся с проблемами, когда одновременно установил 1.4.3 и 2.0.2.

cd basic-template/master/src
jekyll serve --baseurl ''

Это поднимает мое веб-приложение. Если вы сейчас идете в http://localhost:4000, Тебе следует увидеть:

сайт правильно отображается под Jekyll 1.4.3

Теперь control-c, чтобы остановить приложение, и вызвать:

gem uninstall jekyll
gem install jekyll
jekyll serve --baseurl ''

Эти три команды удаляют Jekyll 1.4.3, устанавливают Jekyll 2.0.2 и повторно запускают Jekyll. Теперь, если вы обновите http://localhost:4000, Тебе следует увидеть:

Как вы можете видеть, стилевого оформления CSS больше нет. Это потому, что макет, указанный в Front Matter, по какой-то причине не был включен.

Может кто-нибудь сказать мне, почему мой код больше не работает правильно под Jekyll 2.0.2?

1 ответ

Решение

Ваш пост ссылается на макет post.html, который, в свою очередь, ссылается на макет по умолчанию. Макет по умолчанию не существует в вашей папке _layouts:

https://github.com/morea-framework/basic-template/blob/jekyll-2.0/src/_layouts/post.html

Вы всегда должны иметь макет по умолчанию.

Другие вопросы по тегам