mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-23 10:00:13 +01:00
🎨 Add data-doc-type and attribute when exporting image and PDF https://github.com/siyuan-note/siyuan/issues/9497
This commit is contained in:
parent
281e0ba091
commit
dbd829a4a0
2 changed files with 14 additions and 3 deletions
|
|
@ -26,6 +26,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/88250/gulu"
|
"github.com/88250/gulu"
|
||||||
|
"github.com/88250/lute/parse"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/siyuan-note/logging"
|
"github.com/siyuan-note/logging"
|
||||||
"github.com/siyuan-note/siyuan/kernel/model"
|
"github.com/siyuan-note/siyuan/kernel/model"
|
||||||
|
|
@ -462,14 +463,23 @@ func exportPreviewHTML(c *gin.Context) {
|
||||||
if nil != arg["image"] {
|
if nil != arg["image"] {
|
||||||
image = arg["image"].(bool)
|
image = arg["image"].(bool)
|
||||||
}
|
}
|
||||||
name, content := model.ExportHTML(id, "", true, image, keepFold, merge)
|
name, content, node := model.ExportHTML(id, "", true, image, keepFold, merge)
|
||||||
// 导出 PDF 预览时点击块引转换后的脚注跳转不正确 https://github.com/siyuan-note/siyuan/issues/5894
|
// 导出 PDF 预览时点击块引转换后的脚注跳转不正确 https://github.com/siyuan-note/siyuan/issues/5894
|
||||||
content = strings.ReplaceAll(content, "http://"+util.LocalHost+":"+util.ServerPort+"/#", "#")
|
content = strings.ReplaceAll(content, "http://"+util.LocalHost+":"+util.ServerPort+"/#", "#")
|
||||||
|
|
||||||
|
attrs := map[string]string{}
|
||||||
|
var typ string
|
||||||
|
if nil != node {
|
||||||
|
attrs = parse.IAL2Map(node.KramdownIAL)
|
||||||
|
typ = node.Type.String()
|
||||||
|
}
|
||||||
|
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"id": id,
|
"id": id,
|
||||||
"name": name,
|
"name": name,
|
||||||
"content": content,
|
"content": content,
|
||||||
|
"attrs": attrs,
|
||||||
|
"type": typ,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -493,7 +503,7 @@ func exportHTML(c *gin.Context) {
|
||||||
if nil != arg["merge"] {
|
if nil != arg["merge"] {
|
||||||
merge = arg["merge"].(bool)
|
merge = arg["merge"].(bool)
|
||||||
}
|
}
|
||||||
name, content := model.ExportHTML(id, savePath, pdf, false, keepFold, merge)
|
name, content, _ := model.ExportHTML(id, savePath, pdf, false, keepFold, merge)
|
||||||
ret.Data = map[string]interface{}{
|
ret.Data = map[string]interface{}{
|
||||||
"id": id,
|
"id": id,
|
||||||
"name": name,
|
"name": name,
|
||||||
|
|
|
||||||
|
|
@ -585,7 +585,7 @@ func ExportMarkdownHTML(id, savePath string, docx, merge bool) (name, dom string
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func ExportHTML(id, savePath string, pdf, image, keepFold, merge bool) (name, dom string) {
|
func ExportHTML(id, savePath string, pdf, image, keepFold, merge bool) (name, dom string, node *ast.Node) {
|
||||||
savePath = strings.TrimSpace(savePath)
|
savePath = strings.TrimSpace(savePath)
|
||||||
|
|
||||||
bt := treenode.GetBlockTree(id)
|
bt := treenode.GetBlockTree(id)
|
||||||
|
|
@ -594,6 +594,7 @@ func ExportHTML(id, savePath string, pdf, image, keepFold, merge bool) (name, do
|
||||||
}
|
}
|
||||||
|
|
||||||
tree := prepareExportTree(bt)
|
tree := prepareExportTree(bt)
|
||||||
|
node = treenode.GetNodeInTree(tree, id)
|
||||||
|
|
||||||
if merge {
|
if merge {
|
||||||
var mergeErr error
|
var mergeErr error
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue