js: markdown-it: Markdown解析器

文档:

github: https://github.com/markdown-it/markdown-it github: https://github.com/markdown-it/markdown-it-for-inline doc: https://github.com/markdown-it/markdown-it/blob/master/docs/architecture.md#renderer

安装依赖

text
1 2
npm i -S markdown-it markdown-it-for-inline

代码示例

1、默认default

linkify: false

text
1 2 3 4 5 6 7

var md = require("markdown-it")()

const text = "http://www.baidu.com";
var result = md.render(text);
console.log(result);

输出

text
1 2
<p>http://www.baidu.com</p>

2、自动识别url

linkify: true

text
1 2 3 4 5 6 7

var md = require("markdown-it")({ linkify: true })

const text = "http://www.baidu.com";
var result = md.render(text);
console.log(result);

输出

text
1 2
<p><a href="http://www.baidu.com">http://www.baidu.com</a></p>

3、自动识别url 并设置新窗口打开

linkify: true && target=_blank

text
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
var iterator = require("markdown-it-for-inline");

var md = require("markdown-it")({ linkify: true }).use(
  iterator,
  "url_new_win",
  "link_open",
  function(tokens, idx) {
   var aIndex = tokens[idx].attrIndex("target");

   if (aIndex < 0) {
     tokens[idx].attrPush(["target", "_blank"]);
   } else {
     tokens[idx].attrs[aIndex][1] = "_blank";
   }
  }
);

const text = "http://www.baidu.com";
var result = md.render(text);
console.log(result);

输出

text
1 2
<p><a href="http://www.baidu.com" target="_blank">http://www.baidu.com</a></p>

原文地址:https://blog.csdn.net/mouday/article/details/116497662?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168906542916800213021592%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168906542916800213021592&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-29-116497662-null-null.142^v88^control_2,239^v2^insert_chatgpt&utm_term=markdown