marked覆盖A标签的解析规则

marked覆盖A标签的解析规则

月光魔力鸭

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

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

marked 解析a标签处理

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

目前,我只是用到了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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
当我们想实现一个自己的库或模块后,发布的话,需要发布到npm上才能下载。以下是具体步骤
最近有接触到针对二维码进行识别的功能,然后对图片进行位置纠正、二维码扫描,并将数据进行整理。以下是通过nodejs做的,相对简单一些,没有太过严格,识别率也不是很高大约80%左右
前段时间帮朋友下歌放在车上听..结果好多都是ncm格式,伤心 ,搜索了下发现基本上这格式解密有好多昂,可惜UI我都不太想要..决定抄一下,自己做一个。 这里先记录下核心代码,回头补充个UI 做个小程序。
今天写文章,突然发现自己常用的素材站换成了webp格式的图片.. 可惜本站还没准备加这个支持,所以准备加个webp转jpg的小功能,继续使用啦。
在我们做运维或者小工具的时候,总会有些需要提醒的事情,比如服务器宕机或者天气提醒,但是发email又会不够及时或者可能会忽略,那么短信就是一个不错的选择了
介绍几个日常开发中常用的几个小工具: anywhere / anywhere-auth / watchlessc / changeext
关于js的编译和压缩,之前做过一个小工具了,主要就是自己项目成员大都没有这部分的技能,导致发布的时候总需要去编译压缩下.. 最终做了个命令行小工具.. 问题不在这里,前一阵子做压缩的时候发现压缩后竟然是undefined.最终才发现是es6的语法问题。
通过node-xlsx模块读取excel和写入