Bootstrap

Markdown-it 如何解析超链接的格式,新页签打开

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" 属性,以确保新页签的安全性。

参考:markdown-it - npm

;