Vanessa219 / vditor

♏ 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏预览模式。An In-browser Markdown editor, support WYSIWYG (Rich Text), Instant Rendering (Typora-like) and Split View modes.
https://b3log.org/vditor
MIT License
8.27k stars 853 forks source link

文档 标题内容带有下划线(_)时,在preview模式下,生成目录时把标题内容中的下划线(_)删除了 #1543

Open sunshineshenjin opened 8 months ago

sunshineshenjin commented 8 months ago

描述问题

在文档使用 preview 进行渲染时,生成的目录会把标题中带有的下划线给去掉。

例如:文档正文中有一个二级标题:教_程, 渲染成目录时,文字变成了 教程, 把原本内容的下划线去掉了。

渲染逻辑如下:

       const previewElement = document.getElementById('preview')
        const outlineElement = document.getElementById('outline')
        VditorPreview.preview(previewElement, this.docContent, {
          lang: 'zh_CN',
          cdn: vditorCDN,
          mode: 'editor',
          hljs: {
            enable: true,
            // style: 'dracula',
          },
          markdown: {
            toc: true,
            sanitize: false
          },
          after: () => {
            this.loading = false
            VditorPreview.outlineRender(document.getElementById('preview'), outlineElement)
            console.log(outlineElement.innerText)
            if (outlineElement.innerText.trim() !== '') {
              outlineElement.style.display = 'block'
            } else {
              outlineElement.style.display = 'none'
            }
          },

期待的结果

期待渲染目录时正确渲染原本的标题。

截屏或录像

官方示例中的问题: image

实际项目中的问题: image

版本信息

vue3, vidtor3.9.8