diff --git a/kernel/model/import.go b/kernel/model/import.go index 2b65d2426..de0d3513f 100644 --- a/kernel/model/import.go +++ b/kernel/model/import.go @@ -1102,7 +1102,7 @@ func imgHtmlBlock2InlineImg(tree *parse.Tree) { return ast.WalkContinue } - if ast.NodeHTMLBlock == n.Type { + if ast.NodeHTMLBlock == n.Type || (ast.NodeText == n.Type && bytes.HasPrefix(bytes.ToLower(n.Tokens), []byte("")) { tokens = bytes.TrimPrefix(tokens, []byte("
")) @@ -1151,7 +1151,12 @@ func imgHtmlBlock2InlineImg(tree *parse.Tree) { } img.AppendChild(&ast.Node{Type: ast.NodeCloseParen}) - n.InsertBefore(p) + if nil != n.Parent && ast.NodeText == n.Type { + // 行级 HTML 会被解析为文本,所以这里要在父级段落前面插入,避免形成段落嵌套 https://github.com/siyuan-note/siyuan/issues/13080 + n.Parent.InsertBefore(p) + } else { + n.InsertBefore(p) + } n.Unlink() } return