有些笔记您可能不希望作为网站发布。Quartz 通过两种可结合使用的机制支持这一需求:
过滤器插件
过滤器插件 是根据特定条件过滤内容的插件。默认情况下,Quartz 使用 RemoveDrafts 插件,该插件会过滤掉所有在 frontmatter 中包含 draft: true
的笔记。
如果您希望仅发布选定的笔记,可以使用 ExplicitPublish 插件,该插件会过滤掉所有未在 frontmatter 中包含 publish: true
的笔记。
Warning
无论使用何种过滤器插件,所有非 Markdown 文件都会在最终构建中被公开输出。 这包括图片、录音、PDF 等文件。要防止这种情况同时仍能嵌入本地图片,可以创建一个专门用于公共媒体的文件夹,并在 ignorePatterns 数组中添加以下两个模式:
"!(PublicMedia)**/!(*.md)", "!(*.md)"
ignorePatterns
这是 configuration 主配置下 quartz.config.ts
文件中的一个字段,允许您指定一组模式来完全排除解析。任何有效的 fast-glob 模式均可在此处使用。
Note
Bash 的 glob 语法与 fast-glob 略有不同,使用 bash 语法可能导致意外结果。
常见示例包括:
some/folder
: 排除整个some/folder
目录*.md
: 排除所有扩展名为.md
的文件!*.md
排除所有_不_以.md
为扩展名的文件**/private
: 排除任何层级中名为private
的文件或文件夹
Warning
通过插件或
ignorePatterns
模式标记为私有的内容,只会阻止页面被包含在最终构建的网站中。如果您的 GitHub 仓库是公开的,请确保同时在 Quartz 的.gitignore
文件中添加对应的忽略规则。更多信息请参阅git
文档。