12

Jekyll Bootstrap 项目在 _posts/core-samples/ 目录中有一个示例博客文章。

我假设,子目录中的帖子(文件)的处理方式与根目录中的帖子相同。它是否正确?

如果是这样,我将添加一个“stage”子目录,将其排除,这样我就可以通过移动它们来存放帖子并发布它们。

4

4 回答 4

7

由于不同之处仅在,post.path所以我同意您的说法:

子目录中的帖子(文件)的处理方式与根目录中的帖子相同

您可以将帖子存放在目录中_posts/core-samples/并像这样发布它们:

{% for post in site.posts %}
  {% if post.path contains 'core-samples' %}
     ..your code
  {% endif %}
{% endfor %}  

作为一个工作示例,您可能会看到此代码如何在其部分中发布这些停放的帖子

于 2018-05-20T14:37:27.073 回答
6

无意中在post-yaml部分找到了:

您可以指定帖子所属的一个或多个类别,而不是将帖子放在文件夹中。当网站生成时,帖子的行为就好像它已经正常设置了这些类别一样。类别(复数键)可以指定为 YAML 列表或空格分隔的字符串。

所以子目录==类别

于 2013-03-07T18:54:37.480 回答
5

我最终来到这里是因为我想创建以下结构:

index.html
_animals
  cats
    my-cat.html
    ...
  dogs
    my-dog.html
    ...

我创建了该结构,然后在_config.yml

collections:
  animals:
    output: true
    permalink: /animal/:title.html

最后,让狗进来index.html

<div id='dogs'>
  {% for a in site.animals %}
    {% if a.path contains 'dogs' %}
      <a href='{{ a.url }}'>{{ a.title }}</a>
    {% endif %}
  {% endfor %}
</div>

注意:这种方法要求_animals不能命名包含所有记录(在我的示例中)的目录_posts,因为后者是 Jekyll 中的特殊名称。

于 2019-03-31T13:28:51.640 回答
2

实际上,该语句所说的是将 _posts 文件夹放在子目录中。然后该子目录将被视为类别。

于 2015-10-31T22:20:47.357 回答