Найти элемент в файле _data yaml для извлечения предков (для хлебных крошек) и потомков (для подстраниц) - PullRequest
0 голосов
/ 11 июня 2019

Я строю навигацию для своего сайта Jekyll (который будет размещен на страницах GitHub). Это включает 3 части:

  1. Главное дерево навигации
  2. Панировочные сухари на каждой странице
  3. Список дочерних страниц, если таковые имеются, на каждой странице

Страницы сайта могут иметь глубину 3-4 уровня. Хотя сначала я создавал скрипт для динамического построения навигации, сейчас я экспериментирую с определением навигации в файле данных yaml. Вот пример файла данных с именем menu.yml:

- link: fruit
  menu:
    - link: bananas
    - link: kiwi
    - link: apples
       menu:
         - link: red-delicious
         - link: gala
    - link: watermelon
- link: shapes
  menu:
    - link: circle
    - link: square
    - link: triangle

Каждая страница имеет переменную "link", определенную в начале статьи.

Мой вопрос: Каков наилучший способ извлечения предков и потомков, знающих переменную «link» для данной страницы (скажем, «apple», например).

В настоящее время я перебираю каждый элемент (и каждое меню для каждого элемента), чтобы найти совпадение. Это работает, но меня беспокоит время создания страницы, так как я должен сделать это для каждой страницы как минимум 3 раза. На этом сайте размещена документация объемом от 500 до 1000 страниц. И мне просто любопытно узнать, является ли это лучшим способом. С моей точки зрения кажется, что для этого была бы встроенная функция (либо через Jekyll, либо через Liquid). Или есть лучший способ сделать это динамически, без файла данных yaml? Любая помощь приветствуется!

...