Переменные сайта Jekyll, которые не отображаются в include или макетах - PullRequest
0 голосов
/ 08 сентября 2018

Я работаю на сайте Jekyll с GitHub Pages и обнаружил, что {% include myinclude.html %} жидкость прекрасно работает внутри _include и _layout файлов. Однако при добавлении элементов в _config.yml, таких как author : myusername, и попытке использовать их в _layouts/default.html или _includes/myinclude.html в качестве {{ site.author }}, полученный текст будет пустым. Отметим, что эти изменения не фиксируются и не передаются, и я использую локальный экземпляр jekyll, установленный в подсистеме Linux для Windows.

За исключением _include и _layout на моих реальных страницах, переменные сайта работают просто отлично. Почему переменные сайта не отображаются? На данный момент я должен поместить фактические значения обратно на страницу.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Выше приведено предполагаемое поведение, каждое изменение в _config.yml требует перезапуска сервера разработки для обработки новых настроек .

Файл конфигурации не может быть перечитан при использовании часов, потому что он содержит такие вещи, как источник и место назначения. Это может работать только если были на самом деле, как запуск Jekyll сборки несколько раз

источник

0 голосов
/ 08 сентября 2018

Предполагая, что изменения в _config.yml будут обновляться автоматически, как Jekyll делает для изменений в других файлах, я не перезапускал экземпляр jekyll, который я изначально запустил. Просто закрыв экземпляр Jekyll и запустив его снова, в моем случае с bundle exec jekyll serve, прочитайте обновленный файл конфигурации, и {{ site.variables }} появилось и показывалось правильно, как я и ожидал.

Любые изменения в _config.yml требуют перезапуска экземпляра Jekyll.

...