При работе с Jekyll, популярным генератором статических сайтов, вы можете столкнуться со сценариями, в которых вам необходимо получить родительский URL-путь коллекции. Этот родительский URL-путь может быть полезен для различных целей, например для создания навигационных ссылок или создания хлебных крошек. В этой статье мы рассмотрим несколько способов достижения этой цели, сопровождаемые примерами кода.
Метод 1: использование фильтров Liquid
Jekyll использует Liquid в качестве языка шаблонов, который предоставляет набор полезных фильтров. Одним из таких фильтров является фильтр split
, который разбивает строку на массив на основе разделителя. Мы можем использовать этот фильтр для извлечения родительского URL-пути.
{% assign url_parts = page.url | split: '/' %}
{% assign parent_url = url_parts | reverse | drop: 1 | reverse | join: '/' %}
Parent URL Path: {{ parent_url }}
Метод 2: использование переменных Liquid
Jekyll предоставляет различные переменные Liquid, к которым можно получить доступ в шаблонах. Одной из таких переменных является page.url
, которая содержит URL-адрес текущей страницы. Манипулируя этой переменной, мы можем получить родительский URL-путь.
{% assign parent_url = page.url | remove_first: page.slug %}
Parent URL Path: {{ parent_url }}
Метод 3: пользовательская функция JavaScript
Jekyll позволяет включать код JavaScript в шаблоны. Мы можем определить специальную функцию JavaScript для извлечения родительского URL-пути.
{% assign parent_url = '' %}
<script>
function getParentURL(url) {
var parts = url.split('/');
parts.pop();
return parts.join('/');
}
parent_url = getParentURL('{{ page.url }}');
</script>
Parent URL Path: {{ parent_url }}
Метод 4: использование тега url_for
Jekyll предоставляет тег url_for
, который генерирует URL-адрес для данного ресурса. Мы можем использовать этот тег для получения родительского URL-пути.
{% assign parent_url = url_for collection.label %}
Parent URL Path: {{ parent_url }}
В этой статье мы рассмотрели несколько методов получения родительского URL-пути коллекции в Jekyll. Мы обсудили использование фильтров Liquid, манипулирование переменными Liquid, включение пользовательских функций JavaScript и использование тега url_for
. Каждый метод обеспечивает гибкость и может быть адаптирован в соответствии с различными требованиями. Понимая эти методы, вы сможете улучшить свои проекты Jekyll за счет динамического создания URL-адресов и улучшения навигации.