diff --git a/app/src/protyle/preview/index.ts b/app/src/protyle/preview/index.ts index 1546849e5..b9a0a7656 100644 --- a/app/src/protyle/preview/index.ts +++ b/app/src/protyle/preview/index.ts @@ -266,6 +266,7 @@ export class Preview { } else if (type === "yuque") { fetchPost("/api/lute/copyStdMarkdown", { id: protyle.block.rootID, + assetsDestSpace2Underscore: true, }, (response) => { writeText(response.data); showMessage(`${window.siyuan.languages.pasteToYuque}`); diff --git a/kernel/api/lute.go b/kernel/api/lute.go index dea10fc0e..0219172f3 100644 --- a/kernel/api/lute.go +++ b/kernel/api/lute.go @@ -44,7 +44,11 @@ func copyStdMarkdown(c *gin.Context) { } id := arg["id"].(string) - ret.Data = model.ExportStdMarkdown(id) + assetsDestSpace2Underscore := false + if nil != arg["assetsDestSpace2Underscore"] { + assetsDestSpace2Underscore = arg["assetsDestSpace2Underscore"].(bool) + } + ret.Data = model.ExportStdMarkdown(id, assetsDestSpace2Underscore) } func html2BlockDOM(c *gin.Context) { diff --git a/kernel/model/export.go b/kernel/model/export.go index 8554d9281..eda612770 100644 --- a/kernel/model/export.go +++ b/kernel/model/export.go @@ -1449,7 +1449,7 @@ func processPDFLinkEmbedAssets(pdfCtx *model.Context, assetDests []string, remov } } -func ExportStdMarkdown(id string) string { +func ExportStdMarkdown(id string, assetsDestSpace2Underscore bool) string { tree, err := LoadTreeByBlockID(id) if err != nil { logging.LogErrorf("load tree by block id [%s] failed: %s", id, err) @@ -1487,7 +1487,7 @@ func ExportStdMarkdown(id string) string { } defBlockIDs = gulu.Str.RemoveDuplicatedElem(defBlockIDs) - return exportMarkdownContent0(tree, cloudAssetsBase, false, + return exportMarkdownContent0(tree, cloudAssetsBase, assetsDestSpace2Underscore, ".md", Conf.Export.BlockRefMode, Conf.Export.BlockEmbedMode, Conf.Export.FileAnnotationRefMode, Conf.Export.TagOpenMarker, Conf.Export.TagCloseMarker, Conf.Export.BlockRefTextLeft, Conf.Export.BlockRefTextRight,