Reduce visual clutter by only showing category pills for categories that
aren't already mentioned as wiki links in the note's content.
Implementation:
- Store outgoing links separately in links.ts before adding categories
- Added outgoingLinks to vfile DataMap type
- Modified CategoryList to filter out categories already in outgoingLinks
- Only category pills for unlinked categories are now displayed
Example:
If a note has categories: [[LLM]], [[Anthropic]], [[AI]] and the content
mentions [[LLM]] and [[Anthropic]], only the AI category pill will appear.
This follows Wikipedia's principle of avoiding redundant links and reduces
visual clutter while maintaining backlinks and graph connections.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add complete category system that integrates with Obsidian's wiki-linked
category frontmatter. Categories appear as pills on pages and link directly
to category notes (not aggregation pages).
Features:
- Parse [[Page Name]] syntax from category frontmatter
- Display category pills styled like tags
- Link directly to category notes
- Integrate with graph view connections
- Enable bidirectional backlinks
- Preserve case in category slugs
Implementation:
- Added extractWikiLinks() to frontmatter transformer
- Created CategoryList component for pill rendering
- Modified links transformer to include categories in links array
- Updated contentIndex to export category metadata
- Added i18n strings for category UI elements
- Set includeEmptyFiles: true to show empty category pages in graph
Files modified:
- quartz/plugins/transformers/frontmatter.ts
- quartz/plugins/transformers/links.ts
- quartz/plugins/emitters/contentIndex.tsx
- quartz/components/CategoryList.tsx (new)
- quartz/components/pages/CategoryContent.tsx (new)
- quartz/plugins/emitters/categoryPage.tsx (new)
- quartz/i18n/locales/en-US.ts
- quartz/i18n/locales/definition.ts
- quartz/components/index.ts
- quartz.layout.ts
- quartz.config.ts
- README.md (updated with Quartz updater documentation)
Security: Comprehensive privacy review confirms NO information leaks from
private folder. All ignore patterns working correctly.
Docs: Added CUSTOMIZATIONS.md with complete feature documentation,
implementation details, and privacy audit results.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
In 'processors/parse.ts' the 'remarkRehype' plugin is used with
'allowDangerousHtml' enabled, but that needs to be combined with (e.g.)
'rehypeRaw' to have any effect on the output.
1. Should not create new instance after count.js, as it already setup an
instance.
2. Script block would be removed when navigating with SPA, and it cause
count.js can not find endpoint by query. The solution is to set
endpoint manually.
* feat: add option to disable broken wikilinks
* fix(style): update hover color for broken links and introduce new class
* feat: add "disableBrokenWikilinks" option to ObsidianFlavoredMarkdown
* doc(favicon): add documentation of favicon plugin
* doc(favicon): add missing link to configuration page
* fix(favicon): build on public folder don't created
* fix(popover): automatically position heading links at heading
* Impement linking of blockreferences
* Popover fixes
* id mapping
* Remove excess regexes
* Updated blockref
* Remove linker element
* Restore the docs to their former glory
* Move the hash out of the loop
* Redundant
* Redundant
* Restore docs
* Remove log
* Let it const
* fix(ogImage): update socialImage path to include base URL if defined
* feat(path): add function to check if a file path is absolute
* fix(ogImage): handle absolute paths for user defined og image paths
* docs(CustomOgImages): update socialImage property to accept full URLs
* fix(ogImage): typo
* fix(ogImage): improve user-defined OG image path handling
* Update docs/plugins/CustomOgImages.md
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
* Update quartz/plugins/emitters/ogImage.tsx
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
* refactor(path): remove isAbsoluteFilePath function
* fix(ogImage): update user-defined OG image path handling to support relative URLs
* feat(ogImage): enhance user-defined OG image path handling with absolute URL support
* refactor(ogImage): remove debug log for ogImagePath
* feat(path): add isAbsoluteURL function and corresponding tests
* refactor(path): remove unused URL import for isomorphic compatibility
---------
Co-authored-by: Karim H <karimh96@hotmail.com>
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
* fix(transformer): find last modified date form commit on submodule
when the content folder has a submodule git, the relative path start in content folder and not root folder of quartz
* fix(transformer): use path.relative for improved path handling in last modified date calculation
* fix(transformer): keep find file from relative path of repo workdir
* fix(transformer): use variable for repository workdir
use default value if repo.workdir is undefined to user fullFp value
* fix(explorer): vertically center the Explorer toggle under mobile view
* Added a separate title font configuration
* Added googleSubFontHref function
* Applied --titleFont to PageTitle
* Made googleFontHref return array of URLs
* Dealing with empty and undefined title
* Minor update
* Dealing with empty and undefined title
* Refined font inclusion logic
* Adopted the googleFontHref + googleFontSubsetHref method
* Adaptively include font subset for PageTitle
* Restored default config
* Minor changes on configuration docs
* Formatted source code
* checkpoint
* make emitters async generators
* fix
* custom font spec
* replace spinner, use disk cache for fonts
* use readline instead
* make og images look nice
* start work on client side explorer
* fix tests
* fmt
* generic test flag
* add prenav hook
* add highlight class
* make flex more consistent, remove transition
* open folders that are prefixes of current path
* make mobile look nice
* more style fixes