Feat:支持解析md文件中带html格式的标题文本

This commit is contained in:
街角小林 2024-05-13 10:13:48 +08:00
parent d93825dd57
commit 5cfc313f8e

View File

@ -1,11 +1,17 @@
import { fromMarkdown } from 'mdast-util-from-markdown'
const getNodeValue = node => {
if (node.children[0]) {
if (node.children[0].value !== undefined) {
return node.children[0].value
const getNodeText = node => {
// 优先找出其中的text类型的子节点
let textChild = (node.children || []).find(item => {
return item.type === 'text'
})
// 没有找到,那么直接使用第一个子节点
textChild = textChild || node.children[0]
if (textChild) {
if (textChild.value !== undefined) {
return textChild.value
}
return getNodeValue(node.children[0])
return getNodeText(textChild)
}
return ''
}
@ -19,7 +25,7 @@ const handleList = node => {
let node = {}
node.data = {
// 节点内容
text: getNodeValue(cur)
text: getNodeText(cur)
}
node.children = []
newArr.push(node)
@ -55,7 +61,7 @@ export const transformMarkdownTo = md => {
let node = {}
node.data = {
// 节点内容
text: getNodeValue(cur)
text: getNodeText(cur)
}
node.children = []
// 如果当前的层级大于上一个节点的层级,那么是其子节点