Подтвердить что ты не робот

Как отобразить страницу уценки Jekyll на сайте index

Я, вероятно, пропустил что-то простое, но у меня нет возможности проверить Jekyll локально.

Я использую страницы GitHub для рендеринга Jekyll, для начала я только хочу отображать содержимое разметки на основном index.html с одной страницы разметки.

Структура:

Index.html

---
layout: default
---

_layouts
 - default.html

//html stuff..
<section>

{{page.content}}

</section>

В корневой папке у меня есть страница с названием content.md, которую я хочу отобразить для {{page.content}}, а макет, но раздел с тегами жидкости пуст.

Как сделать content.md?

Пример: https://github.com/wycks/wordpress-gears-jekyll

4b9b3361

Ответ 1

Здесь есть несколько вещей.

  • В вашем файле _layouts/default.html (и любых других файлах каталога _layouts), а не:

    {{ page.content }}
    

    вам нужно использовать:

    {{ content }}
    
  • Jekyll позволяет вам включать файлы только из корневого уровня сайта _includes. Таким образом, вам нужно переместить content.md из корня в этот каталог (если он еще не существует).

  • Наконец, вам нужно сделать вызов файла include из вашего файла index.html. Это можно сделать, изменив содержимое вашего файла index.html на:

    ---
    layout: default
    ---
    
    {% include content.md %}
    

Это позволит настроить поведение, которое вы ищете.


Я бы выделил еще две вещи:

  • Вы можете обнаружить, что изменение расширения вашего индексного файла с .html до .md работает лучше. Важно отметить: вам нужно использовать .html, если вы хотите разбиение на страницы. В Jekyll Pagination documentation эта функция работает только тогда, когда файл имеет имя index.html.

  • Если все, что вы делаете в своем индексном файле, является вызовом include, которое находится только на этой странице, вы можете просто просто помещать контент непосредственно в индексный файл.

Ответ 2

include позволяет включать файлы непосредственно в _includes/. Существует также include_relative, который позволяет использовать пути и включают в себя из других мест. Однако включение должно относиться к данному файлу:

{% include_relative somedir/footer.html %}

Есть одна проблема с любым методом include, который я не могу решить: если файл, который вы включаете, имеет передний элемент, Jekyll не будет его отключать. Таким образом, вы не можете использовать передний элемент для хранения, включая конкретные метаданные, например, "title". Конечно, вы можете использовать переменные -. {% assign title = "My Title" %}, но это не эквивалент, потому что если вы хотите, чтобы вещь ваша в том числе, чтобы быть частью коллекции или оказываемых самостоятельно, вы должны иметь передний вопрос