Jekyll включает в себя не работающие страницы на GitHub без шаблона

#html #github #jekyll

#HTML #github #jekyll

Вопрос:

Я пытаюсь опубликовать свой собственный веб-сайт на страницах GitHub. Я хочу включить некоторые повторяющиеся части кода (заголовок) во многие файлы, чтобы мне не всегда приходилось их копировать и вставлять. Я хотел использовать функциональность включения, предлагаемую Jekyll:

 {% include example.html %}
 

Я поместил файл, который хочу включить, в каталог _includes, однако по какой-то причине он работает, только если я использую макет в основном файле. Я делаю что-то не так? Если нет, можно ли использовать Jekyll includes без макета? (Потому что я настроил все свои html-файлы на работу без него)

Комментарии:

1. Что вы подразумеваете под «использовать шаблон в основном файле?» Как вы добавляете этот шаблон? Какой файл является основным файлом? Когда вы не добавляете этот шаблон, вы получаете сообщение об ошибке или просто не выводите? Кроме того, если у вас есть этот код в общедоступном репозитории, включение ссылки в ваш вопрос поможет людям обеспечить лучшую обратную связь.

2. Спасибо за ваш быстрый ответ! Когда я написал «использовать шаблон в почтовом файле», я имел в виду, что если в начале моего index.html файл, который я поместил — layout: default — это действительно работает, но если я этого не сделаю, это не сработает.

3. О, я понимаю… так что это не шаблон, это макет. Мне все равно понадобятся ответы на другие вопросы. И ссылка на репозиторий была бы лучшей.

4. Хорошо, спасибо за исправление, я собираюсь отредактировать это в вопросе. Основным файлом является index.html . Когда я не добавляю макет, он просто показывает мне не отображаемый код (таким образом, он показывает мне {% include example.html %} ). Что касается репозитория, вот ссылка: github.com/matematicoso/markdown-portfolio . Однако учтите, что для тестирования я просто использую репозиторий GitHub, созданный для изучения страниц GitHub, так что ничего особенного там нет!

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

Ответ №1:

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

 ---
---
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>First try</title>
  </head>
  <body>
    {% include first-try.html %}
  </body>
</html>
 

Вам нужны эти --- теги для обработки Liquid в файле.

Комментарии:

1. Большое вам спасибо. Ваше предположение было правильным. Я все еще учусь, я этого не знал!