我正在使用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
,这在上传已发布的网站时很容易忽略,但似乎应该有更好的方法。
答案 0 :(得分:0)
似乎只需将永久链接设置为空字符串(大多数)就可以了!与
defaults:
- scope:
path: category/_posts
values:
permalink: ''
在_config.yml
中,这些帖子都没有生成的页面。
不幸的是,页面仍然包含在site.documents
和类似页面中,但至少它会抑制输出。我遗憾地认为不可能将这些排除在site.documents
之外,但是很容易将它们排除在液体中。