我是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个模块,并且具有某种全局排序功能,而不必为所有子目录编写代码。
感谢您的帮助/耐心!我对此很绿色。
答案 0 :(得分:0)
我绕过了collections目录并进行了_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 %}
“上一个” /“下一个”按钮将仅链接到具有相同模块的项目。一个简单的解决方案使我永远神往。