mirror of
https://gitlab.com/MisterBiggs/brain-quartz.git
synced 2025-09-18 19:52:44 +00:00
.github
content
docs
quartz
cli
components
i18n
plugins
emitters
filters
transformers
citations.ts
description.ts
frontmatter.ts
gfm.ts
index.ts
lastmod.ts
latex.ts
linebreaks.ts
links.ts
ofm.ts
oxhugofm.ts
roam.ts
syntax.ts
toc.ts
index.ts
types.ts
vfile.ts
processors
static
styles
util
bootstrap-cli.mjs
bootstrap-worker.mjs
build.ts
cfg.ts
depgraph.test.ts
depgraph.ts
worker.ts
.gitattributes
.gitignore
.node-version
.npmrc
.prettierignore
.prettierrc
CODE_OF_CONDUCT.md
Dockerfile
LICENSE.txt
README.md
globals.d.ts
index.d.ts
package-lock.json
package.json
quartz.config.ts
quartz.layout.ts
tsconfig.json
With markdownLinkResolution: "shortest", aka "+/- how Obsidian does it" and given pages A and nested/B which has an alias Z, if you try to link from A using [[Z]] it wouldn't work and get 404. This is caused by alias slugs (nested/Z in this case, emitted by AliasRedirects) not being present in the `allSlugs` list which is used by the link transformer. The fix is to compute the alias slugs in the frontmatter transformer and add them to `allSlugs` there. Also we store them in file data to avoid recomputing them when emitting alias redirect pages. Fixes #904 Note: given how currently the markdown/html transformers are ordered this doesn't really work. Given pages A and nested/B which has an alias Z, here's the order which currently happens: md-transformers(A) => html-transformers(A) => md-transformers(B) => html-transformers(B) Since the nested/Z slug will get added when md-transformers(B) are run, but the slugs are used by html-transformers(A) when resolving it's links - the link [[Z]] in A will still 404 A fix for this is to split the parser into two stages - first apply the md-transformers to all files, and only then apply html-transformers to all files. I did just that in a different commit, which is needed for this one to work correctly.