Spec-Zone.ru › Jekyll 4

Фильтры Liquid

Поддерживаются все стандартные фильтры Liquid (см. ниже).

Чтобы упростить распространённые задачи, Jekyll также добавляет несколько собственных полезных фильтров — все они перечислены на этой странице. Вы также можете создавать собственные фильтры с помощью плагинов.

Описание Фильтр и Результат

Относительный URL

Добавляет в начало входных данных значение настройки baseurl, преобразуя путь URL в относительный URL. Рекомендуется для сайта, размещённого в подпапке домена.

{{ "/assets/style.css" | relative_url }}

/my-baseurl/assets/style.css

Абсолютный URL

Добавляет в начало входных данных значения url и baseurl, преобразуя путь URL в абсолютный URL.

{{ "/assets/style.css" | absolute_url }}

http://example.com/my-baseurl/assets/style.css

Дата в формате XML Schema

Преобразует дату в формат XML Schema (ISO 8601).

{{ site.time | date_to_xmlschema }}

2008-11-07T13:07:54-08:00

Дата в формате RFC-822

Преобразует дату в формат RFC-822, используемый в RSS-лентах.

{{ site.time | date_to_rfc822 }}

Mon, 07 Nov 2008 13:07:54 -0800

Дата в кратком формате

Преобразует дату в краткий формат.

{{ site.time | date_to_string }}

07 Nov 2008

Дата в кратком формате с порядковым числительным (США)

Форматирует дату в кратком американском формате с порядковым числительным. 3.8.0

{{ site.time | date_to_string: "ordinal", "US" }}

Nov 7th, 2008

Дата в полном формате

Форматирует дату в полном формате.

{{ site.time | date_to_long_string }}

07 November 2008

Дата в полном формате с порядковым числительным (Великобритания)

Форматирует дату в полном британском формате с порядковым числительным. 3.8.0

{{ site.time | date_to_long_string: "ordinal" }}

7th November 2008

Where

Выбирает из массива все объекты, у которых ключ имеет заданное значение.

{{ site.members | where:"graduation_year","2014" }}

Where Expression

Выбирает из массива все объекты, для которых выражение истинно. 3.2.0

{{ site.members | where_exp:"item", "item.graduation_year == 2014" }}

{{ site.members | where_exp:"item", "item.graduation_year < 2014" }}

{{ site.members | where_exp:"item", "item.projects contains 'foo'" }}

Find

Возвращает первый объект в массиве, атрибут которого имеет заданное значение, или nil, если ни один элемент массива не соответствует заданным критериям. 4.1.0

{{ site.members | find: "graduation_year", "2014" }}

Find Expression

Возвращает первый объект в массиве, для которого заданное выражение истинно, или nil, если ни один элемент массива не соответствует результату вычисления выражения. 4.1.0

{{ site.members | find_exp:"item", "item.graduation_year == 2014" }}

{{ site.members | find_exp:"item", "item.graduation_year < 2014" }}

{{ site.members | find_exp:"item", "item.projects contains 'foo'" }}

Group By

Группирует элементы массива по заданному свойству.

{{ site.members | group_by:"graduation_year" }}

[{"name"=>"2013", "items"=>[...]}, {"name"=>"2014", "items"=>[...]}]

Group By Expression

Группирует элементы массива с помощью выражения Liquid. 3.4.0

{{ site.members | group_by_exp: "item", "item.graduation_year | truncate: 3, ''" }}

[{"name"=>"201", "items"=>[...]}, {"name"=>"200", "items"=>[...]}]

Экранирование XML

Экранирует текст для использования в XML.

{{ page.content | xml_escape }}

Экранирование CGI

Экранирует строку для использования в URL. Заменяет специальные символы соответствующими последовательностями %XX. При экранировании CGI пробел обычно заменяется знаком плюса +.

{{ "foo, bar; baz?" | cgi_escape }}

foo%2C+bar%3B+baz%3F

Экранирование URI

Кодирует специальные символы URI с помощью процентного кодирования. При экранировании URI пробел обычно заменяется на %20. Зарезервированные символы не экранируются.

{{ "http://foo.com/?q=foo, \bar?" | uri_escape }}

http://foo.com/?q=foo,%20%5Cbar?

Количество слов

Подсчитывает количество слов в тексте.
Начиная с v4.1.0, этот фильтр принимает необязательный аргумент, который управляет обработкой китайских, японских и корейских (CJK) символов в строке input.
Если передать аргумент 'cjk', каждый обнаруженный символ CJK будет считаться отдельным словом независимо от наличия пробелов.
Аргумент 'auto' (автоопределение) работает аналогично 'cjk', но обеспечивает более высокую производительность, если фильтр применяется к переменной строке, которая может содержать или не содержать символы CJK.

{{ "Hello world!" | number_of_words }}

2

{{ "你好hello世界world" | number_of_words }}

1

{{ "你好hello世界world" | number_of_words: "cjk" }}

6

{{ "你好hello世界world" | number_of_words: "auto" }}

