Jekyll обходит ваш сайт в поисках файлов для обработки. Любые файлы с вводной рассматриваются как требующие обработки. Для каждого из этих файлов Jekyll благодаря возможностям шаблонизатора Liquid делает доступными различные данные. Вот список этих данных.
Глобальные переменные
Переменная | Описание |
site | Глобальные данные сайта + настройки конфигурации из _config.yml . Будет подробно описана ниже. |
page | Данные страницы + YAML вводная. Делает доступными собственные переменные, созданные во вводной. Будет подробно описана ниже. |
content | Используется в файлах макета при выводе контента для рендеринга. В файлах поста или страницы не определена. |
paginator | Доступна при активации в конфигурации разбиения на страницы. Подробности в разделе “Разбивка на страницы” |
Переменные сайта
Переменная | Описание |
site.time | Текущее время (на время выполнения команды). |
site.pages | Список всех страниц. |
site.posts | Список всех постов в обратном хронологическом порядке. |
site.related_posts | Если страница обработана как пост, эта переменная содержит список из десяти связанных постов. По умолчанию эта выборка не слишком точная, но быстрая. Для более точных результатов (но с более долгим расчетом) запускайте команду jekyll с опцией --lsi (скрытое семантическое индексирование). |
site.static_files | Список всех статических файлов (т.е. файлов не обработанных конвертерами Jekyll или рендерером Liquid). У каждого файла есть три свойства: path , modified_time и extname . |
site.html_pages | Список всех файлов с расширением HTML из site.pages . |
site.html_files | Список всех файлов с расширением HTML из site.static_files |
site.collections | Список всех коллекций. |
site.data | Список данных, загруженных из файлов YAML из каталога _data . |
site.documents | Список всех документов в каждой коллекции. |
site.categories.CATEGORY | Список всех постов указанной категории CATEGORY . |
site.tags.TAG | Список всех постов с тегом TAG . |
site.[CONFIGURATION_DATA] | все переменные, заданные из командной строки или файла _config.yml доступны через переменную site . Например, если в вашем конфиге есть url: http://mysite.com , в ваших постах и страницах он будет доступен как site.url. Jekyll не отслеживает изменения в _config.yml в режиме наблюдения, для работы с новыми значениями переменных Jekyll надо перезапустить. |
Переменные страницы
Переменная | Описание |
page.content | Контент страницы, отрендеренный или нет в зависимости от того, обработан ли он Liquid и типа страницы. |
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 (с поправкой временной зоны, например: 2008-12-14 10:30:00 +0900 ). |
page.id | Уникальный идентификатор поста (полезен в RSS фидах), например /2008/12/14/my-post . |
page.categories | Список категорий поста. Категории берутся из структуры каталогов выше местонахождения поста в _posts . Например, пост находящийся в /work/code/_posts/2008-12-24-closures.md будет иметь следующие категории — [work , code ]. Также категории можно задать во вводной YAML . |
page.tags | Список тегов поста. Определяется во вводной YAML. |
page.path | Путь к исходному посту или страницы. Пример использования: ссылка на исходник страницы или поста на GitHub. Может быть переписан во вводной YAML. |
page.next | Следующий по отношению к текущему пост в site.posts . В последнем посте возвращает nil . |
page.previous | Предыдущий по отношению к текущему пост в site.posts . В первом посте возвращает nil . |
Совет: используйте собственные вводные
Любая ваша вводная будут доступна через page
. Например, если вы определите во вводной страницы custom_css: true
значение будет доступно через page.custom_css
.
Переменные для разбития на страницы
Переменная | Описание |
paginator.per_page | Количество постов на странице. |
paginator.posts | Посты, доступные для этой страницы. |
paginator.total_posts | Общее количество постов. |
paginator.total_pages | Общее количество страниц. |
paginator.page | Номер текущей страницы. |
paginator.previous_page | Номер предыдущей страницы. |
paginator.previous_page_path | Путь к предыдущей странице. |
paginator.next_page | Номер следующей страницы. |
paginator.next_page_path | Путь к следующей странице. |
Доступность переменных для разбития на страницы
Они доступны только в индексных файлах, но могут располагаться и в подкаталогах, например: /blog/index.html
.