Browse Source

:art: Improve node parsing

Daniel 1 year ago
parent
commit
68be7bdfe4
2 changed files with 13 additions and 0 deletions
  1. 3 0
      kernel/filesys/json_parser.go
  2. 10 0
      kernel/sql/database.go

+ 3 - 0
kernel/filesys/json_parser.go

@@ -232,6 +232,9 @@ func fixLegacyData(tip, node *ast.Node, idMap *map[string]bool, needFix, needMig
 		// 建立索引时无法解析 `v2.2.0-` 版本的块引用 https://github.com/siyuan-note/siyuan/issues/6889
 		// 早先的迁移程序有缺陷,漏迁移了块引用节点,这里检测到块引用节点后标识需要迁移
 		*needMigrate2Spec1 = true
+	case ast.NodeInlineHTML:
+		*needFix = true
+		node.Type = ast.NodeHTMLBlock
 	}
 
 	for _, kv := range node.KramdownIAL {

+ 10 - 0
kernel/sql/database.go

@@ -689,6 +689,16 @@ func buildSpanFromNode(n *ast.Node, tree *parse.Tree, rootID, boxID, p string) (
 			attributes = append(attributes, attrs...)
 		}
 
+		if ast.NodeInlineHTML == n.Type {
+			// 没有行级 HTML,只有块级 HTML,这里转换为块
+			b, attrs := buildBlockFromNode(n, tree)
+			b.Type = ast.NodeHTMLBlock.String()
+			blocks = append(blocks, b)
+			attributes = append(attributes, attrs...)
+			walkStatus = ast.WalkContinue
+			return
+		}
+
 		if 1 > len(nodes) {
 			walkStatus = ast.WalkContinue
 			return