Markdown-it 是一个用于解析 Markdown 文本为 HTML 的库。要使用 Markdown-it 解析超链接并确保它们在新页签中打开,你需要使用 Markdown-it 的插件系统或者自定义规则。
以下是一个简单的示例,展示如何使用 Markdown-it 和一个自定义规则来确保所有超链接在新页签中打开:
// 引入 Markdown-it
const MarkdownIt = require('markdown-it');
// 创建 Markdown-it 实例
const md = new MarkdownIt();
// 自定义规则,使链接在新页签中打开
md.renderer.rules.link_open = function (tokens, idx, options, env, self) {
const aIndex = tokens[idx].attrIndex('target');
if (aIndex !== -1) {
// 如果已经有 target 属性,则不做处理
return self.renderToken(tokens, idx, options);
}
// 添加 target="_blank" 属性
tokens[idx].attrPush(['target', '_blank']);
tokens[idx].attrPush(['rel', 'noopener noreferrer']);
// 渲染标签
return self.renderToken(tokens, idx, options);
};
// 使用规则解析 Markdown 文本
const html = md.render('[Google](https://google.com)');
console.log(html);
link_open
规则,在每个链接打开时添加了 target="_blank"
和 rel="noopener noreferrer"
属性,以确保新页签的安全性。