marked覆盖A标签的解析规则

marked覆盖A标签的解析规则

月光魔力鸭

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


感谢支持!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
学习爬虫的时候突然有想到想做一个音乐播放小站,可以给自己或朋友听,但是音乐哪里来呢??想到自己常听的豆瓣FM,就越发的想把这些音乐都拿下来,因此有了下文通过豆瓣FM批量抓取上万首音乐,目前已经3W+。
通过nodejs来进行爬取页面的内容,这里简单试试做个小任务..
目前了解的有两个模块可以实现二维码的模块,一个是node-qrcode ,这个算是比较大众的,不过环境比较复杂,所以...连看都没看;还有一个是小众的 qr-image ,这个比较简单,没有其他环境依赖,安装即可用,因为要实现一个简单的在线二维码生成,就先用这个试试水了
在日常开发中,经常会频繁的做一些重复性的操作,作为一名程序员,解放双手的时刻到了
前几天给朋友帮忙,想要一个一模一样的网站...自告奋勇去帮忙.. 结果发现之前一直没处理过类似的情况,虽然也写过爬虫,不过看了下网站,也不算麻烦。于是简单实现了这个自动抓站的功能,最终整理成为一个自动抓站的工具,能省很多的事情。
发布自己的nodejs应用后,需要进行管理,目前一般都pm2来进行管理,这里记录下常用的命令。
今天想在服务器上跑下自己自动签到的程序,需要安装puppeteer ,结果出错。 permission denied, mkdir '/root/.nvm/versions/node/v9.11.1/lib/node_modules/
碰到个小需求,本来实现挺简单的,用的electron,开发模式下各种顺畅...半个小时就搞定了,结果倒在了electron打包上..这个坑我应该跳进来了好多次了..