From 575869c546e4a1f93944c1f3a26159d05edf24fe Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 26 Nov 2024 10:53:44 +0800 Subject: [PATCH] :art: Improve exporting Markdown https://github.com/siyuan-note/siyuan/issues/13273 --- kernel/model/export.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/model/export.go b/kernel/model/export.go index 8b58eb25a..47369a89e 100644 --- a/kernel/model/export.go +++ b/kernel/model/export.go @@ -1944,6 +1944,8 @@ func exportMarkdownContent0(tree *parse.Tree, cloudAssetsBase string, assetsDest }) } + currentDocDir := path.Dir(tree.HPath) + var unlinks []*ast.Node ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus { if !entering { @@ -1979,12 +1981,14 @@ func exportMarkdownContent0(tree *parse.Tree, cloudAssetsBase string, assetsDest var href string bt := treenode.GetBlockTree(defID) if nil != bt { - href += strings.TrimPrefix(bt.HPath, "/") + ".md" + href += bt.HPath + ".md" if "d" != bt.Type { href += "#" + defID } } + href = strings.TrimPrefix(href, currentDocDir) href = util.FilterFilePath(href) + href = strings.TrimPrefix(href, "/") blockRefLink := &ast.Node{Type: ast.NodeTextMark, TextMarkType: "a", TextMarkTextContent: linkText, TextMarkAHref: href} blockRefLink.KramdownIAL = n.KramdownIAL n.InsertBefore(blockRefLink)