Zero-config transformer that makes unlisted: true in a page’s frontmatter a first-class way to opt out of every listing surface on your site. The page is still emitted as HTML and remains accessible by direct URL, but is absent from contentIndex.json, RSS, sitemap, graph, explorer, search, backlinks, recent notes, folder listings, and tag listings.

Note

For information on how to add, remove or configure plugins, see the Configuration page.

Usage

Add an unlisted field to any page’s frontmatter:

---
title: My Draft
unlisted: true
---

That’s it. Every Quartz v5 plugin that respects the file.data.unlisted convention will then hide the page.

What each plugin does

PluginBehavior when unlisted: true
ContentIndexPage absent from contentIndex.json, sitemap.xml, and the RSS feed.
SearchPage absent from search results (derived from contentIndex.json).
GraphPage absent from graph nodes and edges (derived from contentIndex.json).
ExplorerPage absent from the sidebar file tree (derived from contentIndex.json).
BacklinksPage never appears as a backlink source on other pages.
RecentNotesPage absent from the recent notes list.
FolderPagePage absent from folder listings and folder discovery.
TagPagePage absent from tag discovery and tag listings.

In every case, the page’s HTML is still emitted and accessible by direct URL.

Configuration

Zero options. Just enable it.

quartz.config.yaml
- source: github:quartz-community/unlisted-pages
  enabled: true

Interaction with EncryptedPages

The EncryptedPages plugin also sets file.data.unlisted when its unlistWhenEncrypted: true option is set or when a page has unlisted: true in frontmatter. The two plugins compose cleanly:

  • If you install only UnlistedPages: any page with unlisted: true in frontmatter is hidden from listing surfaces. Encryption is independent.
  • If you install only EncryptedPages: unlisted: true only takes effect on pages that are also encrypted (have a password). Non-encrypted pages with unlisted: true are silently ignored.
  • If you install both: unlisted: true works for every page, encrypted or not. This is the recommended setup for sites that use encrypted pages.

API

  • Category: Transformer
  • Function name: ExternalPlugin.UnlistedPages().
  • Source: quartz-community/unlisted-pages
  • Install: npx quartz plugin add github:quartz-community/unlisted-pages