JS实现HTML转成Markdown的方法和代码是什么
Admin 2022-11-28 群英技术资讯 1003 次浏览
我们主要是借助 Turndown这个库来实现的
npm 安装
npm i turndown
es6 import 引入:
import TurndownService from 'turndown'
CommonJs require 引入:
const TurndownService = require('turndown');
接下来我们就可以简单的使用它了:
import TurndownService from 'turndown'; const html = ` <h1>Learn Web Development</h1> <p>Check out <a href="https://codingbeautydev.com/blog" rel="external nofollow" rel="external nofollow" >Coding Beauty</a> for some great tutorials!</p> `; // Create an instance of the Turndown service const turndownService = new TurndownService(); const markdown = turndownService.turndown(html); console.log(markdown);
输出如下:
Learn Web Development
=====================
Check out [Coding Beauty](https://codingbeautydev.com/blog) for some great tutorials!
除了 npm 安装的方式,我们还可以通过 <script>
标签引入的方式实现调用:
<script src="https://unpkg.com/turndown/dist/turndown.js"></script>
调用实现转换:和上面例子一致
const html = ` <h1>Learn Web Development</h1> <p>Check out <a href="https://codingbeautydev.com/blog" rel="external nofollow" rel="external nofollow" >Coding Beauty</a> for some great tutorials!</p> `; // Create an instance of the Turndown service const turndownService = new TurndownService(); const markdown = turndownService.turndown(html); console.log(markdown);
我们还可以直接对 dom 节点进行转换
// convert document <body> to Markdown const bodyMarkdown = turndownService.turndown(document.body);
于此同时,turndown 还有一些参数可以配置:
比如 bulletListMarker
属性,可以将 markdown 中的 list 用符号作标记:
import TurndownService from 'turndown'; const html = ` <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript<li>`; // Specifying options when creating an instance of the // Turndown service const turndownService = new TurndownService({ bulletListMarker: '-' }); const markdown = turndownService.turndown(html); console.log(markdown);
输出:
- HTML
- CSS
- JavaScript
更多属性配置见:github.com/mixmark-io/…
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了javaScript实现放大镜特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了一文搞懂Vue3中的异步组件,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
async与await捕捉错误正常的输出时try catch捕捉错误多个异步嵌套时 await-to-js异步嵌套使用了try,代码相对不够智能总结async与await捕捉错误正常的输出
最简单粗暴的通信方式是 Nodejs调用一下 Python 脚本,本文详细介绍了Nodejs与Python 双向通信的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
vue可拖拽进度条效果如何实现?进度条是在web开发中经常会遇到的需求,那么可拖拽的进度条效果是如何实现的呢?这篇文章就给大家分享一下vue实现简单可拖拽进度条效果的代码实例。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008