前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何将html转换markdown

如何将html转换markdown

作者头像
老K博客
发布于 2024-05-15 13:39:42
发布于 2024-05-15 13:39:42
25600
代码可运行
举报
文章被收录于专栏:老K博客老K博客
运行总次数:0
代码可运行

有时候我们需要将网页上的文档转成markdown格式以方便我们二次开发。因为网上的文章都是html格式的。而我们一般写作都习惯markdown。这时候就需要用到Turndown

什么是Turndown

Turndown 是一个开源的JavaScript库,它允许开发者将Markdown格式的文本转换为HTML。Markdown是一种轻量级的标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML页面。 Turndown 库的主要特点和用途包括:

  • Markdown 转 HTML:Turndown 可以将Markdown格式的文本转换为HTML代码,这使得编写和维护网站内容变得更加方便和快捷。
  • 兼容性:由于Markdown的广泛使用,Turndown 使得开发者能够轻松地将现有的Markdown文档集成到Web应用中,或者在不同的平台和编辑器之间迁移Markdown内容。
  • 定制化:Turndown 提供了一系列的选项和插件,允许开发者定制转换规则,以满足特定的需求或样式要求。
  • 跨平台:作为一个JavaScript库,Turndown 可以在浏览器端和Node.js环境中运行,这为在不同环境中处理Markdown提供了灵活性。
  • 开源:Turndown 是开源的,这意味着开发者可以自由地使用、修改和分发它,同时也能够贡献代码来改进这个库。 使用Turndown,开发者可以创建强大的在线Markdown编辑器、静态站点生成器或其他需要Markdown支持的Web应用。通过Turndown,Markdown的简洁和强大得以在Web应用中得到充分发挥。

如果在有node环境的情况下要使用 Turndown,首先需要将它添加到你的项目中。可以使用 npm 或 yarn 安装 Turndown,如下所示:

使用 npm 安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install turndown

使用 yarn 安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add turndown

或者html文件直接引入:

安装完成,可以在项目中使用它。以下是一个简单的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import TurndownService from 'turndown';

const turndownService = new TurndownService();

const html = 'Hello, World!This is a sample HTML document.';
const markdown = turndownService.turndown(html);

console.log(markdown);

无需安装,直接在html文件使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  Document


  
    // 创建 TurndownService 实例
    const turndownService = new TurndownService();
  
    // 要转换的 HTML 内容
    const htmlContent = '<h1>Hello, World!</h1><p>This is a <em>sample</em> HTML document.</p>';
  
    // 使用 Turndown 进行转换
    const markdown = turndownService.turndown(htmlContent);
  
    // 输出 Markdown
    console.log(markdown);

参数

Turndown 提供了一些参数和配置选项,以便更精细地控制 HTML 到 Markdown 的转换过程。以下是一些常用的参数和配置选项:

headingStyle (标题样式): 用于指定生成的 Markdown 标题的样式。可选值包括 "setext" (默认值)和 "atx""setext" 样式使用下划线或等号来表示标题级别,而 "atx" 样式使用井号的数量表示标题级别。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const turndownService = new TurndownService({ headingStyle: 'atx' });

hr (水平分隔线): 用于指定生成的 Markdown 水平分隔线的样式。默认是 * * *

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const turndownService = new TurndownService({ hr: '- - -' });

bulletListMarker (无序列表标记): 用于指定生成的 Markdown 无序列表的标记。默认是 "*"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const turndownService = new TurndownService({ bulletListMarker: '-' });

codeBlockStyle (代码块样式): 用于指定生成的 Markdown 代码块的样式。默认是三个反引号 "`"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const turndownService = new TurndownService({ codeBlockStyle: '```' });

fence (代码块标记): 用于指定生成的 Markdown 代码块的标记。默认是 ~~~

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const turndownService = new TurndownService({ fence: '```' });

emDelimiter (强调/斜体标记): 用于指定生成的 Markdown 强调(斜体)的标记。默认是 "_"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const turndownService = new TurndownService({ emDelimiter: '*' });

strongDelimiter (粗体标记): 用于指定生成的 Markdown 粗体的标记。默认是 "**"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const turndownService = new TurndownService({ strongDelimiter: '__' });

