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 entries | components/PageList.tsx |
| Format the list of tags at the top of a page’s content | components/TagList.tsx |
| Format the tag that shows all active tags (tag page is disabled on this site) | components/TagContent.tsx |
| Filter allowed tags | plugins/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
ContentMetaon 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/*andclass/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.
