marked覆盖A标签的解析规则

marked覆盖A标签的解析规则

月光魔力鸭

2019-01-24 08:49 阅读 2338 喜欢 1 marked解析规则 href

在使用marked来做md解析的时候,部分解析规则可能并不是很如意,比如说,我在md中写了a标签,但是这些标签都是在当前页面替换的,而我想要的是新打开窗口。

marked 解析a标签处理

首先,undefined是支持规则重新覆盖的,当然,可能在文档中不太好找,我也是找了一阵子才找到。

目前,我只是用到了href的接续规则覆盖,这里只写下相关的代码:

//markdown 解析器
var renderer = new marked.Renderer();
//重写解析规则
renderer.link = function(href,title,text){
	return '<a href="'+href+'" title="'+text+'" target="_blank">'+text+'</a>';
}
article.html = marked(content,{renderer : renderer});

marked 解析html转义

在这一阵子的书写中又发现一个问题,在md中书写html结果把html给消毒了,额 翻译的“消毒水”。 例如:

//直接在md中书写以下内容,会在解析成的html中直接展现出来,并没有变成红色。
<span style="color:red;">红色字体</span>

毕竟,有时候md的展现样式不够丰富,可以稍微加点html润色一下,最终找了好久的配置文档才发现是某个配置导致的。

var marked = require('marked');

//markdown 解析器
var renderer = new marked.Renderer();
marked.setOptions({
    renderer: new marked.Renderer(),
    gfm: true,
    tables: true,
    breaks: false,
    pedantic: false,
//请注意此处,修改为false即可。
    sanitize: false,//消毒:意思是将html转义成&xxx等。
    silent : true,
    smartLists: true,
    smartypants: false

});

以上。

参考文档:

转载请注明出处: https://chrunlee.cn/article/marked-href-rule.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
前段时间做了个微信小程序反编译的小东西,不过因为功能不全,没加分包处理,正好处理下加上,又考虑到后续可能的更新情况,准备上手增加下更新功能。
为什么要读取图片呢?需求来源于这里。我有一大堆的ppt文件,里面全是图片,想将这些图片全部拿到,然后存储在数据库中,在线上预览,一张张的保存我自然是不乐意的。
在开发项目过程中,经常需要将开发的项目部署到服务器上,但是每个环境都有每个环境的配置等等,如果每次打包的时候都要去调整(可能删除、替换等),那就很烦人了,这里分享下自己实现的几个简单的小工具(当然这个工具可能只对我自己有用),希望能够帮到你。
通过pm2来实现nodejs应用的集群,不过我之前没做session共享,导致.. 登录不上啊 啊啊啊,无奈,又重新对redis进行了集成。
发布自己的nodejs应用后,需要进行管理,目前一般都pm2来进行管理,这里记录下常用的命令。
碰到个小需求,本来实现挺简单的,用的electron,开发模式下各种顺畅...半个小时就搞定了,结果倒在了electron打包上..这个坑我应该跳进来了好多次了..
由于国家的行政区划每年都有变化,所以经常需要更新最新的数据,这里提供一个nodejs版本mysql数据存储的抓取示例。
互联网应用经常需要存储用户上传的图片,比如facebook相册。 facebook目前存储了2600亿张照片,总大小为20PB,每张照片约为80KB。用户每周新增照片数量为10亿。(总大小60TB),平均每秒新增3500张照片(3500次写请求),读操作峰值可以达到每秒百万次