6

Массив в предложение

Преобразует массив в предложение. Полезно для перечисления тегов. Необязательный аргумент задаёт разделитель.

{{ page.tags | array_to_sentence_string }}

foo, bar, and baz

{{ page.tags | array_to_sentence_string: "or" }}

foo, bar, or baz

Markdownify

Преобразует строку в формате Markdown в HTML.

{{ page.excerpt | markdownify }}

Smartify

Преобразует "кавычки" в «типографские кавычки».

{{ page.title | smartify }}

Преобразование Sass/SCSS

Преобразует строку в формате Sass или SCSS в CSS.

{{ some_sass | sassify }}

{{ some_scss | scssify }}

Slugify

Преобразует строку в URL-«слаг» в нижнем регистре. Параметры описаны ниже.

{{ "The _config.yml file" | slugify }}

the-config-yml-file

{{ "The _config.yml file" | slugify: "pretty" }}

the-_config.yml-file

{{ "The _cönfig.yml file" | slugify: "ascii" }}

the-c-nfig-yml-file

{{ "The cönfig.yml file" | slugify: "latin" }}

the-config-yml-file

Данные в JSON

Преобразует хеш или массив в JSON.

{{ site.data.projects | jsonify }}

Нормализация пробелов

Заменяет каждую последовательность пробельных символов одним пробелом.

{{ "a \n b" | normalize_whitespace }}

Сортировка

Сортирует массив. Необязательные аргументы для хешей: 1. имя свойства; 2. порядок значений nil (сначала или в конце).

{{ page.tags | sort }}

{{ site.posts | sort: "author" }}

{{ site.pages | sort: "title", "last" }}

Случайный элемент

Выбирает случайное значение из массива. При необходимости можно выбрать несколько значений.

{{ site.pages | sample }}

{{ site.pages | sample: 2 }}

В целое число

Преобразует строку или логическое значение в целое число.

{{ some_var | to_integer }}

Фильтры массивов

Добавляет и удаляет элементы массива в начале и конце. Эти операции НЕ ИЗМЕНЯЮТ ИСХОДНЫЙ МАССИВ: они создают его копию и изменяют её.

{{ page.tags | push: "Spokane" }}

["Seattle", "Tacoma", "Spokane"]

{{ page.tags | pop }}

["Seattle"]

{{ page.tags | shift }}

["Tacoma"]

{{ page.tags | unshift: "Olympia" }}

["Olympia", "Seattle", "Tacoma"]

Инспекция

Преобразует объект в строковое представление для отладки.

{{ some_var | inspect }}

Параметры фильтра slugify

Фильтр slugify принимает параметр, указывающий, какие символы нужно отфильтровать. По умолчанию используется default. Доступны следующие варианты (и соответствующие им фильтруемые символы):

  • none: никакие символы
  • raw: пробелы
  • default: пробелы и неалфавитно-цифровые символы
  • pretty: пробелы и неалфавитно-цифровые символы, кроме ._~!$&'()+,;=@
  • ascii: пробелы, неалфавитно-цифровые символы и символы, не входящие в ASCII
  • latin: как default, но сначала выполняется транслитерация латинских символов (например, àèïòü в aeiou)3.7.0 .

Обнаружение значений nil с помощью фильтра where4.0

С помощью фильтра where можно находить документы и страницы со свойствами, равными nil или "". Например:

// Using `nil` to select posts that either do not have `my_prop`
// defined or `my_prop` has been set to `nil` explicitly.
{% assign filtered_posts = site.posts | where: 'my_prop', nil %}
// Using Liquid's special literal `empty` or `blank` to select
// posts that have `my_prop` set to an empty value.
{% assign filtered_posts = site.posts | where: 'my_prop', empty %}

Бинарные операторы в фильтре where_exp4.0

В выражении, передаваемом фильтру where_exp, можно использовать бинарные операторы Liquid or и and, чтобы задать несколько условий.

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

{{ site.movies | where_exp: "item", "item.genre == 'horror' and item.language == 'English'" }}

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

{{ site.movies | where_exp: "item", "item.sub_genre == 'MCU' or item.sub_genre == 'DCEU'" }}

Стандартные фильтры Liquid

Для удобства ниже приведён список всех фильтров Liquid со ссылками на примеры в официальной документации Liquid.

  • abs

  • append

  • at_least

  • at_most

  • capitalize

  • ceil

  • compact

  • concat

  • date

  • default

  • divided_by

  • downcase

  • escape

  • escape_once

  • first

  • floor

  • join

  • last

  • lstrip

  • map

  • minus

  • modulo

  • newline_to_br

  • plus

  • prepend

  • remove

  • remove_first

  • replace

  • replace_first

  • reverse

  • round

  • rstrip

  • size

  • slice

  • sort

  • sort_natural

  • split

  • strip

  • strip_html

  • strip_newlines

  • times

  • truncate

  • truncatewords

  • uniq

  • upcase

  • url_decode

  • url_encode

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

Spec-Zone.ru

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