这篇文章主要介绍“JavaScript怎么将HTML转成Markdown”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript怎么将HTML转成Markdown”文章能帮助大家解决问题。
我们主要是借助 Turndown 这个库来实现的
npm 安装
npm i turndown
es6 import 引入:
import TurndownService from 'turndown'
CommonJs require 引入:
const TurndownService = require('turndown');
接下来我们就可以简单的使用它了:
import TurndownService from 'turndown';
const html = `
<h2>Learn Web Development</h2>
<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 = `
<h2>Learn Web Development</h2>
<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
关于“JavaScript怎么将HTML转成Markdown”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。