Постобработка HTML в jekyll

Можно ли добавить этап постобработки (на ruby) для выполнения в Jekyll после преобразования разметки в HTML?
Я хотел бы добавить некоторый HTML-контент, но не вижу способа сделать это в Jekyll файлы в целом (хотя некоторые диалекты разметки могут поддерживать это), поэтому я думаю, что это нужно будет сделать, работая с HTML после того, как Jekyll преобразует его и до того, как он запишет его в _site/.

РЕДАКТИРОВАТЬ: Уточнено, что я хочу сделать это на Ruby и на произвольных диалектах разметки.


person wonder    schedule 28.10.2014    source источник


Ответы (2)


Похоже, я смогу сделать это, предоставив фильтр Liquid, который постобрабатывает html-контент, и изменив {{ content }} на {{ content | my_postprocess }} в _layouts/post.html и _layouts/page.html.

person wonder    schedule 29.10.2014

Действительно, по умолчанию kramdown не будет анализировать уценку в html-элементе.

Но есть некоторые параметры конфигурации, которые можно настроить, чтобы заставить kramdown анализировать уценку в элементах span или block.

Параметры Kramdown в документации по Jekyll (смотрите под ключом kramdown:), но более интересные вещи в документация kramdown особенно здесь и здесь

В конфигурации

Если вы хотите глобально анализировать уценку в html, в _config.yml добавьте : kramdown: parse_block_html: true parse_span_html: true

Или в самой уценке

{::options parse_block_html="true" /}
{::options parse_span_html="true" /}
<div>
## Some markdown here

**bold** and `code`

<cite>a **span** level element</cite>
</div>

Вы также можете использовать уценку, например:

{% capture md %}{% include markdown_file.md %}{% endcapture %}
{{ md | markdownify }}

Это отобразит любую уценку, как если бы она была в исходном посте/странице.

person David Jacquel    schedule 28.10.2014
comment
Я могу вас неправильно понять, но я думаю, что мой вопрос был неясен. Я отредактировал его для ясности. Я хочу написать гем, который может постобрабатывать html после kramdown или любого другого синтаксического анализатора, чтобы я мог вставлять необработанный HTML, не беспокоясь о том, будет ли он анализироваться. - person wonder; 29.10.2014