Spec-Zone.ru › Jekyll 4

Фильтры тегов

Поддерживаются все стандартные теги Liquid теги. Jekyll имеет несколько встроенных тегов, которые помогут вам создать ваш сайт. Вы также можете создавать свои собственные теги с помощью плагинов.

Включения

Если у вас есть фрагменты страниц, которые вы используете многократно на вашем сайте, то включение include — это идеальный способ сделать их более поддерживаемыми.

Выделение фрагментов кода

Jekyll имеет встроенную поддержку выделения синтаксиса более чем для 100 языков благодаря Rouge. Rouge является стандартным выделением синтаксиса в Jekyll 3 и выше.

Использование Pygments устарело и не поддерживается в Jekyll 4; параметр конфигурации highlighter: pygments теперь автоматически переключается на использование Rouge, написанного на Ruby и на 100% совместимого со стилями Pygments.

Чтобы отобразить фрагмент кода с выделением синтаксиса, заключите свой код следующим образом:

{% highlight ruby %}
def foo
  puts 'foo'
end
{% endhighlight %}

Аргументом тега highlight (ruby в приведенном выше примере) является идентификатор языка. Чтобы найти соответствующий идентификатор для языка, который вы хотите выделить, найдите «короткое имя» на странице вики Rouge.

Jekyll обрабатывает все фильтры Liquid в блоках кода

Если вы используете язык, содержащий фигурные скобки, вам, вероятно, потребуется поместить теги {% raw %} и {% endraw %} вокруг вашего кода. Начиная с Jekyll 4.0, вы можете добавить render_with_liquid: false в свой метаданные, чтобы полностью отключить Liquid для конкретного документа.

Номера строк

Вторым аргументом тега highlight является необязательный linenos. Включение аргумента linenos заставит выделенный код включать номера строк. Например, следующий блок кода будет включать номера строк рядом с каждой строкой:

{% highlight ruby linenos %}
def foo
  puts 'foo'
end
{% endhighlight %}

Стили CSS для выделения синтаксиса

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

Скопируйте файл CSS (native.css например) в свой каталог css и импортируйте стили выделения синтаксиса в свой main.css:

@import "native.css";

Ссылки

Начиная с Jekyll 4.0, вам не нужно добавлять префикс link и post_url тегов с site.baseurl.

Ссылка на страницы

Для ссылки на пост, страницу, элемент коллекции или файл тег link сгенерирует правильный URL постоянной ссылки для указанного вами пути. Например, если вы используете тег link для ссылки на mypage.html, даже если вы измените стиль постоянной ссылки, чтобы включить расширение файла или исключить его, URL, сформированный тегом link, всегда будет действительным.

Вы должны включить исходное расширение файла при использовании тега link. Вот несколько примеров:

{% link _collection/name-of-document.md %}
{% link _posts/2016-07-26-name-of-post.md %}
{% link news/index.html %}
{% link /assets/files/doc.pdf %}

Вы также можете использовать тег link для создания ссылки в Markdown следующим образом:

[Link to a document]({% link _collection/name-of-document.md %})
[Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
[Link to a page]({% link news/index.html %})
[Link to a file]({% link /assets/files/doc.pdf %})

Путь к посту, странице или элементу коллекции определяется как путь, относительный к корневому каталогу (где находится ваш конфигурационный файл) к файлу, а не путь от вашей текущей страницы к другой странице.

Например, предположим, что вы создаёте ссылку на page_a.md (сохранённую в pages/folder1/folder2) на page_b.md (сохранённую в pages/folder1). Ваш путь в ссылке не должен быть ../page_b.html. Вместо этого он должен быть /pages/folder1/page_b.md.

Если вы не уверены в пути, добавьте {{ page.path }} на страницу, и он отобразит путь.

Главное преимущество использования тегов link или post_url — валидация ссылок. Если ссылка не существует, Jekyll не создаст ваш сайт. Это хорошо, так как это предупредит вас о неработающей ссылке, чтобы вы могли её исправить (а не позволять вам создавать и развертывать сайт с нерабочими ссылками).

Обратите внимание, что вы не можете добавлять фильтры к тегам link. Например, вы не можете добавить строку с помощью фильтров Liquid, таких как {% link mypage.html | append: "#section1" %}. Для ссылки на разделы на странице вам потребуется использовать обычные HTML- или Markdown-методы ссылки.

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

---
title: My page
my_variable: footer_company_a.html
---

Затем вы можете сослаться на эту переменную в своей ссылке:

{% link {{ page.my_variable }} %}

В этом примере тег link отобразит ссылку на файл footer_company_a.html.

Ссылка на записи

Если вы хотите включить ссылку на запись на вашем сайте, тег post_url сгенерирует правильный URL постоянной ссылки для указанной вами записи.

{% post_url 2010-07-21-name-of-post %}

Если вы организуете свои записи в подкаталогах, вам необходимо включить путь к подкаталогу к записи:

{% post_url /subdir/2010-07-21-name-of-post %}

Включить расширение файла при использовании тега post_url не нужно.

Вы также можете использовать этот тег для создания ссылки на запись в Markdown следующим образом:

[Name of Link]({% post_url 2010-07-21-name-of-post %})

© 2020 Jekyll Core Team and contributors
Licensed under the MIT license.
https://jekyllrb.com/docs/liquid/tags/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API