使用Jekyll的前置条件构建

使用Jekyll的前置条件构建,jekyll,jekyll-extensions,yaml-front-matter,Jekyll,Jekyll Extensions,Yaml Front Matter,生成Jekyll站点但排除基于Frontmatter的某些内容的正确方法是什么 例如,我有一个任意数量的页面,其标题为“访问:机密”。。。我想构建我的jekyll站点,但不让它在_SiteBuild out中包含任何内容。所有jekyll文件都复制到目标,除非它们是: 带下划线的文件夹,如_包括 在排除中 这种排除不能依赖于front matter变量(您可以使用插件来实现这一点,但它不是本文的主题) 现在,您可以在\u config.yml中排除所有机密页面: # exclude all

生成Jekyll站点但排除基于Frontmatter的某些内容的正确方法是什么


例如,我有一个任意数量的页面,其标题为“访问:机密”。。。我想构建我的jekyll站点,但不让它在_SiteBuild out中包含任何内容。

所有jekyll文件都复制到目标,除非它们是:

  • 带下划线的文件夹,如_包括
  • 排除中
这种排除不能依赖于front matter变量(您可以使用插件来实现这一点,但它不是本文的主题)

现在,您可以在
\u config.yml
中排除所有机密页面:

# exclude all files in confidential folder from being processed
exclude:
 - confidential/ 

除了David回答中的选项外,对于要排除的文件,您还可以在前面的问题中将
published
设置为false

发件人:

已发布

如果不希望在生成站点时显示特定帖子,请将其设置为false

虽然官方文档只提到帖子,但我刚刚测试了它在Jekyll 3.2.1上的帖子、页面和收藏项目上的效果:

---
published: false
---

我是否可以编写自己的机制来实现这一点,但其他frontmatter键/VAL的键除外?