Commit Graph

1767 Commits

Author SHA1 Message Date
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
saberzero1
f711071020 deps: update @quartz-community/utils 2026-04-17 02:05:55 +02:00
saberzero1
85563ffaab fix: wikilinks normalization and various slugging fixes 2026-04-17 00:35:28 +02:00
saberzero1
6def58c0d0 feat(recent notes): add user-friendly tag and folder filters 2026-04-16 19:17:32 +02:00
saberzero1
5f513a80bb fix: include types/utils dist 2026-04-16 16:41:14 +02:00
saberzero1
9c118804a9 docs: clarified setup guide 2026-04-16 16:38:31 +02:00
saberzero1
5bec6fb87b fix(popover): cache no longer always misses 2026-04-16 16:38:16 +02:00
saberzero1
b9d4298321 docs: updated plugin list 2026-04-11 15:56:44 +02:00
saberzero1
64001920a0 docs: updated concurrency flag 2026-04-11 15:52:02 +02:00
saberzero1
64802f858b feat(cli): generalize concurrency flag 2026-04-11 15:51:50 +02:00
saberzero1
7e01af6a4d chore: updated plugins 2026-04-11 15:38:07 +02:00
saberzero1
232781cbca chore: updated templates 2026-04-11 15:37:01 +02:00
saberzero1
2c1d9b5fb6 docs: added unlisted page and encrypted page 2026-04-11 15:35:40 +02:00
saberzero1
b8b71edffe chore: updated templates 2026-04-11 14:22:48 +02:00
saberzero1
d2e2df8518 chore: updated plugins 2026-04-11 14:22:40 +02:00
saberzero1
afa63033cc fix: make fileTrie last-write-wins; warn on slug collisions 2026-04-10 21:14:23 +02:00
saberzero1
9d26e48dc5 chore: updated plugins 2026-04-10 19:22:47 +02:00
saberzero1
341b800663 chore: updated path utils 2026-04-10 19:19:12 +02:00
saberzero1
07c9bb6976 chore: updated plugins 2026-04-10 10:15:37 +02:00
saberzero1
512d48d719 chore: updated plugins 2026-04-07 16:49:29 +02:00
saberzero1
bbcaa22413 chore: updated plugins 2026-04-07 16:14:20 +02:00
saberzero1
7a86a76f44 fix(graph): gracefully handle context destruction 2026-04-04 20:41:09 +02:00
saberzero1
c4c6016755 fix: update all plugins to bundle utils (prevents subpath resolution failures) 2026-04-04 11:38:24 +02:00
saberzero1
f5b66ec3f0 fix: update folder-page and tag-page to bundle utils (fixes folder page 404s) 2026-04-04 11:29:29 +02:00
saberzero1
0f84b66cea chore: updated plugins 2026-04-04 02:48:34 +02:00
saberzero1
88337abbe1 deps: update plugins with v4 translation ports 2026-04-04 02:23:49 +02:00
Sara Lilith Slootmaker
2bf6cb655b chore: update links to leaflet bases plugin (#2347)
* chore: update leaflet bases plugin

* docs: update external link
2026-04-04 01:18:22 +02:00
saberzero1
5c934ca1c6 deps: update plugin lockfile after utils dependency additions 2026-04-03 19:34:31 +02:00
saberzero1
9c62152257 deps: update plugin lockfile after utility migrations 2026-04-03 19:28:42 +02:00
saberzero1
287d41b2ac docs: add package layering, plugin type guide, i18n guide, bases views, and import reference 2026-04-03 19:06:48 +02:00
saberzero1
1f555cf6c4 chore: updated plugins 2026-04-03 17:02:00 +02:00
saberzero1
e0fadf7e77 deps: update all community plugin dependencies 2026-04-03 16:22:42 +02:00
saberzero1
31ca75e762 deps: update community packages and plugin lockfile for vfile migration 2026-04-03 16:05:23 +02:00
saberzero1
0c50cca1f6 refactor: move vfile DataMap augmentation to @quartz-community/types 2026-04-03 15:41:11 +02:00
saberzero1
b7885ce779 deps: update community packages and plugin lockfile 2026-04-03 15:10:36 +02:00
saberzero1
1d5d069174 fix: remove unused code in git handlers 2026-04-03 14:57:53 +02:00
saberzero1
2a6117142c feat: parallel git command handling 2026-04-03 14:39:30 +02:00