隐藏Jekyll中的一些帖子,但允许其内容包含在其他位置

时间:2018-01-18 02:30:41

标签: jekyll liquid

我正在使用Jekyll来生成静态网站。我目前使用一些简单的液体语法在各自的页面上按类别显示帖子:

{%- for post in site.categories.whatever -%}
    {{ post.content }}
{%- endfor -%}

但是,帖子仍然是独立生成的(根据Jekyll默认值/category/year/month/day/title.html),我不需要。

如何阻止每个帖子生成自己的独立HTML页面,同时仍然能够遍历site.categories并将其包含在包含多个帖子的页面中?不幸的是,设置published: false会阻止帖子被添加到site.categories,从而导致上述for循环中断。 permalink: none也没有明显效果。排除页面(通过exclude: [xyzzy, plugh, ...]中的_config.yml)也是如此。 previous StackOverflow answer建议将固定链接设置为现有页面,但在Jekyll 3.6.2中,这只会覆盖该页面。

我当前的黑客攻击是将该类别的固定链接设置为/.trash,这在上传已发布的网站时很容易忽略,但似乎应该有更好的方法。

1 个答案:

答案 0 :(得分:0)

似乎只需将永久链接设置为空字符串(大多数)就可以了!与

defaults:
  - scope:
        path:       category/_posts
    values:
        permalink:  ''

_config.yml中,这些帖子都没有生成的页面。

不幸的是,页面仍然包含在site.documents和类似页面中,但至少它会抑制输出。我遗憾地认为不可能将这些排除在site.documents之外,但是很容易将它们排除在液体中。