markdown与富文本在线转换

背景:工作中已经习惯markdown,但是有的网站还是使用富文本编辑,就需要将原本的markdown修改为富文本;

1,概念

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge等。
富文本格式(Rich Text Format, 一般简称为RTF)是由微软公司开发的跨平台文档格式。最大的特点是:所见即所得,你把格式调整成什么样子,就会直接显示出什么样的效果。这一点和words类似。对于习惯“所见即所得”的写作者来说,比较直观,而且省掉预览再返回调整这一步。

2,markdown—>富文本

2.1 安装google插件

在谷歌商店应用商店搜索“Markdown Here”并下载安装,如下图
在这里插入图片描述

2.2 在线转换

在富文本编辑窗口,选择需要转换的markdown内容,然后点击“markdown here”
在这里插入图片描述

2.3 效果展示

在这里插入图片描述

3,富文本—>markdown

打开 https://www.bejson.com/convert/ueditor2markdown/,左边粘贴富文本,右边就会同步出现markdown,将右侧内容拷贝到你的富文本编辑框即可。

在这里插入图片描述

Markdown转换富文本需要进行两个步骤:解析Markdown语法和将解析结果转换富文本格式。下面是一个示例代码,使用了`marked`库和`html-to-text`库实现Markdown转换为HTML和HTML转换富文本格式: ```javascript const marked = require('marked'); const htmlToText = require('html-to-text'); const he = require('he'); // 解析Markdown语法 const markdown = ` # 标题一 这是正文,[这是链接](https://example.com)。 - 列表项一 - 列表项二`; const html = marked(markdown); // 将解析结果转换富文本格式 const richText = htmlToText.fromString(html, { wordwrap: false, uppercaseHeadings: false, ignoreHref: true, ignoreImage: true, noLinkBrackets: true, format: { text: function (elem, options) { const decoded = he.decode(elem.text); switch (elem.parent?.name) { case 'strong': case 'b': return `<b>${decoded}</b>`; case 'em': case 'i': return `<i>${decoded}</i>`; case 'del': return `<strike>${decoded}</strike>`; case 'code': return `<code>${decoded}</code>`; case 'pre': return `<pre>${decoded}</pre>`; default: return decoded; } }, heading: function (elem, options) { const decoded = he.decode(elem.text); const level = elem.tagName[1]; return `<h${level}>${decoded}</h${level}>`; }, list: function (elem, options) { const items = elem.children.map((child) => { const decoded = he.decode(child.text); return `<li>${decoded}</li>`; }).join(''); const type = elem.ordered ? 'ol' : 'ul'; return `<${type}>${items}</${type}>`; }, paragraph: function (elem, options) { const decoded = he.decode(elem.text); return `<p>${decoded}</p>`; }, }, }); ``` 上述代码将Markdown转换为HTML,然后使用`html-to-text`库将HTML转换富文本格式。其中,`he`库用于对HTML实体进行解码,`format`选项用于指定不同HTML元素转换富文本格式的方法。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

water___Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值