Изучение различных методов получения родительского URL-пути коллекции в Jekyll

В Jekyll, популярном генераторе статических сайтов, коллекции позволяют упорядочивать и группировать связанный контент. Иногда вам может потребоваться получить родительский URL-путь коллекции для различных целей, например для создания меню навигации или создания хлебных крошек. В этой статье мы рассмотрим несколько методов решения этой задачи, а также приведем примеры кода.

Метод 1: использование переменной site.
Jekyll предоставляет переменную site, содержащую информацию о вашем сайте, включая коллекции. Вы можете получить доступ к коллекциям, используя site.collections. Вот пример фрагмента кода для получения родительского URL-пути:

{% raw %}
{% assign collection = site.collections | where: "label", "your_collection_label" | first %}
{% assign parent_url = collection.relative_directory | remove: "_your_collection" %}
{% endraw %}

Объяснение:

  • Фильтр whereиспользуется для поиска коллекции с указанным ярлыком.
  • Атрибут relative_directoryпредставляет относительный путь к коллекции.
  • Фильтр removeудаляет из пути префикс «_your_collection».

Метод 2: использование переменной page.
Другой подход заключается в использовании переменной page, которая содержит информацию о текущей отображаемой странице. Вот пример фрагмента кода:

{% raw %}
{% assign parent_url = page.url | split: "/" | reverse | drop: 1 | reverse | join: "/" %}
{% endraw %}

Объяснение:

  • Фильтр splitразделяет page.urlпо “/” на массив.
  • Фильтр reverseинвертирует массив.
  • Фильтр dropудаляет последний элемент (имя файла текущей страницы).
  • Фильтр reverseвозвращает массив в исходный порядок.
  • Фильтр joinобъединяет элементы массива с помощью «/» для формирования родительского URL-пути.

Метод 3. Анализ URL-адреса с помощью JavaScript
Если вы предпочитаете решение на стороне клиента, вы можете использовать JavaScript для извлечения родительского пути URL-адреса. Вот пример фрагмента кода:

var pathArray = window.location.pathname.split('/');
pathArray.pop();
var parentUrl = pathArray.join('/');

Объяснение:

  • Свойство window.location.pathnameвозвращает путь к текущему URL-адресу.
  • Метод splitразбивает путь по символу «/» на массив.
  • Метод popудаляет последний элемент (имя файла текущей страницы).
  • Метод joinобъединяет элементы массива с помощью «/» для формирования родительского URL-пути.

В этой статье мы рассмотрели три различных метода получения родительского URL-пути коллекции в Jekyll. Вы можете выбрать метод, который соответствует вашим требованиям и предпочтениям в кодировании. Понимая эти методы, вы сможете улучшить свои проекты Jekyll, используя возможности URL-адресов для навигации, навигации или любых других необходимых функций.

Не забудьте оптимизировать SEO своего веб-сайта, включив в него релевантные ключевые слова и метатеги, чтобы улучшить видимость и рейтинг в органическом поиске.