Джекилл включает в себя экранирование закрывающих тегов? - PullRequest
0 голосов
/ 23 января 2020

Итак, у меня есть сайт со следующей базовой структурой c:

<body>
  <section>
    <p>Text of Section 1</p>
  </section>
  <section>
    <p>Text of Section 2</p>
  </section>
...
</body>

Я хочу сгенерировать весь сайт из файла уценки, используя jekyll, но, поскольку уценка не знает ничего похожего на разделы Моя идея состояла в том, чтобы использовать уценку для обычного текста, а затем включить отсутствующий html из другого файла, например:

---
layout: default.html
---

Text of Section 1.

{% include sectionbreak.html %}

Text of Section 2.

Для этого sectionbreak.html должен содержать что-то вроде

</section>
<section>

Однако jekyll, по-видимому, автоматически экранирует все закрывающие теги html в начале включаемого файла, и в результате получается веб-сайт, похожий на этот, размещающий все больше и больше разделов внутри друг друга:

<body>
  <section>
    <p>Text of Section 1</p>
  <p>&lt;/section&gt;</p>
  <section>
    <p>Text of Section 2</p>
 ...
</body>

У кого-нибудь есть идеи, как отключить это поведение, или что вместо этого нужно для создания веб-сайта?

1 Ответ

0 голосов
/ 23 января 2020

Это что-то вроде каждой страницы? Или только специальная страница? Я не понимаю, почему вы хотите создавать обычные ежедневные посты, подобные этой, но я сделал это для моей главной страницы, где у меня есть что-то вроде этого:

|-...
|- _landing
 |- intro.md
 |- blog.md
 |- projects.md
|- index.html

В пределах моего index.hml это моя домашняя страница, я извлекаю всю коллекцию _landing, отсортированную по frontmatter.index. Это позволит вам изменить порядок и добавить разделы на главную страницу, где landing/blog.md содержит только последние 5-10 записей и ссылку на pages/archive.html, которая содержит полный постраничный список сообщений.

Опять же, Я бы не советовал это делать для каждой страницы вашего сайта, но это хорошо работает для специализированных страниц, количество которых у меня ограничено. Такие вещи, как:

  • индексная / целевая страница с несколькими разделами резюме, связанными с полными страницами
  • страница контактов с несколькими разделами контактов

Редактировать

Как насчет этого для града Мэри, я понятия не имею, сработает он или нет без прохождения через источник jekyll, но:

{% assign sections = page.content | split:"<!-- SPLIT -->" %}
{% for section in sections %}
<section>
  {{ section }}
</section>
<banner>
</banner>
{% endfor %}

Быстрый Google показывает, что это может не будь таким сумасшедшим, как я думал: https://gist.github.com/Phlow/04f635e4d1fc928b1157

...