markdown插件编写

2023/1/9

  • markdown-it解析markdown语法
  • markdown-it-container增加自定义解析语法
const container = require('markdown-it-container');
var md = require('markdown-it')();

const mdFile = `
::: CodePen val=1 select=[1, 2, 3]
* 啦啦啦啦
:::
`;

const mark = "CodePen";
md.use(container, mark, {
    render: function (tokens, idx) {
        const token = tokens[idx];
        if (tokens[idx].nesting === 1) {
            const reg3 = new RegExp(`${mark}\\s+(.*)`);
            const rawAttrs = token.info.match(reg3);
            return `<${mark} ${rawAttrs}>\n`;
        } else {
            return `</${mark}>\n`;
        }
    }
});

console.log(md.render(mdFile));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
上次更新: 6/13/2025