Files
quartz/docs/plugins/index.md
2026-04-17 03:25:16 +02:00

14 KiB

title, image
title image
Plugins

Quartz's functionality is provided by a collection of first-party community plugins. Each plugin can be enabled, disabled, and configured via quartz.config.yaml. See configuration#Plugins for details on how to manage plugins.

[!info] Internal vs Community Plugins Quartz has two kinds of plugins:

  • Community plugins are standalone repositories under quartz-community. In TS overrides, they use ExternalPlugin.X() (imported from .quartz/plugins).
  • Internal plugins are built into Quartz core (Assets, Static, ComponentResources, NotFoundPage). In TS overrides, they use Plugin.X() (imported from ./quartz/plugins).

Plugin types

Quartz plugins fall into several categories:

  • Transformers process content during the build, e.g. parsing frontmatter, highlighting syntax, or resolving links.
  • Filters decide which content files to include or exclude from the output.
  • Page Types generate HTML pages — one per content file, folder, tag, canvas, or bases view.
  • Components render UI elements in the page layout (sidebars, headers, footers, etc.).

First-party plugins

Transformers

Plugin Repository Enabled Required Description
Frontmatter quartz-community/note-properties Parses frontmatter and displays note properties.
CreatedModifiedDate quartz-community/created-modified-date Determines creation and modification dates.
SyntaxHighlighting quartz-community/syntax-highlighting Syntax highlighting for code blocks.
ObsidianFlavoredMarkdown quartz-community/obsidian-flavored-markdown Obsidian-specific Markdown extensions.
GitHubFlavoredMarkdown quartz-community/github-flavored-markdown GitHub Flavored Markdown support.
TableOfContents quartz-community/table-of-contents Generates table of contents data from headings.¹
CrawlLinks quartz-community/crawl-links ⚠️ Parses and resolves links. Removing it is not recommended.
Description quartz-community/description Generates page descriptions for metadata.
UnlistedPages quartz-community/unlisted-pages Bridges frontmatter.unlisted to file.data.unlisted so any page can opt out of discovery.
plugins/Latex quartz-community/latex Renders LaTeX math expressions.
EncryptedPages quartz-community/encrypted-pages Password-protected encrypted pages with shadow content index.²
plugins/Citations quartz-community/citations Academic citation support via BibTeX.
HardLineBreaks quartz-community/hard-line-breaks Treats single newlines as hard line breaks.
OxHugoFlavoredMarkdown quartz-community/ox-hugo ox-hugo Markdown compatibility.
RoamFlavoredMarkdown quartz-community/roam Roam Research Markdown compatibility.

Filters

Plugin Repository Enabled Required Description
RemoveDrafts quartz-community/remove-draft Filters out pages marked as drafts.
ExplicitPublish quartz-community/explicit-publish Only publishes pages explicitly marked.

Page Types

Plugin Repository Enabled Required Description
ContentPage quartz-community/content-page Generates HTML pages for Markdown content.
FolderPage quartz-community/folder-page Generates folder listing pages.
TagPage quartz-community/tag-page Generates tag listing pages.
CanvasPage quartz-community/canvas-page Renders JSON Canvas files as interactive pages.
BasesPage quartz-community/bases-page Renders Obsidian Bases files as database views.

Emitters

Plugin Repository Enabled Required Description
AliasRedirects quartz-community/alias-redirects Generates redirect pages for aliases.
ContentIndex quartz-community/content-index Generates sitemap, RSS feed, and content index.
Favicon quartz-community/favicon Emits the site favicon.
CustomOgImages quartz-community/og-image Generates Open Graph social preview images.
CNAME quartz-community/cname Emits a CNAME file for custom domains.
EncryptedPages² quartz-community/encrypted-pages Emits the shadow content index for unlisted encrypted pages.

Components

Plugin Repository Enabled Required Description
ArticleTitle quartz-community/article-title Renders the article title as an h1 heading.
ContentMeta quartz-community/content-meta Displays creation date and reading time.
TagList quartz-community/tag-list Renders tags as clickable links.
PageTitle quartz-community/page-title Renders the site title as a home link.
plugins/Darkmode quartz-community/darkmode Toggle between light and dark themes.
reader mode quartz-community/reader-mode Distraction-free reading mode toggle.
plugins/Explorer quartz-community/explorer File tree explorer sidebar.
graph view quartz-community/graph Interactive link graph visualization.
full-text search quartz-community/search Full-text search functionality.
plugins/Backlinks quartz-community/backlinks Shows pages that link to the current page.
plugins/Breadcrumbs quartz-community/breadcrumbs Breadcrumb navigation trail.
plugins/Comments quartz-community/comments Comment system integration (Giscus, etc.).
Footer quartz-community/footer Page footer with configurable links.
RecentNotes quartz-community/recent-notes Displays a list of recently modified notes.
Spacer quartz-community/spacer Flexible spacer for layout groups.
TableOfContents¹ quartz-community/table-of-contents Renders the table of contents in the layout.
EncryptedPages² quartz-community/encrypted-pages Renders the password prompt for encrypted pages.
StackedPages quartz-community/stacked-pages Andy Matuschak-style stacked sliding panes.

¹ TableOfContents is a dual-category plugin (transformer + component). It appears in both the Transformers and Components tables.

² EncryptedPages is a tri-category plugin (transformer + emitter + component). The transformer encrypts page content at build time, the emitter writes the shadow content index for unlisted encrypted pages, and the component renders the password prompt UI. It appears in the Transformers, Emitters, and Components tables.