我认为管理Jekyll页面的本地方式,即在根文件夹下创建.md文件/文件夹,有点乱。
因此,我想将我想要显示的每个页面放入名为“pages”的文件夹中。另外,我希望这些页面具有级联结构:如果我的文件夹具有以下结构:
pages
|-> parent1
|-> index.html
|-> son1.html
|-> son2.html
|-> parent2
|-> index.html
然后在页面列表页面中,它应该是这样的:
page listing
* parent1
* son1
* son2
* parent2
此外,不在页面文件夹下的其他* .html文件不应显示在此页面列表页面中。
我该怎么做?
非常感谢。
答案 0 :(得分:1)
没有什么能阻止你这样做。在上面的场景中,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 %}
不是加入它们(这纯粹是为了演示),你需要填充一个包含树结构的数组,然后在该数组上迭代以显示目录树。这是可能的,但并不容易。而且我认为没有现成的东西。
可能更容易编写插件。