Пермалинки
Пермалинки — это выходной путь для ваших страниц, записей или коллекций. Они позволяют структурировать каталоги вашего исходного кода иначе, чем каталоги в выходных данных.
Метаданные
Самый простой способ установить пермалинк — использовать метаданные. Вы устанавливаете переменную 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), эти аспекты стиля пермалинков игнорируются для выходных данных.
Например, стиль пермалинка /:categories/:year/:month/:day/:title:output_ext для коллекции posts становится /:title.html для страниц и коллекций (исключая posts и drafts).
Плейсхолдеры
Вот полный список доступных плейсхолдеров:
| Переменная | Описание |
|---|---|
|
| Год из имени файла записи с четырьмя цифрами. Может быть переопределён через |
|
| Год из имени файла записи без столетия. (00..99) Может быть переопределён через |
|
| Месяц из имени файла записи. (01..12) Может быть переопределён через |
|
| Месяц из имени файла записи без ведущих нулей. Может быть переопределён через |
|
| Сокращённое название месяца (3 буквы), например «Янв». |
|
| Полное название месяца, например «Январь». |
|
| День месяца из имени файла записи. (01..31) Может быть переопределён через |
|
| День месяца из имени файла записи без ведущих нулей. Может быть переопределён через |
|
| Порядковый номер дня в году из имени файла записи с ведущими нулями. (001..366) |
|
| Год недели, который может отличаться от года месяца на срок до трех дней в начале января и конце декабря |
|
| Номер недели текущего года, начиная с первой недели, большинство дней которой находятся в январе. (01..53) |
|
| День недели, начиная с понедельника. (1..7) |
|
| Сокращённое название дня недели (3 буквы), например «Вс». |
|
| Полное название дня недели, например «Воскресенье». |
|
| Час суток, 24-часовой формат, с ведущими нулями, из |
|
| Минута из |
|
| Секунда из |
|
| Заголовок из имени файла документа. Может быть переопределён через |
|
| Заголовок в формате «slug» из имени файла документа (любой символ, кроме цифр и букв, заменяется на дефис). Может быть переопределён через |
|
| Указанные категории для этой записи. Если запись имеет несколько категорий, Jekyll создаст иерархию (например, |
|
| Указанные категории для этой записи, но в формате «slug». Если категория состоит из нескольких слов, 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, он будет проигнорирован.
Для страниц доступны следующие плейсхолдеры:
| Переменная | Описание |
|---|---|
|
| Путь к странице относительно исходного каталога сайта, без базового имени файла страницы. |
|
| Базовое имя файла страницы |
|
| Расширение выходного файла. (Включается по умолчанию и обычно не требуется.) |
© 2020 Jekyll Core Team and contributors
Licensed under the MIT license.
https://jekyllrb.com/docs/permalinks/