Loops 循环浏览liquid中的目录及其子目录文件
我对liquid templating language是一个新手,因为我正在开发的网站由jekyll提供支持,我们发布帖子,有时发布一系列帖子,所以我们在_posts目录中为系列帖子创建一个子目录。如果我不知道它们的名称或编号,我可以循环浏览目录中的所有文件吗? 我的文件树: 根 | _职位/ | post1.md post2.md 系列名称/ |Loops 循环浏览liquid中的目录及其子目录文件,loops,liquid,Loops,Liquid,我对liquid templating language是一个新手,因为我正在开发的网站由jekyll提供支持,我们发布帖子,有时发布一系列帖子,所以我们在_posts目录中为系列帖子创建一个子目录。如果我不知道它们的名称或编号,我可以循环浏览目录中的所有文件吗? 我的文件树: 根 | _职位/ | post1.md post2.md 系列名称/ | post3.md你的问题的简短答案是肯定的 解决方案 将引导您显示所有_帖子的索引。具体来说,您将需要以下内容: <ul> {%
post3.md你的问题的简短答案是肯定的 解决方案 将引导您显示所有_帖子的索引。具体来说,您将需要以下内容:
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
在这里您可以清楚地看到,子目录不会出现在最终站点的任何位置
额外学分
您可以使用{{post.path}}和一些仔细的字符串操作来检索原始目录结构。但是,此时,在您的应用程序中设置Category属性可能更容易。可以使用{category}检索category属性
纯粹作为一个学术练习,我继续检索目录
您可以决定这是否有用。您的问题的简短答案是肯定的 解决方案 将引导您显示所有_帖子的索引。具体来说,您将需要以下内容:
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
在这里您可以清楚地看到,子目录不会出现在最终站点的任何位置
额外学分
您可以使用{{post.path}}和一些仔细的字符串操作来检索原始目录结构。但是,此时,在您的应用程序中设置Category属性可能更容易。可以使用{category}检索category属性
纯粹作为一个学术练习,我继续检索目录
你可以决定这是否有用。我真的不知道这是否有用,但我还是会写下我的解决方案,只是因为我没有找到一个快速的解释 要遍历文件,只需在_config.yml文件中添加以下代码段: 之后,您可以像下面这样调用for循环: 注意:请注意,您的文件位于根目录中,在本例中,例如_articles/article01.md 范例
您可以在本教程中看到该行为,但没有在_config.yml文件中包含collection标记的注释我真的不知道这是否有用,但我还是会写下我的解决方案,只是因为我没有找到快速的解释 要遍历文件,只需在_config.yml文件中添加以下代码段: 之后,您可以像下面这样调用for循环: 注意:请注意,您的文件位于根目录中,在本例中,例如_articles/article01.md 范例
您可以在本教程中看到该行为,但没有在_config.yml文件中包含collection标记的注释这些文件是否在您的本地计算机上?您可以使用任何语言或脚本访问和循环它们。我不明白这跟杰基尔有什么关系?这只是一个静态站点生成器谢谢你的回答,你是对的,我会编辑这个问题,抱歉误解,我不知道如何循环使用liquid中的文件,是的,文件在我的本地计算机上。这是你要找的吗?听起来很相似谢谢你的帮助,我看到了这个问题,但这不是我要问的,我想循环浏览_posts目录及其子目录中的所有文件,就好像_posts目录没有子目录一样。。有什么方法可以用液体来做吗?这些文件在你的本地机器上吗?您可以使用任何语言或脚本访问和循环它们。我不明白这跟杰基尔有什么关系?这只是一个静态站点生成器谢谢你的回答,你是对的,我会编辑这个问题,抱歉误解,我不知道如何循环使用liquid中的文件,是的,文件在我的本地计算机上。这是你要找的吗?听起来很相似谢谢你的帮助,我看到了这个问题,但这不是我要问的,我想循环浏览_posts目录及其子目录中的所有文件,就好像_posts目录没有子目录一样。。有没有办法用液体来做?
{% capture directory %}
{% assign path = post.path | remove_first:'_posts/' | split:'/' %}
{% for folder in path %}
{% unless forloop.last %}
{{ folder }}/
{% endunless %}
{% endfor %}
{% endcapture %}
Directory: {{directory}}
collections:
articles:
output: true
{% for article in site.articles %}
{{ forloop.index }}yes
{% endfor %}