在_data yaml文件中查找项目以检索祖先(用于面包屑)和后代(用于子页面)

时间:2019-06-10 21:48:08

标签: yaml jekyll liquid

我正在为我的Jekyll网站(将在GitHub Pages上托管)构建导航。这包括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”变量(例如“ apples”)的祖先和后代的最佳方法。

我目前正在遍历每个项目(以及每个项目的每个菜单)以找到匹配项。这可行,但是我担心页面的构建时间,因为我必须为每个页面至少执行3次。该站点托管的文档可能在500至1000页之间。我只是好奇地想知道这是否是最好的方法。从我的角度来看,似乎将有一个内置函数来执行此操作(通过Jekyll或Liquid)。还是有更好的方法来动态地执行此操作,而无需数据Yaml文件?任何帮助表示赞赏!

0 个答案:

没有答案