【问题标题】:How does Jekyll treat posts in _posts/subdirJekyll 如何处理 _posts/subdir 中的帖子
【发布时间】:2013-03-07 18:39:24
【问题描述】:

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

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

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

【问题讨论】:

  • 这里的标准方法是使用 _drafts 文件夹。但是任何以下划线开头或被排除的文件夹都可以。

标签: jekyll


【解决方案1】:

因为不同之处只在post.path,所以我同意你的说法:

子目录中的

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

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

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

作为一个工作示例,您可能会看到this code 如何在their section 中发布这些parked posts

【讨论】:

    【解决方案2】:

    post - yaml部分无意中发现:

    您可以指定一个或 帖子所属的更多类别。网站生成时 该帖子的行为就好像它已经设置了这些类别 一般。类别(复数键)可以指定为 YAML 列表或 空格分隔的字符串。

    所以子目录 == 类别

    【讨论】:

    • 据我测试,这是误导。也就是说,_posts 目录中的子目录似乎被忽略(未转换为类别)。您是否遇到了不同的行为?
    • 已经有一段时间了,目前无法澄清这一点,但我看到的是,在我的 github 网站中,我最终没有使用 _posts 下的子目录。
    • 反过来:_postsparent 目录变成了一个类别。见github.com/jekyll/jekyll/issues/1141#issuecomment-18363523
    • 我刚刚找到这个链接,上面写着,创建顶级文件夹并将 _posts 放入其中。然后顶级成为类别。 miklb.com/blog/2016/04/26/organizing-jekyll-posts
    【解决方案3】:

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

    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 中的一个特殊名称。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2017-01-13
        • 2015-01-15
        • 1970-01-01
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 2015-10-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多