液体过滤器相同的项目?

Liquid filter same of item?

我是 Jekyll 和 Liquid 的新手,我一直在尝试使用一个包含 100 多个页面并分为 15 个模块的网站。我需要导航只反映到相关页面,但我坚持如何有效地做到这一点。例如,目录如下:

animal-species/
├── _docs/
│   ├── mammals/
│   │  ├── mam-page01.md
│   │  └── mam-page02.md
│   ├── reptiles/
│   │  ├── rep-page01.md
│   │  └── rep-page02.md

设置页数:

title: Mammals Overview
module: mammals
---

docs.yml:

- module: mammals
    title: Section Title
    docs:
     - mam-page01
     - mam-page02
- module: reptiles
    title: Section Title
    docs:
     - rep-page01
     - rep-page02

在我的 nav.html 文件中,我尝试使用 {% for section in site.data.docs | where page.module == page.module %}page.module == section.module 进行排序,但没有成功。我也尝试过使用 3.7.0 和 collections_dir: 创建嵌套集合,同样失败。每个页面在所有导航中都可以相互访问:

站点导航

如何将导航设置为只显示相同模块的页面?我有 15 个模块,并且具有某种全局排序功能,而无需为所有子目录编写代码。

感谢您的help/patience!我对此很陌生。

我已经绕过一个集合目录并_config.yml重组但通过分配输出添加了额外的变量:

{% assign docs = site.data.docs[page.module] | map: 'docs' | join: ',' | split: ',' %}

{% for document in docs %}
  {% assign dir = page.module | prepend: "/" | append: "/" %}
  {% assign document_url = document | prepend: {{dir}} | append:"/" %}
  {% if document_url == page.url %}

"Previous"/"Next" 按钮只会 link 到具有相同模块的项目。一个简单的解决方案,让我永远无法预测。