zl程序教程

您现在的位置是:首页 >  其他

当前栏目

marked覆盖A标签的解析规则

规则 解析 标签 覆盖 marked
2023-09-27 14:25:56 时间
在使用marked来做md解析的时候,部分解析规则可能并不是很如意,比如说,我在md中写了a标签,但是这些标签都是在当前页面替换的,而我想要的是新打开窗口。
在使用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 红色字体 /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

});

以上。

参考文档:

marked renderer文档地址
JavaScript通过改变location对象的hash属性实现相同页面显示不同详情内容的效果 JavaScript通过改变location对象的hash属性的应用 前面我们学到了BOM的Location对象,现在来讲一下实际的应用。通过改变hash属性获取不同的数据。 1.列表页面代码: a href= 10模拟详情页面.html#0 target= _blank 张三 /a a href= 10模拟详情页面.html#1 target= _blank 李四 /a a href= 10模拟详情页面.html#2 target= _blank 王五 /a a href= 10模拟详情页面.html#3 target= _b