There may be some notes you want to avoid publishing as a website. Quartz supports this through two mechanisms which can be used in conjunction:
Filter Plugins
Filter plugins are plugins that filter out content based off of certain criteria. By default, Quartz uses the Plugin.RemoveDrafts
plugin which filters out any note that has draft: true
in the frontmatter.
If you’d like to only publish a select number of notes, you can instead use Plugin.ExplicitPublish
which will filter out all notes except for any that have publish: true
in the frontmatter.
Warning
Regardless of the filter plugin used, all non-markdown files will be emitted and available publically in the final build. This includes files such as images, voice recordings, PDFs, etc. One way to prevent this and still be able to embed local images is to create a folder specifically for public media and add the following two patterns to the ignorePatterns array.
"!(PublicMedia)**/!(*.md)", "!(*.md)"
ignorePatterns
This is a field in quartz.config.ts
under the main configuration which allows you to specify a list of patterns to effectively exclude from parsing all together. Any valid fast-glob pattern works here.
Note
Bash’s glob syntax is slightly different from fast-glob’s and using bash’s syntax may lead to unexpected results.
Common examples include:
some/folder
: exclude the entire ofsome/folder
*.md
: exclude all files with a.md
extension!*.md
exclude all files that don’t have a.md
extension**/private
: exclude any files or folders namedprivate
at any level of nesting
Warning
Marking something as private via either a plugin or through the
ignorePatterns
pattern will only prevent a page from being included in the final built site. If your GitHub repository is public, also be sure to include an ignore for those in the.gitignore
of your Quartz. See thegit
documentation for more information.