son*_*gyy 7 jekyll jekyll-extensions jekyll-bootstrap
我认为管理Jekyll页面的本地方式,即通过在根文件夹下创建.md文件/文件夹,有点乱.
因此,我想将我想要显示的每个页面放入名为"pages"的文件夹中.另外,我希望这些页面具有级联结构:如果我的文件夹具有以下结构:
pages
|-> parent1
|-> index.html
|-> son1.html
|-> son2.html
|-> parent2
|-> index.html
Run Code Online (Sandbox Code Playgroud)
然后在页面列表页面中,它应该是这样的:
page listing
* parent1
* son1
* son2
* parent2
Run Code Online (Sandbox Code Playgroud)
此外,不在页面文件夹下的其他*.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
Run Code Online (Sandbox Code Playgroud)
=> 这样,您的文件将在类别“parent1”和“parent2”中发布,您可以通过显示类别及其内容来创建列表。
如果你真的想在不使用帖子和类别的情况下显示树结构,那么你将需要做更多的黑魔法。但幸运的是,Liquid 提供了一个split过滤器,您可以使用它来将站点的路径分割成块,例如
{% for page in site.pages %}
{{ page.url | split:'/' | join:'+'}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
您不想加入它们(这纯粹是为了演示),而是希望填充一个保存树结构的数组,然后迭代该数组以显示目录树。这是可能的,但并不容易。而且我认为没有现成的东西。
可能编写插件更容易。
| 归档时间: |
|
| 查看次数: |
1247 次 |
| 最近记录: |