From 3636c052eb054d93a8a3ddfb9fdd873d5fe83a5d Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Wed, 31 May 2023 21:41:44 +0000
Subject: [PATCH] link processing
---
quartz/plugins/transformers/links.ts | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/quartz/plugins/transformers/links.ts b/quartz/plugins/transformers/links.ts
index 07a76b2..04b26c6 100644
--- a/quartz/plugins/transformers/links.ts
+++ b/quartz/plugins/transformers/links.ts
@@ -29,16 +29,16 @@
markdownPlugins(): PluggableList {
return [[remarkWikiLink, {
- pathFormat: this.opts.markdownLinkResolution === "absolute" ? 'obsidian-absolute' : 'raw'
+ pathFormat: this.opts.markdownLinkResolution === "absolute" ? 'obsidian-absolute' : 'raw',
}]]
}
htmlPlugins(): PluggableList {
return [() => {
return (tree, file) => {
- const curSlug = file.data.slug!
+ const curSlug = file.data.slug!
const transformLink = (target: string) => {
- const targetSlug = slugify(decodeURI(target))
+ const targetSlug = slugify(decodeURI(target).trim())
if (this.opts.markdownLinkResolution === 'relative' && !path.isAbsolute(targetSlug)) {
return './' + relative(curSlug, targetSlug)
} else {
@@ -46,8 +46,8 @@
}
}
- // rewrite all links
visit(tree, 'element', (node, _index, _parent) => {
+ // rewrite all links
if (
node.tagName === 'a' &&
node.properties &&
@@ -60,14 +60,13 @@
node.properties.href = transformLink(node.properties.href)
}
+ // rewrite link internals if prettylinks is on
if (this.opts.prettyLinks && node.children.length === 1 && node.children[0].type === 'text') {
node.children[0].value = path.basename(node.children[0].value)
}
}
- })
- // transform all images
- visit(tree, 'element', (node, _index, _parent) => {
+ // transform all images
if (
node.tagName === 'img' &&
node.properties &&
@@ -75,7 +74,7 @@
) {
if (!isAbsoluteUrl(node.properties.src)) {
const ext = path.extname(node.properties.src)
- node.properties.src = transformLink("/assets/" + node.properties.src) + ext
+ node.properties.src = transformLink(path.join("assets", node.properties.src)) + ext
}
}
})
--
Gitblit v1.10.0