Spec-Zone.ru › Jekyll 4

Переменные

Jekyll проходит по вашему сайту, ища файлы для обработки. Любые файлы с данными подлежат обработке. Для каждого из этих файлов Jekyll делает доступными различные данные через Liquid. Ниже приведён справочник доступных данных.

Глобальные переменные

Переменная Описание

site

Справочная информация о сайте + параметры конфигурации из _config.yml. Подробности см. ниже.

page

Информация о конкретной странице + данные. Пользовательские переменные, заданные через данные, будут здесь доступны. Подробности см. ниже.

layout

Информация о конкретном шаблоне + данные. Пользовательские переменные, заданные через данные в шаблонах, будут здесь доступны.

content

В файлах шаблонов — рендеренный контент поста или страницы, которые они обертывают. Не определено в файлах постов или страниц.

paginator

Когда параметр конфигурации paginate задан, эта переменная становится доступной для использования. Подробности см. в разделе Пагинация.

Переменные сайта

Переменная Описание

site.time

Текущее время (когда вы выполняете команду jekyll).

site.pages

Список всех страниц.

site.posts

Обратный хронологический список всех постов.

site.related_posts

Если обрабатываемая страница — пост, она содержит список до десяти связанных постов. По умолчанию — десять последних постов. Для высококачественных, но медленных результатов, выполните команду jekyll с параметром --lsi (латентный семантический индексирование). Обратите внимание, что GitHub Pages не поддерживает опцию lsi при генерации сайтов.

site.static_files

Список всех статических файлов (т.е. файлов, не обрабатываемых преобразователями Jekyll или рендерером Liquid). Каждый файл имеет пять свойств: path, modified_time, name, basename и extname.

site.html_pages

Подмножество site.pages, содержащее те, которые заканчиваются на .html.

site.html_files

Подмножество site.static_files, содержащее те, которые заканчиваются на .html.

site.collections

Список всех коллекций (включая посты).

site.data

Список данных, загруженных из файлов YAML, расположенных в каталоге _data.

site.documents

Список всех документов во всех коллекциях.

site.categories.CATEGORY

Список всех постов в категории CATEGORY.

site.tags.TAG

Список всех постов с тегом TAG.

site.url

Содержит URL вашего сайта, как он настроен в _config.yml. Например, если у вас есть url: http://mysite.com в файле конфигурации, то он будет доступен в Liquid как site.url. В среде разработки существует исключение, если вы запускаете jekyll serve в среде разработки, site.url будет установлено на значение host, port, и SSL-связанные параметры. По умолчанию — url: http://localhost:4000.

site.[CONFIGURATION_DATA]

Все переменные, заданные через командную строку и ваш _config.yml, доступны через переменную site. Например, если у вас есть foo: bar в файле конфигурации, то он будет доступен в Liquid как site.foo. Jekyll не обрабатывает изменения в _config.yml в режиме watch, вам необходимо перезапустить Jekyll, чтобы увидеть изменения переменных.

Переменные страницы

Переменная Описание

page.content

Содержание страницы, рендеренное или не рендеренное в зависимости от того, что обрабатывает Liquid и что такое page.

page.title

Заголовок страницы.

page.excerpt

Необработанный фрагмент документа.

page.url

URL поста без домена, но с ведущим слешем, например, /2008/12/14/my-post.html.

page.date

Дата, назначенная посту. Это можно переопределить в данных поста, указав новую дату/время в формате YYYY-MM-DD HH:MM:SS (предполагается UTC) или YYYY-MM-DD HH:MM:SS +/-TTTT (для указания часового пояса с помощью смещения от UTC. Например, 2008-12-14 10:30:00 +0900).

page.id

Уникальный идентификатор документа в коллекции или поста (полезен в RSS-лентах). Например, /2008/12/14/my-post/my-collection/my-document

page.categories

Список категорий, к которым относится этот пост. Категории выводятся из структуры каталогов над каталогом _posts. Например, пост по адресу /work/code/_posts/2008-12-24-closures.md будет иметь это поле, установленное на ['work', 'code']. Их также можно указать в данных.

page.collection

Имя метки коллекции, к которой принадлежит этот документ. Например, posts для поста или puppies для документа по пути _puppies/rover.md. Если документ не принадлежит к коллекции, возвращается пустая строка.

page.tags

Список тегов, к которым относится этот пост. Их также можно указать в данных.

page.dir

Путь между исходным каталогом и файлом поста или страницы, например, /pages/. Это можно переопределить с помощью permalink в данных.

page.name

Имя файла поста или страницы, например, about.md.

page.path

Путь к исходному посту или странице. Пример использования: ссылка обратно на исходный пост или страницу на GitHub. Это можно переопределить в данных.

page.next

Следующий пост, относительно позиции текущего поста в site.posts. Возвращает nil для последней записи.

page.previous

Предыдущий пост, относительно позиции текущего поста в site.posts. Возвращает nil для первой записи.

Совет: Используйте пользовательские данные

Любые пользовательские данные, которые вы укажете, будут доступны в page. Например, если вы укажете custom_css: true в данных страницы, это значение будет доступно как page.custom_css.

Если вы укажете данные в шаблоне, обратитесь к ним через layout. Например, если вы укажете class: full_page в данных шаблона, это значение будет доступно как layout.class в шаблоне и его родительских элементах.

Пагинатор

Переменная Описание

paginator.page

Номер текущей страницы

paginator.per_page

Количество постов на странице

paginator.posts

Посты, доступные для текущей страницы

paginator.total_posts

Общее количество постов

paginator.total_pages

Общее количество страниц

paginator.previous_page

Номер предыдущей страницы или nil, если предыдущей страницы нет

paginator.previous_page_path

Путь к предыдущей странице или nil, если предыдущей страницы нет

paginator.next_page

Номер следующей страницы или nil, если следующей страницы нет

paginator.next_page_path

Путь к следующей странице или nil, если следующей страницы нет

Доступность переменных пагинатора

Эти переменные доступны только в файлах индекса, однако они могут находиться в подкаталоге, например, /blog/index.html.

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

Spec-Zone.ru

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