本文共 737 个字数,平均阅读时长 ≈ 2分钟

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024年05月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]
许多项目不是从定义的结构开始, 而是随着时间的流逝而变化。例如, 一个基本博客可能从一开始就使用HTML格式将其内容存储在数据库中, 但是由于其简单性, 总有一天某人可能希望开始使用Markdown而不是HTML, 在这种情况下, 你需要从一种格式转换为另一种格式。如果你将服务器端逻辑与JavaScript(Node.js)一起使用, 甚至直接在浏览器中将HTML转换为编辑器中的Markdown, 则可以使用Turndown库轻松地完成此类任务, HTML到用JavaScript编写的Markdown转换器。
全栈程序员站长
2022/10/04
4.6K0
Turndown 源码分析:四、`turndown.js`
ApacheCN_飞龙
2023/10/13
3810
JavaScript 如何将 HTML 转成 Markdown?
本篇带来:在 JavaScript 如何将 HTML 转成 Markdown?先收藏,总有一天要用到!!
掘金安东尼
2022/08/22
8890
JavaScript 如何将 HTML 转成 Markdown?
Markdown基础教程
Markdown 换行挺讲究,会发现在编写的时候直接回车换行发现不生效,那怎么办呢?
小城故事
2022/11/30
6.5K0
HTML 转 Markdown 如此简单
现在好的技术文章非常多,每天各种技术群里,各种技术社区,有很多质量非常好的技术文章,比如 CSDN,掘金、微信公众号等, 于是我们就收藏了,收藏等于学会。
狂奔滴小马
2022/03/30
10.7K1
HTML 转 Markdown 如此简单
十五分钟让你快速学习Markdown语法到精通排版实践
描述: Markdown 是一种轻量级标记语言于2004年推出,创始人为约翰·格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。
全栈工程师修炼指南
2022/09/29
2.6K0
一份简明的 Markdown 笔记与教程
为部门内知识分享准备的素材,记录了 Markdown 的优点、应用场景和编辑工具,介绍了标准语法与扩展语法,以及一些应用 Markdown 的奇技淫巧。个人使用 Markdown 的经验持续补充中,最新完整版请参见
mzlogin
2020/04/16
1.1K0
Markdown:解放排版,简洁高效的文字创作神器!
Markdown 是一种轻量级的标记语言,它允许人们使用易读易写的纯文本格式编写文档,借助可实现快速排版且转换成格式丰富的 HTML 页面。目前被越来越多的写作爱好者及工作者使用。它在写作、博客、文档等领域得到了广泛应用,因其简洁、易读、易写的特点而备受欢迎,一旦掌握这种标记语言,将极大提高效率。但是若需要复杂排版如左右对齐缩进等,还是选择 word 等专业软件。
南山竹
2024/06/13
5800
Markdown:解放排版,简洁高效的文字创作神器!
Markdown之语法入门篇
我相信有很多小伙伴没有听说过Markdown语言。的确,对于一般人来说,有word足够了。但是有这么一群人,受够了word那糟糕的排版方式,需要一种新型的、能让人专注于输入而非格式的东西。网站小编、码农、排版编辑高呼:“要有光!” 于是乎Markdown诞生了。
于果
2021/08/25
1.1K0
文档写作利器:Markdown
无论你是软件开发者,还是互联网写作者,为了使自己写的文档或作品更好的流通,便于在不同场合、不同环境、不同人群的查看,亟需寻求一种通用、便于扭转、留存的文档格式。
xcbeyond
2020/03/25
2.4K0
文档写作利器:Markdown
学markdown怎能不知道与之相关的html了include <iostream>
<h2>导言</h2> <strong> markdown,hthl都是超文本标记语言,markdown是简化版本的html,兼容html语言,熟悉一下html将有助于你更加熟悉markdown,其实是想说,自己准备开始写文章了,所以自己想要了解一下markdown嘛</strong> <em>这篇文章大部分是用html,在markdownpad写的,简书上不支持的标签,我改了。</em> <h2>1.0 超链接标签</h2> <a href="https://zhidao.baidu.co
热心的社会主义接班人
2018/04/27
7260
学markdown怎能不知道与之相关的html了include <iostream>
Markdown语法
加粗,字体加粗倾斜设置,倾斜, 加粗及倾斜加粗倾斜 加粗 斜体 加粗倾斜 加粗字体设置倾 斜字 体设置倾斜字体
小海怪的互联网
2019/10/08
8710
Markdown语法
常用的Markdown格式的语法规则
最近开始试着学习使用Typora写文档记录东西,这篇放一些常用的Markdown使用例以便回顾,并分享给大家
晨星成焰
2024/07/24
4060
常用的Markdown格式的语法规则
python-mammoth - docx到 HTML 转换器
github : https://github.com/mwilliamson/python-mammoth
1AI
2024/12/26
4580
python-mammoth - docx到 HTML 转换器
Markdown 语法笔记
Markdown 是一种轻量级的标记语言,可用于在纯文本文档中添加格式化元素。Markdown 由 John Gruber 于 2004 年创建。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易写,Markdown被大量使用。
h-t-m
2022/11/24
4.4K0
Markdown 语法笔记
Markdown入门指南【我为什么要推荐你学习Markdown?】
Markdown 是一种可以使用普通文本编辑器编写的轻量级标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式,可以导出 PPT、LaTex、HTML、Word、PDF、Epub、JPG 等多种格式的文档,文档后缀为 .md。
我是管小亮
2020/04/20
1.7K0
Markdown Rules 详解
使用VSCode编写Markdown文件时,建议安装插件markdownlint,它可以帮助自己更加规范的写文章.
DevOps在路上
2023/05/16
9740
Markdown 语法说明(简体中文版)
NOTE: This is Simplelified Chinese Edition Document of Markdown Syntax. If you are seeking for English Edition Document. Please refer to Markdown: Syntax. 声明: 这份文档派生(fork)于繁体中文版,在此基础上进行了繁体转简体工作,并进行了适当的润色。此文档用 Markdown 语法编写,你可以到这里查看它的源文件。「繁体中文版的原始文件可以查看这里
_gongluck
2018/03/08
2.4K0
markdown语法
Markdown 语法说明 (简体中文版) / (点击查看快速入门) 概述 宗旨 兼容 HTML 特殊字符自动转换 区块元素 段落和换行 标题 区块引用 列表 代码区块 分隔线 区段元素 链接 强调 代码 图片 其它 反斜杠 自动链接 感谢 概述 宗旨 Markdown 的目标是实现「易读易写」。 可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML
lwen
2018/04/17
1K0
深入了解Markdown:高效笔记与博客写作的终极利器
Markdown 是一种轻量级的标记语言,设计初衷是简化文本编写,特别是在写博客、记录笔记时,可以集中精力在内容创作上,而不需要关注复杂的排版细节。通过简单的标记符号,Markdown 可以让你轻松生成结构化、格式化的文档。它已经成为技术文档、博客文章以及其他许多在线写作平台的标准语言。 本文我们主要来介绍Markdown:
意疏
2024/12/26
3650
深入了解Markdown:高效笔记与博客写作的终极利器
相关推荐
javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验