فهرست منبع

:bug: Exporting embedded heading blocks without blocks underneath Fix https://github.com/siyuan-note/siyuan/issues/12075

Daniel 11 ماه پیش
والد
کامیت
cfdec8fcda
1فایلهای تغییر یافته به همراه14 افزوده شده و 1 حذف شده
  1. 14 1
      kernel/model/render.go

+ 14 - 1
kernel/model/render.go

@@ -201,7 +201,20 @@ func resolveEmbedR(n *ast.Node, blockEmbedMode int, luteEngine *lute.Lute, resol
 					if "d" == sqlBlock.Type {
 						subTree, _ := LoadTreeByBlockID(sqlBlock.ID)
 						md, _ = lute.FormatNodeSync(subTree.Root, luteEngine.ParseOptions, luteEngine.RenderOptions)
-					} // 标题块不需要再单独解析,直接使用 Markdown,函数开头处会处理
+					} else if "h" == sqlBlock.Type {
+						subTree, _ := LoadTreeByBlockID(sqlBlock.ID)
+						h := treenode.GetNodeInTree(subTree, sqlBlock.ID)
+						var hChildren []*ast.Node
+						hChildren = append(hChildren, h)
+						hChildren = append(hChildren, treenode.HeadingChildren(h)...)
+						mdBuf := &bytes.Buffer{}
+						for _, hChild := range hChildren {
+							md, _ = lute.FormatNodeSync(hChild, luteEngine.ParseOptions, luteEngine.RenderOptions)
+							mdBuf.WriteString(md)
+							mdBuf.WriteString("\n\n")
+						}
+						md = mdBuf.String()
+					}
 
 					buf := &bytes.Buffer{}
 					lines := strings.Split(md, "\n")