It’s not obvious which Quartz script pages generate a given output page.

If I want to……I need to edit
Format the layout of an automatically generated page for folder or tag entriescomponents/PageList.tsx
Format the list of tags at the top of a page’s contentcomponents/TagList.tsx
Format the tag that shows all active tags (tag page is disabled on this site)components/TagContent.tsx
Filter allowed tagsplugins/transformers/frontmatter.ts

components/PageList.tsx

  • Generates recursive pages for files in a folder or tagged. On my site Notes and are examples.
  • The code only generates the list of folder included pages, not the page itself.
  • I have modified the code to include a thumbnail image for every photo when I deem it a photo page.
  • I have modified the code so that if generating the content for tags, the entry’s list of tags does not include the for the current page.

components/TagList.tsx

  • Generates the list of tags below the ContentMeta on each final destination page.

components/TagContent.tsx

  • Generates the output of a Tag Page listing all pages with the specified tag.
  • I have modified the code to only list tags if it is the root tag page. In all other cases components/PageList.tsx is called for each “included” page. If I want completely different layouts, based on tag type, this where I need to make those changes.
  • I have disabled the code for tags on tag pages. I’m not using this feature, instead relying on what’s generated to create links.

plugins/transformers/frontmatter.ts

  • Ingests frontmatter information from the Obsidian markdown file, including tags.
  • I am currently filtering allowable keywords here, right at point of ingestion into the Quartz build. As of 2025-02-08, they are keyword/* and class/photo.

plugins/emitters/tagPage.tsx

  • Main loop to generate tag pages.

ul class=“tags”

  • Wrapping all tags within an <ul> block ensures consistent formatting across the site.