Постоянные ссылки
Постоянные ссылки — это пути вывода для ваших страниц, записей или коллекций. Они позволяют задавать структуру каталогов исходного кода, отличную от структуры каталогов в выходных данных.
Начальные данные
Самый простой способ задать постоянную ссылку — использовать начальные данные. Укажите переменную permalink в начальных данных, задав путь вывода, который вам нужен.
Например, на вашем сайте может быть страница по адресу /my_pages/about-me.html, для которой вы хотите задать URL вывода /about/. В начальных данных страницы укажите:
--- permalink: /about/ ---
Глобальные настройки
Задавать постоянную ссылку в начальных данных для каждой страницы сайта — не самое удобное решение. К счастью, Jekyll позволяет задать структуру постоянных ссылок глобально в _config.yml.
Чтобы задать глобальную постоянную ссылку, используйте переменную permalink в _config.yml. Для желаемого пути вывода можно использовать заполнители. Например:
permalink: /:categories/:year/:month/:day/:title:output_ext
Обратите внимание, что у страниц и коллекций (за исключением posts и drafts) нет времени и категорий (для страниц приведённое выше :title эквивалентно :basename), поэтому эти составляющие формата постоянной ссылки игнорируются при формировании выходных данных.
Например, для коллекции posts формат постоянной ссылки /:categories/:year/:month/:day/:title:output_ext преобразуется в /:title.html для страниц и коллекций (за исключением posts и drafts).
Заполнители
Полный список доступных заполнителей:
| Переменная | Описание |
|---|---|
| Год из имени файла записи, состоящий из четырёх цифр. Может быть переопределён с помощью начальных данных документа |
| Год из имени файла записи без указания столетия. (00..99) Может быть переопределён с помощью начальных данных документа |
| Месяц из имени файла записи. (01..12) Может быть переопределён с помощью начальных данных документа |
| Месяц из имени файла записи без ведущих нулей. Может быть переопределён с помощью начальных данных документа |
| Сокращённое название месяца из трёх букв, например, "Jan". |
|
| Полное название месяца, например, "January". |
| День месяца из имени файла записи. (01..31) Может быть переопределён с помощью начальных данных документа |
| День месяца из имени файла записи без ведущих нулей. Может быть переопределён с помощью начальных данных документа |
| Порядковый день года из имени файла записи, с ведущими нулями. (001..366) |
|
| Год недели, который может отличаться от года месяца на срок до трёх дней в начале января и конце декабря |
|
| Номер недели текущего года, начиная с первой недели, большинство дней которой приходится на январь. (01..53) |
|
| День недели, начиная с понедельника. (1..7) |
|
| Сокращённое название дня недели из трёх букв, например, "Sun". |
|
| Название дня недели, например, "Sunday". |
| Час дня в 24-часовом формате, с ведущим нулём, из начальных данных записи |
| Минута часа из начальных данных записи |
| Секунда минуты из начальных данных записи |
| Заголовок из имени файла документа. Может быть переопределён с помощью начальных данных документа |
| Заголовок из имени файла документа, преобразованный в слаг (любой символ, кроме цифр и букв, заменяется дефисом). Может быть переопределён с помощью начальных данных документа |
| Указанные категории этой записи. Если у записи несколько категорий, Jekyll создаст иерархию (например, |
|
| Указанные категории этой записи, преобразованные в слаг. Если категория состоит из нескольких слов, Jekyll преобразует все буквы в нижний регистр и заменяет любой не буквенно-цифровой символ дефисом. (Например, |
| Расширение выходного файла. (Добавляется по умолчанию и обычно не требует указания.) |
Встроенные форматы
Для записей Jekyll также предоставляет следующие встроенные форматы:
| Формат постоянной ссылки | Шаблон URL |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Вместо того чтобы вводить permalink: /:categories/:year/:month/:day/:title/, можно просто ввести permalink: pretty.
Указание постоянных ссылок в начальных данных
Встроенные форматы постоянных ссылок не распознаются в начальных данных. Поэтому
permalink: prettyне будет работать.
Коллекции
Для коллекций (включая posts и drafts) можно переопределить глобальную постоянную ссылку в настройках коллекции в _config.yml:
collections:
my_collection:
output: true
permalink: /:collection/:name
Для коллекций доступны следующие заполнители:
| Переменная | Описание |
|---|---|
| Метка содержащей документ коллекции. |
| Путь к документу относительно каталога коллекции, включая базовое имя файла документа. Не включает расширение файла. |
| Базовое имя файла документа, преобразованное в слаг: буквы преобразуются в нижний регистр, а последовательности не буквенно-цифровых символов (включая пробелы) заменяются дефисом. |
| Принимает значение ключа начальных данных |
| Расширение выходного файла. (Добавляется по умолчанию и обычно не требует указания.) |
Страницы
Для страниц необходимо использовать начальные данные, чтобы переопределить глобальную постоянную ссылку. Если задать постоянную ссылку с помощью значений по умолчанию для начальных данных в _config.yml, она будет проигнорирована.
Для страниц доступны следующие заполнители:
| Переменная | Описание |
|---|---|
| Путь между исходным каталогом и базовым именем файла страницы. |
| Базовое имя файла страницы. |
| Расширение выходного файла. (Добавляется по умолчанию и обычно не требует указания.) |
© 2025 Jekyll Core Team and contributors
Licensed under the MIT license.
https://jekyllrb.com/docs/permalinks/