Commit Graph

1853 Commits

Author SHA1 Message Date
saberzero1
cfba672f51 feat: split and hash static css 2026-05-22 22:42:06 +02:00
saberzero1
2e34c64c63 chore: updated plugins 2026-05-22 20:11:20 +02:00
saberzero1
70c2aa0f53 chore: format 2026-05-22 20:09:57 +02:00
saberzero1
afb84b1ffe docs: add missing options to emitter plugin documentation
- ContentIndex: clarify rssFullHtml default
- CustomOgImages: add defaultTitle and defaultDescription options
2026-05-22 20:07:48 +02:00
saberzero1
05b79e1d60 docs: add missing options to component and page type plugin documentation
- Graph: add focusOnHover and numeric defaults for all D3Config options
- Search: add enablePreview and fieldPriority options
- TableOfContents: add layout component option
- FolderPage: add showFolderCount and showSubfolders options
- TagPage: add numPages option
- BasesPage: add linkResolution option
2026-05-22 20:07:48 +02:00
saberzero1
f681e871ea docs: add missing options to transformer plugin documentation
- CreatedModifiedDate: add defaultDateType option
- Description: add maxDescriptionLength option
- Latex: add katexOptions, mathJaxOptions, typstOptions
- SyntaxHighlighting: add clipboard and tokenClassification options
- RoamFlavoredMarkdown: add tableComponent and attributeComponent
2026-05-22 20:07:48 +02:00
saberzero1
bc1c6a47d8 docs: fix incorrect plugin option defaults and phantom options
- Citations: remove non-existent prettyLink option
- Explorer: correct folderClickBehavior default from collapse to link
- RecentNotes: fix limit default from 5 to 3, add hideTagPages/hideFolderPages
- StackedPages: fix option names to match source (maxTabs, not maxPanes)
2026-05-22 20:07:47 +02:00
saberzero1
c6d7da00b2 chore: updated plugins 2026-05-22 04:02:16 +02:00
saberzero1
0c008d49c2 chore: updated plugins 2026-05-22 02:54:39 +02:00
saberzero1
7c7e8789ca chore: updated plugins 2026-05-22 01:34:31 +02:00
saberzero1
4a9000cd16 chore: updated plugins 2026-05-22 00:28:57 +02:00
saberzero1
307f3b9298 chore: updated plugins 2026-05-21 22:17:59 +02:00
saberzero1
d88e97c769 chore: updated plugins 2026-05-21 17:59:37 +02:00
saberzero1
7fd0590a46 fix: improved plugin type resolution 2026-05-21 17:59:26 +02:00
saberzero1
0c63884f65 docs: improved installation and migration guides 2026-05-21 14:33:07 +02:00
saberzero1
47e0ba3a58 chore: updated plugins 2026-05-21 13:36:33 +02:00
saberzero1
0e314cb1eb chore: updated plugins 2026-05-21 01:34:23 +02:00
saberzero1
635d2af12e chore: updated plugins 2026-05-20 23:23:48 +02:00
saberzero1
21ea5895cb fix: improved plugin validation on install 2026-05-20 23:23:39 +02:00
saberzero1
9031614318 chore: updated plugins 2026-05-18 23:46:46 +02:00
saberzero1
cb83ed320f chore: updated plugins 2026-05-18 19:36:49 +02:00
saberzero1
3da68acd02 chore: updated plugins 2026-05-17 23:34:28 +02:00
saberzero1
38eca77b5e chore: updated plugins 2026-05-16 18:00:54 +02:00
saberzero1
17efeb93f3 chore: updated plugins 2026-05-02 15:39:21 +02:00
saberzero1
c8f6e6dc14 feat(css): make styles layered by default 2026-04-28 17:25:37 +02:00
saberzero1
f3a549a68d chore: updated plugins 2026-04-28 00:07:24 +02:00
saberzero1
a76af2866b docs: update plugin CLI and troubleshooting for pre-built distribution 2026-04-28 00:03:53 +02:00
saberzero1
9fcc3f260c fix: handle EEXIST race in peer dependency symlink creation 2026-04-27 22:34:31 +02:00
saberzero1
886bf6d7f6 chore: updated plugins 2026-04-27 22:27:02 +02:00
saberzero1
24f2a7325a chore: updated plugins 2026-04-27 22:21:55 +02:00
saberzero1
4914242ef9 chore: updated plugins 2026-04-27 22:03:47 +02:00
saberzero1
907cef735b docs: updated plugin guide for bundling native dependencies 2026-04-27 22:03:41 +02:00
saberzero1
efd9e8e095 feat(loader): prefer pre-built plugins 2026-04-27 22:03:23 +02:00
saberzero1
6a2bb304d2 chore: updated plugins 2026-04-26 02:33:03 +02:00
saberzero1
8e45841e34 chore: updated plugins 2026-04-25 23:15:29 +02:00
saberzero1
a85c3bd814 refactor(theme): use Obsidian CSS custom property names 2026-04-25 23:13:50 +02:00
saberzero1
dfc2369140 chore: updated plugins 2026-04-24 23:58:33 +02:00
saberzero1
710db1f161 fix(components): deduplicate plugin handler registration 2026-04-24 23:56:53 +02:00
saberzero1
4ffe041f13 chore: updated plugins 2026-04-22 18:27:16 +02:00
saberzero1
b3082c32dc fix(path): improper redirects in subpath domain sites 2026-04-22 18:25:05 +02:00
saberzero1
ff19a3bf38 chore: updated plugins 2026-04-19 21:44:31 +02:00
saberzero1
dc88017b37 feat(404): try redirect to lowercase URL 2026-04-19 21:44:23 +02:00
saberzero1
4fc6be7850 chore: updated plugins 2026-04-17 22:17:51 +02:00
saberzero1
e15b3da014 docs: update ts-config override examples 2026-04-17 22:17:43 +02:00
saberzero1
f370898c56 fix(config): properly pass ts-based options to plugins 2026-04-17 22:14:36 +02:00
saberzero1
cab4b523df fix(embed): properly resolve heading links in embeds 2026-04-17 12:50:50 +02:00
saberzero1
6c3b94e474 docs: updated links 2026-04-17 03:25:16 +02:00
saberzero1
c32d11cb8b fix(build): remove extension-stripped slug aliases that pollute allSlugs
addVirtualPageSlugAliases injected extension-stripped aliases for
every PageType-registered extension into ctx.allSlugs (e.g. for
`Canvas.canvas` it added an alias `canvas`). Intended to help
`![[file.canvas]]` transclusions resolve to virtual pages, but:

