Spec-Zone.ru › Jekyll 4

Переменные

Jekyll обходит ваш сайт в поисках файлов для обработки. Все файлы с начальными данными подлежат обработке. Для каждого такого файла Jekyll предоставляет различные данные через Liquid. Ниже приведен справочник доступных данных.

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

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

site

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

page

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

layout

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

jekyll

Здесь доступна информация, относящаяся к Jekyll. Подробности приведены ниже.

theme

Информация о гем-пакете темы, заданная в gemspec темы. Например, она полезна для вывода информации на странице «О проекте» демонстрационного сайта темы. Подробности приведены ниже.

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

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

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/, если страница находится по пути pages/about.md относительно исходного каталога. Это значение определяется атрибутом страницы url, поэтому его можно переопределить с помощью ключа permalink в начальных данных. ПРИМЕЧАНИЕ: Эта переменная не применяется к сообщениям и документам в пользовательских коллекциях. Для получения аналогичной информации о сообщениях используйте переменную categories.

page.name

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

page.path

Путь к исходному файлу сообщения или страницы относительно исходного каталога. Пример использования: объедините URL blob репозитория с этой переменной страницы, чтобы получить полный URL файла в репозитории. Это значение можно переопределить в начальных данных.

page.slug

Имя файла ресурса документа без расширения (или префиксов с датой для сообщения). Например, слаг для сообщения с URL /2017/02/22/my-new-post.html будет иметь значение my-new-post. Его можно переопределить в начальных данных.

page.ext

Расширение файла ресурса документа, например .html. Его можно переопределить в начальных данных.

page.next

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

page.previous

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

Совет профи™: используйте пользовательские начальные данные

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

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

Переменные Jekyll

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

jekyll.version

Версия Jekyll, использованная для создания сайта.

jekyll.environment

Значение, присвоенное переменной окружения JEKYLL_ENV во время сборки.

Переменные темы4.3.0

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

theme.root

Абсолютный путь к гем-пакету темы. Выводится только при условии, что переменная окружения JEKYLL_ENV имеет значение development.

theme.authors

Строка с именами авторов гем-пакета темы, разделенными запятыми.

theme.description

Описание или краткое изложение сведений о гем-пакете темы, заданное в gemspec темы.

theme.version

Строка с версией текущей темы.

theme.dependencies

Список зависимостей темы, необходимых во время выполнения.

theme.metadata

Соответствие пар «ключ — значение», заданное в gemspec темы.

Пагинатор

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

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.

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

Spec-Zone.ru

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