1.html-to-markdown
npm install html-to-markdown
不支持vue3
2.Marked
npm install marked
不支持table转换
官网 https://marked.js.org/
3.html-to-md
npm i html-to-md
import html2md from 'html-to-md'
console.log(
html2md('<strong><em>strong and italic</em></strong>', options, force)
)
// ***strong and italic***
官网 https://github.com/stonehank/html-to-md/tree/master
demo https://stonehank.github.io/html-to-md/
4.turndown 推荐 支持自定义过滤规则
npm i turndown
npm i turndown-plugin-gfm
转table需要配合 turndown-plugin-gfm 插件开发
import Turndown form 'turndown'
import {gfm}form 'turndown-plugin-gfm'
const turndownService = new Turndown()
turndownService.use(gfm)
// 添加一个自定义规则
turndownService.addRule('customRule', {
filter: function(node, options) {
// 这里定义你的过滤条件
// 例如,只处理具有特定类名的元素
return node.classList.contains('tdd');
},
replacement: function(content, node, options) {
// 这里定义你的替换逻辑
// 例如,将内容包裹在 Markdown 的双引号中
return '```' + content.replace(/\n/g,'<br/>') + '```'
}
});
turndownService.turndown('html格式')