The content index is built into Quartz (it used to be the content-index plugin). It emits both RSS and an XML sitemap for your site. The RSS Feed allows users to subscribe to content on your site and the sitemap allows search engines to better index your site. It also emits a contentIndex.json file which is used by dynamic frontend components like search and graph.
Configure it under configuration.contentIndex in quartz.config.yaml:
configuration:
contentIndex:
enableSiteMap: true
enableRSS: trueOptions:
enableSiteMap: Iftrue(default), generates a sitemap XML file (sitemap.xml) listing all site URLs for search engines in content discovery.enableRSS: Iftrue(default), produces an RSS feed (index.xml) with recent content updates.rssLimit: Defines the maximum number of entries to include in the RSS feed, helping to focus on the most recent or relevant content. Defaults to10.rssFullHtml: Iftrue, the RSS feed includes the full rendered HTML content of each page. Defaults tofalse.rssSlug: Slug to the generated RSS feed XML file. Defaults to"index".includeEmptyFiles: Iftrue(default), content files with no body text are included in the generated index and resources.enabled: set tofalseto emit none of these files (search, explorer and the graph view then have no data).
Note
An existing
@quartz-community/content-indexentry is applied toconfiguration.contentIndexautomatically. Runnpx quartz plugin doctor --fixto move it.
Adding fields
Plugins can add their own fields to each entry of contentIndex.json with extendContentIndex — see making plugins > Extending the content index.
API
- Category: Emitter (built-in)
- Source:
quartz/plugins/builtins/contentIndex.ts - Can be replaced by a plugin that declares
quartz.capabilities.provides.files: ["static/contentIndex.json"].