1. CrawlLinks' shortest strategy treats allSlugs entries as real
   files. When an author writes `[[Canvas]]` in a note, shortest
   lookup matches BOTH the alias `canvas` and real basenames
   like `features/canvas`. With matchingFileNames.length === 2,
   the uniqueness check fails and transformLink falls back to
   absolute resolution, producing a dead href `./canvas` that
   points to no emitted file.

2. The aliases were never actually needed for transclusion.
   renderPage.tsx already has its own extension-stripping
   fallback (lines 107-119) that consults allFiles directly.
   Virtual pages (canvas-page, bases-page) emit at slugs that
   KEEP their extension (e.g. `canvas.canvas`), so
   `![[Canvas.canvas]]` resolves naturally without any alias.

3. The aliases mispresent Obsidian semantics. In Obsidian,
   `[[Canvas]]` resolves to `Canvas.md`; non-md files require
   the explicit extension (`[[Canvas.canvas]]`). Injecting
   extension-stripped aliases into allSlugs made Quartz claim
   bare names can refer to non-md virtual pages, which is
   wrong.

Reproduction: docs/features/index.md contains `[[Canvas]]` which
should resolve to docs/features/Canvas.md (slug features/canvas).
Under the old behavior it produced href="../canvas" with
data-slug="canvas" pointing nowhere. After this fix it produces
href="../features/canvas" with data-slug="features/canvas"
correctly.

Verified with fresh `npx quartz build -d docs`:
- [[Canvas]] → ./features/canvas ✓
- ![[Canvas.canvas]] transclusion still works ✓
- ![[Base.base]] virtual page still emits ✓
- 0 internal broken links across all output ✓
- all 91 existing tests pass
2026-04-17 03:05:36 +02:00
saberzero1
0572f06d08 chore: updated plugins 2026-04-17 03:00:00 +02:00
saberzero1
17d5ae76bf refactor(util/path): re-export normalizeHastElement from @quartz-community/utils
The normalizeHastElement helper and its internal _rebaseHastElement
have been promoted to @quartz-community/utils so that plugins can
consume the same cross-slug HAST rebasing logic Quartz core uses
for transclude expansion. Previously they lived only in Quartz's
internal util/path module, which out-of-tree plugins (e.g.
canvas-page, whose buildEmbeddedContent embeds vfile.data.htmlAst
from arbitrary pages) could not import from.

normalizeRelativeURLs and its DOM-element sibling _rebaseHtmlElement
stay local - those operate on DOM Elements at runtime, not HAST AST
nodes, and belong with Quartz's DOM-specific code.
2026-04-17 02:27:48 +02:00