Jekyll如何处理_posts/subdir中的帖子

Jekyll如何处理_posts/subdir中的帖子,jekyll,Jekyll,Jekyll Bootstrap项目在目录_posts/core samples/中有一篇示例博客文章 我假设,子目录中的帖子(文件)的处理方式与根目录中的帖子相同。这是正确的吗 如果是这样,我将添加一个“stage”子目录,将其排除,这样我就可以通过移动帖子来发布帖子。在以下部分中意外发现了它: 您可以指定一个或多个文件夹,而不是将文章放置在文件夹中 该帖子所属的更多类别。当站点生成时 这篇文章的作用就好像它已经设置了这些类别一样 正常地类别(复数键)可以指定为YAML列表或 空格分隔的字符串

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

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


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

在以下部分中意外发现了它:

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


因此,subdirectories==categories

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

因为只有在
post.path
上才有不同,所以我同意您的说法:

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

您可以将帖子存放在目录
\u posts/core samples/
中,并按如下方式发布:

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

作为一个工作示例,您可以看到如何在中发布这些内容。

我之所以在这里结束,是因为我想创建以下结构:

index.html
_animals
  cats
    my-cat.html
    ...
  dogs
    my-dog.html
    ...
我创建了这个结构,然后在
\u config.yml
中:

collections:
  animals:
    output: true
    permalink: /animal/:title.html
<div id='dogs'>
  {% for a in site.animals %}
    {% if a.path contains 'dogs' %}
      <a href='{{ a.url }}'>{{ a.title }}</a>
    {% endif %}
  {% endfor %}
</div>
最后,要在
index.html
中仅获取狗,请执行以下操作:

collections:
  animals:
    output: true
    permalink: /animal/:title.html
<div id='dogs'>
  {% for a in site.animals %}
    {% if a.path contains 'dogs' %}
      <a href='{{ a.url }}'>{{ a.title }}</a>
    {% endif %}
  {% endfor %}
</div>

{site.animals%中的%
{%如果.path包含“dogs”}
{%endif%}
{%endfor%}

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

据我测试所知,这是误导。也就是说,_posts目录中的子目录似乎被忽略(没有转换为类别)。你是否经历了不同的行为?有一段时间了,目前还不能澄清这一点,但我看到的是,在我的github网站中,我最终没有使用帖子下方的子目录。反过来说,
\u posts
的父目录变成了一个类别。看到了吗,我刚刚找到了这个链接,上面写着,创建顶级文件夹,然后把帖子放进去。然后,顶层成为类别。这里的标准方法是使用_drafts文件夹。但任何以下划线开头或被排除在外的文件夹都可以工作。