javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]

javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]本文概述许多项目不是从定义的结构开始,而是随着时间的流逝而变化。例如,一个基本博客可能从一开始就使用HTML格式将其内容存储在数据库中,但是由于其简单性,总有一天某人可能希望开始使用Markdown而不是HTML,在这种情况下,你需要从一种格式转换为另一种格式。如果你将服务器端逻辑与JavaScript(Node.js)一起使用,甚至直接在浏览器中将HTML转换为编辑器中的Markd…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文概述

许多项目不是从定义的结构开始, 而是随着时间的流逝而变化。例如, 一个基本博客可能从一开始就使用HTML格式将其内容存储在数据库中, 但是由于其简单性, 总有一天某人可能希望开始使用Markdown而不是HTML, 在这种情况下, 你需要从一种格式转换为另一种格式。如果你将服务器端逻辑与JavaScript(Node.js)一起使用, 甚至直接在浏览器中将HTML转换为编辑器中的Markdown, 则可以使用Turndown库轻松地完成此类任务, HTML到用JavaScript编写的Markdown转换器。

在本文中, 我们将向你展示如何在Node.js甚至浏览器中将HTML转换为Markdown。有关该库的更多信息, 请访问Github上的官方存储库, 或访问官方主页以在线测试转换器。

A.将库用作模块(Node.js或ES6)

如果你喜欢Webpack, Browserify等捆绑程序的主题, Turndown将在官方NPM软件包中提供对UMD的支持, 你可以使用以下NPM命令轻松将其安装在项目中:

npm install turndown –save

安装后, 你将可以使用require或import从Node.js或ES6导入模块。导入模块后, 逻辑非常简单。创建turndown服务的实例并将其存储到变量中, 从该变量执行turndown方法, 将要转换为markdown的HTML字符串作为第一个参数, 就是这样:

// Import Turndown module

const TurndownService = require(‘turndown’);

// Create an instance of the turndown service

let turndownService = new TurndownService();

// Use the turndown method from the created instance

// to convert the first argument (HTML string) to Markdown

let markdown = turndownService.turndown(‘

Hello world!

‘);

// Outputs:

//

// Hello world!

// ============

console.log(markdown);

B.使用VanillaJS

如果你不喜欢模块捆绑器, 或者仅在浏览器中工作, 则可以使用脚本标签在HTML文档中简单地包含turndown的源脚本:

请注意, 你可以从Github官方存储库中的发行版下载最新版本。包含脚本之后, 你应该能够使用前面工作方式中提到的相同逻辑将HTML转换为markdown:

// Create an instance of the turndown service

var turndownService = new TurndownService();

// Use the turndown method from the created instance

// to convert the first argument (HTML string) to Markdown

var markdown = turndownService.turndown(‘

Hello world!

‘);

// Outputs:

//

// Hello world!

// ============

console.log(markdown);

自订选项

该库提供了明显可定制的属性, 你可以通过一个简单的对象将其指定给转换器。需要在TurndownService类的实例中提供具有配置的此对象, 特别是在构造函数中作为第一个参数(这对Node.js和VanillaJS均有效):

选项

有效值

default

标题样式

setext或atx

setext

hr

任何主题休息

* * *

bulletListMarker

-, +或*

*

codeBlockStyle

缩进或围起来

缩进

围栏

“或~~~

“`

emDelimiter

_ 要么 *

+

strongDelimiter

** 要么 __

**

linkStyle

内联或引用

内联

linkReferenceStyle

完整, 折叠或快捷方式

例如, 要将强调字符从_更改为*, 你只需执行以下操作:

// Configure turndown

var options = {

emDelimiter: “*”

};

// Create an instance of the turndown service with custom options

var turndownService = new TurndownService(options);

// Use the turndown method from the created instance

// to convert the first argument (HTML string) to Markdown

var markdown = turndownService.turndown(‘

Hello world!

Welcome‘);

// Outputs:

//

// Hello world!

// ============

//

// *Welcome*

console.log(markdown);

编码愉快!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196013.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • eplan激活码破解步骤【2021.7最新】

    (eplan激活码破解步骤)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • 火眼金睛审核 一键轻松处理[通俗易懂]

    火眼金睛审核 一键轻松处理——学籍助手简介学籍助手是专为河北省义务教育学籍管理系统区县端开发的一款辅助工具(图)。该工具不影响原系统正常使用,只是扩充了一些实用功能,只是让学籍管理变得异常轻松简单(如您不是区县学籍管理员,请勿下载)。学籍助手具有严格的入库审核、强大的批量处理和轻松的数据对接功能,犹如为原学籍管理系统赋予一双慧眼、插上一对翅膀,从容处理繁杂的学籍变…

  • csgo怎么绑定一键跳投_CSGO投掷物一键跳投的设置方法[通俗易懂]

    所需工具:空白的文本文档适用范围:跳投高抛/跳投中抛/跳投低抛步骤一:打开新建的文本文档,输入如下内容alias+jumpthrow”+jump;-attack;-attack2″;alias-jumpthrow-jump;bindt+jumpthrow;(注释:t为你想绑定的键位)步骤二:保存文档,重命名为a.cfg(其实只要是.cfg结束即可),此时文件应…

  • python读取文件夹下所有图片文件_python删除某一列

    python读取文件夹下所有图片文件_python删除某一列具体实现步骤功能需求读取一个文件夹中的所有图片,并将图像数据存储在一个文件中。说明对于本程序中的实现,图片文件夹与python文件应在图一个目录中。如上图所示,楼主的face.py为读文件夹中所有文件的代码。file中存放的是多张图片。这两个文件都在根目录下,你也可以将他们两个放在其他的目录下,若不放在同一个目录下,则需要修改代码,才能运行成功。第一步:导入库代码为:import…

  • BootStrap初始

    序言什么是BootstrapBootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。它是为实现快速开发Web应用程序而设计的一套前端工具包。它支持响应式布

  • 芭比Q了,腰间盘给整突出了「建议收藏」

    在2022年除了腰间盘外,其他的各个方面都可以越来越突出!

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号