乐趣区

Vue配置marked链接添加targetblank

1. 引入 marked

package.json

"dependencies": {"marked": "^0.3.9"}
import marked from "marked";

2. 修改生成的 HTML 的方法

const renderer = new marked.Renderer();
//https://github.com/markedjs/marked/issues/655#issuecomment-383226346
const linkRenderer = renderer.link;
renderer.link = (href, title, text) => {const html = linkRenderer.call(renderer, href, title, text);
    return html.replace(/^<a /, '<a target="_blank"rel="nofollow" ');
};
const html = marked(markdown, { renderer});
Tips:marked 参数配置
const renderer = new marked.Renderer();
// 基本设置
marked.setOptions({
    renderer: renderer,
    gfm: true, // 允许 Git Hub 标准的 markdown.
    tables: true, // 允许支持表格语法(该选项要求 gfm 为 true)breaks: true, // 允许回车换行(该选项要求 gfm 为 true)pedantic: false, // 不纠正原始模型任何的不良行为和错误(默认为 false)sanitize: false, // 对输出进行过滤(清理),将忽略任何已经输入的 html 代码(标签)smartLists: true, // 使用比原生 markdown 更时髦的列表
    smartypants: false // 使用更为时髦的标点
});
退出移动版