我认为管理 Jekyll 页面的本机方式,即通过在根文件夹下创建 .md 文件/文件夹,有点混乱。
因此,我想将我想要显示的每个页面放入名为“pages”的文件夹中。此外,我希望这些页面具有级联结构:假设我的文件夹具有以下结构:
pages
|-> parent1
|-> index.html
|-> son1.html
|-> son2.html
|-> parent2
|-> index.html
然后在页面列表页面中,它应该是这样的:
page listing
* parent1
* son1
* son2
* parent2
此外,不在页面文件夹下的其他 *.html 文件不应显示在此页面列表页面中。
我该怎么做呢?
多谢。
没有什么可以阻止你这样做。在上述场景中,yourdomain.tld/pages/prent1/son1.html 将是parent1/son1 文件的URL。
然而,创建嵌套列表会更加复杂。您可以在 YAML Front Matter 中对该结构进行 epscify,或者使用帖子。
pages
|-> parent1
|-> _posts/
|-> index.html
|-> son1.html
|-> son2.html
|-> parent2
|->_posts
|-> index.html
=> 这样,您的文件将在类别“parent1”和“parent2”中发布,您可以通过显示类别及其内容来创建列表。
如果你真的想在不使用帖子和类别的情况下显示树结构,那么你将需要做更多的黑魔法。但幸运的是,Liquid 提供了split
您可以使用过滤器将站点的路径分割成块,例如
{% for page in site.pages %}
{{ page.url | split:'/' | join:'+'}}
{% endfor %}
您不想加入它们(这纯粹是为了演示),而是希望填充一个保存树结构的数组,然后迭代该数组以显示目录树。这是可能的,但并不容易。而且我认为没有现成的东西。
可能编写插件更容易。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)