diff --git a/kernel/model/export.go b/kernel/model/export.go index 351da7fd4..a37e3fb65 100644 --- a/kernel/model/export.go +++ b/kernel/model/export.go @@ -2166,7 +2166,15 @@ func exportTree(tree *parse.Tree, wysiwyg, expandKaTexMacros, keepFold bool, if addTitle { if root, _ := getBlock(id, tree); nil != root { root.IAL["type"] = "doc" - title := &ast.Node{Type: ast.NodeHeading, HeadingLevel: 1, KramdownIAL: parse.Map2IAL(root.IAL)} + title := &ast.Node{Type: ast.NodeHeading, HeadingLevel: 1} + for k, v := range root.IAL { + if "type" == k { + continue + } + title.SetIALAttr(k, v) + } + title.InsertAfter(&ast.Node{Type: ast.NodeKramdownBlockIAL, Tokens: parse.IAL2Tokens(title.KramdownIAL)}) + content := html.UnescapeString(root.Content) title.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(content)}) ret.Root.PrependChild(title)