Переменные жидкости перестают работать, когда макет определен - PullRequest
5 голосов
/ 07 января 2020

Большое спасибо всем, кто смотрит на это! Я думаю, что вопрос прост. Это только долго, потому что я хотел быть очень тщательным / хорошо задокументированным. Я взял следующий пример кода из документации jekyll и отредактировал его только для того, чтобы найти его с постоянной ссылкой:

---
food: Pizza
permalink: "/pizza"
---

<h1>{{ page.food }}</h1>

Когда я запускаю jekyll serve, переменная выводится так, как должно быть, но у него нет макета. Когда я пытаюсь добавить макет, который я написал на страницу, переменная больше не выводит, как видно здесь .

В конечном счете, я хочу написать страницу архива, которая проходит по категориям, точно так же, как этот код в документации :

{% for category in site.categories %}
  <h3>{{ category[0] }}</h3>
  <ul>
    {% for post in category[1] %}
      <li><a href="{{ post.url }}">{{ post.title }}</a></li>
    {% endfor %}
  </ul>
{% endfor %}

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

Извините, если я выгляжу как джекилл newb ie (я), или если ответ где-то в документации, и я не смог его найти, но вот мои вопросы:

  1. Почему происходит такое поведение? Это что-то о том, как работает jekyll, или это вызывает мой макет?

  2. Что было бы наилучшим методом для написания архива / исправления этой ошибки?

Github-репозиторий для всего этого проекта здесь

1 Ответ

2 голосов
/ 07 января 2020

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

Глядя на ваши включения для post_body.html и body.html, вам просто нужно исправить вышеприведенное, и оно должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...