使用 Jekyll 进行前端条件构建

Posted

技术标签:

【中文标题】使用 Jekyll 进行前端条件构建【英文标题】:Front-matter Conditional Build with Jekyll 【发布时间】:2017-01-08 05:30:43 【问题描述】:

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

例如,我有任意数量的页面,其前面的内容都是“访问:机密”...我想构建我的 jekyll 站点,并且在 _site 构建中不包含任何内容。

【问题讨论】:

【参考方案1】:

所有 Jekyll 文件都被复制到目的地,除非它们是:

_includes 等带下划线的文件夹 在excludeconfiguration array

此排除不能依赖于前端变量(您可以使用插件来做到这一点,但这不是这里的主题)。

现在,您可以像这样在_config.yml 中排除所有机密页面:

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

【讨论】:

【参考方案2】:

除了大卫回答中的选项外,您还可以在要排除的文件的前面将published 设置为 false。

来自https://jekyllrb.com/docs/frontmatter/:

已发布

如果您不希望在网站生成时显示特定帖子,请设置为 false。

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

---
published: false
---

【讨论】:

知道我是否可以编写自己的机制来执行此操作,但其他 frontmatter key/vals 的键?

以上是关于使用 Jekyll 进行前端条件构建的主要内容,如果未能解决你的问题,请参考以下文章

html 使用Jekyll Collections构建reveal.js演示文稿

Doker构建服务ruby+jekyll

前端Gulp系列教程:简介和安装

Docker构建镜像过于缓慢解决-----Docker构建服务之部署和备份jekyll网站

Docker学习6:使用docker构建Jekyll服务和java服务

我的 jekyll 站点无法构建:Liquid Exception: incompatible character encodings