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);

编码愉快!

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 3.cocos2dx它Menu,由menu为了实现场景切换

    3.cocos2dx它Menu,由menu为了实现场景切换

    2022年1月4日
    49
  • 关于自建blog

    关于自建blog

    2021年5月12日
    133
  • 解密excel文件打开密码「建议收藏」

    解密excel文件打开密码「建议收藏」excel文件带有打开密码,忘记了密码或者是不知道密码的情况下,想要打开文件是需要解密工具帮助的,因为需要找到正确的密码才能够打开文件,其他方法好像还没办法成功解决文件打开密码。解密工具:【EXCEL解密大师】快速找回密码_轻松移除使用限制-奥凯丰okfone打开软件,选择【找回密码】功能,将文件添加进去,选择一个找回方法,点击【开始】之后等待软件找回密码关于找回方法:组合激活成功教程、掩码激活成功教程:适用于可以提供密码信息的情况,这两种方法可以根据密码信息更快速的找回密码,六位数及一下的密码,十分钟

    2022年6月28日
    28
  • NVIC中断管理

    NVIC中断管理使用中断之前,第一步要了解的是其优先级管理,下面总结一下STM32NVIC的中断优先级管理。(正点原子系列)以smt32f103系列为例,其具有16个内核中断和60个可屏蔽中断。下面介绍其库函数的开发:MDK内与NVIC相关的寄存器包含在结构体中,通过创建结构体,配置其内部组成员也就是寄存器,来配置NVIC各个配置。先介绍其结构体的内部内容:在结构体内有介绍!中断配置寄存器[]内的…

    2022年5月27日
    70
  • java的字符串分割

    java的字符串分割使用split0)方法可以使字符串按指定的分割字符或字符串对内容进行分割,并将分割后的结果存放在字符串数组中。split()方法提供了以下两种字符串分割形式。(1)split(Stringsign)该方法可根据给定的分割符对字符串进行拆分。语法如下:str.spli(Stringsign)其中,sign为分割字符串的分割符,也可以使用正则表达式。.注意:没有统一的对字符进行分割的符号。如果想定义多个分割符,可使用符号“|”。例如,“=”表示分割符分别为“”和“=”。(2)split…

    2022年9月29日
    3
  • docker常用命令详解

    docker常用命令详解

    2021年6月1日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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