marked覆盖A标签的解析规则

marked覆盖A标签的解析规则

月光魔力鸭

2019-01-24 08:49 阅读 1220 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
在通过axios读取页面的时候,经常会碰到gbk的编码,如果不进行转化的话,在获取信息或读取上都会很麻烦。
写文章总会需要一些素材,但是好多素材都是收费或有限制的,还是我要求不高,在千库网看了下还不错,有各签到还送VIP,于是就有了想法....
通过node-xlsx模块读取excel和写入
在开发项目过程中,经常需要将开发的项目部署到服务器上,但是每个环境都有每个环境的配置等等,如果每次打包的时候都要去调整(可能删除、替换等),那就很烦人了,这里分享下自己实现的几个简单的小工具(当然这个工具可能只对我自己有用),希望能够帮到你。
今天写文章,突然发现自己常用的素材站换成了webp格式的图片.. 可惜本站还没准备加这个支持,所以准备加个webp转jpg的小功能,继续使用啦。
学习爬虫的时候突然有想到想做一个音乐播放小站,可以给自己或朋友听,但是音乐哪里来呢??想到自己常听的豆瓣FM,就越发的想把这些音乐都拿下来,因此有了下文通过豆瓣FM批量抓取上万首音乐,目前已经3W+。
近期有个小工具,需要使用到本地数据库,想使用sqlite ,本来以为是个手到擒来的活... 没成想卡在了开始上。
thinkjs框架使用ueditor记录。