fix: parsing wikilinks that have codeblock anchors, scroll to anchor

This commit is contained in:
Jacky Zhao 2023-06-19 22:50:25 -07:00
parent fd5c8d17d3
commit 24348b24a9
16 changed files with 99 additions and 80 deletions
quartz/plugins/transformers

View file

@ -1,5 +1,5 @@
import { QuartzTransformerPlugin } from "../types"
import { relative, relativeToRoot, slugify, trimPathSuffix } from "../../path"
import { relativeToRoot, slugify, trimPathSuffix } from "../../path"
import path from "path"
import { visit } from 'unist-util-visit'
import isAbsoluteUrl from "is-absolute-url"
@ -24,9 +24,6 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options> | undefined> =
const opts = { ...defaultOptions, ...userOpts }
return {
name: "LinkProcessing",
markdownPlugins() {
return []
},
htmlPlugins() {
return [() => {
return (tree, file) => {
@ -34,7 +31,8 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options> | undefined> =
const transformLink = (target: string) => {
const targetSlug = slugify(decodeURI(target).trim())
if (opts.markdownLinkResolution === 'relative' && !path.isAbsolute(targetSlug)) {
return './' + relative(curSlug, targetSlug)
// TODO
// return './' + relative(curSlug, targetSlug)
} else {
return './' + relativeToRoot(curSlug, targetSlug)
}
@ -77,9 +75,9 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options> | undefined> =
}
}
// transform all images
// transform all other resources that may use links
if (
node.tagName === 'img' &&
["img", "video", "audio", "iframe"].includes(node.tagName) &&
node.properties &&
typeof node.properties.src === 'string'
) {