В папке _layouts отсутствует домашний макет, но он работает

Я начал делать свой блог со страницами jekyll и github.

У меня все хорошо с основной темой, но я хотел применить свойство боковой панели, поэтому я скачал тему, которая имеет боковую панель, с https://idratherbewriting.com/documentation-theme-jekyll/

Поэтому я скачал проект и переопределил. Я не знаю много о том, как это работает, но самое странное, что в файле index.md

если я положу

---
layout:home
sidebar:mydoc_sidebar
----

бывает так, что базовый макет темы и сообщения отображаются должным образом, но если я изменю макет на что-то другое, находящееся в папке _layout, например, post, default, сообщения исчезнут, и я понятия не имею, почему Jekyll делает это.

Даже когда я стираю макет, он возвращает пустой экран, так что я уверен, что он что-то делает с домашним макетом, но я нигде не мог найти, как отображается домашний макет.

https://github.com/jinmc/programmingTips

это репозиторий для блога, и он открыт, и весь код там, так что вы можете увидеть это сами.

Кстати, https://jinmc.github.io/programmingTips/ это сайт, который вы хотите запустить, если хотите посмотреть.

2 ответа

Решение

В _config.yml мы видим, что вы используете (theme: minima) тема минимума на основе драгоценных камней ( документация). Это означает, что по умолчанию все ваши _include, _layouts и активы скрыты где-то на вашем компьютере. Вы можете использовать bundle show minima Команда, чтобы узнать, где они хранятся.

Поскольку домашний макет существует в минимальной теме, используется ли он.

Если вы хотите использовать свой собственный домашний макет, вы можете скопировать его из минимума в папку _layouts и изменить его в соответствии со своими потребностями.

cd your/root
cp `echo "$(bundle show minima)/_layouts/home.html" _layouts/home.html`

Если вы хотите быть уверены, что не используете скрытые ресурсы, вы можете удалить theme: minima директива из вашего файла _config.yml.

Эта проблема может быть вызвана несколькими факторами, но возможно, что нет вообще никакой проблемы:)

1) Перестань Джекиллу служить / смотреть. 2) Удалить _site каталог. 3) Восстановить и обслуживать сайт

jekyll serve,

Следите за терминалом, чтобы увидеть, предупреждает ли вас Джекилл об отсутствующем файле макета.

Возможно, хотя и маловероятно, что тема или плагин идентифицируют макеты на лету. Чтобы переопределить это (будь то случай или нет), создайте home макет, как обычно, и включите в заголовок страницы / поста. Просто сохраните базовый макет с красным фоном, чтобы вы могли легко проверить, загружен он или нет.

Я думаю, что удаление _site Папка исправит это, но если нет, попробуйте другой вариант и дайте мне знать.

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