Quartz

A fast, batteries-included static site generator that transforms Markdown content into fully functional websites. Built for personal knowledge bases and digital gardens.

Overview

Quartz takes a folder of Markdown files and produces a complete static website with search, graph view, backlinks, and Obsidian-compatible features out of the box. No database, no server — just a public/ directory you deploy anywhere.

Current version: v4.5.2. Requires Node v22+ and npm v10.9.2+.

Key Features

  • Obsidian compatibility — wikilinks, callouts, transclusions, backlinks work without modification
  • Graph view — interactive visualization of page relationships
  • Full-text search — built-in, no external service needed
  • Popover previews — hover over a link to preview the page
  • LaTeX, Mermaid, syntax highlighting — all built-in
  • SPA routing — fast page transitions without full reloads
  • Hot reload + incremental builds — fast local dev loop
  • RSS feed, sitemap — generated automatically
  • Private pages — filter out drafts or restricted content via frontmatter
  • Internationalization — locale-aware date formatting and UI
  • Docker support

Architecture

Everything is a plugin. Quartz processes content through a three-stage pipeline — see quartz-plugin-pipeline.

Layout is configured via a FullPageLayout interface with named slots (head, header, left, right, beforeBody, pageBody, afterBody, footer). Components are JSX-based and fully replaceable.

Configuration lives in quartz.config.ts with two top-level keys: configuration (site settings, theme, analytics) and plugins (transformers, filters, emitters).

Analytics Support

Built-in integrations: Google Analytics, Plausible, Umami, GoatCounter, PostHog, Tinybird, Cabin, Microsoft Clarity, Matomo, Vercel Web Analytics, Rybbit. Set to null to disable.

Hosting

Deploys to Cloudflare Pages, GitHub Pages, Vercel, Netlify, GitLab Pages, or self-hosted (Nginx/Apache/Caddy). See deploy-quartz-cloudflare.

See Also