Javascript 在Markdown中呈现标记吗?

Javascript 在Markdown中呈现标记吗?,javascript,markdown,markdown-it,Javascript,Markdown,Markdown It,我想有条件地忽略一些标记,因此我写道: var md = require("markdown-it")(); var mk = require("@iktakahiro/markdown-it-katex"); var mkit = require("markdown-it"); md.use(mk); import Renderer from "markdown-it/lib/renderer"; let ren

我想有条件地忽略一些标记,因此我写道:

var md = require("markdown-it")();
var mk = require("@iktakahiro/markdown-it-katex");
var mkit = require("markdown-it");
md.use(mk);

import Renderer from "markdown-it/lib/renderer";
let renderer = new Renderer()

markdown = `
# Title
## Ignored section
I am ignored...
## Other section
...
`
tokens = md.parse(markdown)
tokens = process_tokens(tokens)

console.log(renderer.render(token)) // <----- 
renderer.js:108中

default_rules.softbreak = function (tokens, idx, options /*, env */) {
  return options.breaks ? (options.xhtmlOut ? '<br />\n' : '<br>\n') : '\n'; // <----
};
在本例中,我将使用以下令牌:

0: Token {type: "heading_open", tag: "h1", attrs: null, map: Array(2), nesting: 1, …}
1: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
2: Token {type: "heading_close", tag: "h1", attrs: null, map: null, nesting: -1, …}
3: Token {type: "heading_open", tag: "h2", attrs: null, map: Array(2), nesting: 1, …}
4: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
5: Token {type: "heading_close", tag: "h2", attrs: null, map: null, nesting: -1, …}
6: Token {type: "paragraph_open", tag: "p", attrs: null, map: Array(2), nesting: 1, …}
7: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
8: Token {type: "paragraph_close", tag: "p", attrs: null, map: null, nesting: -1, …}
9: Token {type: "heading_open", tag: "h2", attrs: null, map: Array(2), nesting: 1, …}
10: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
11: Token {type: "heading_close", tag: "h2", attrs: null, map: null, nesting: -1, …}
12: Token {type: "paragraph_open", tag: "p", attrs: null, map: Array(2), nesting: 1, …}
13: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
14: Token {type: "paragraph_close", tag: "p", attrs: null, map: null, nesting: -1, …} 
检测到要删除的
h2
后,我得到以下结果:

0: Token {type: "heading_open", tag: "h1", attrs: null, map: Array(2), nesting: 1, …}
1: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
2: Token {type: "heading_close", tag: "h1", attrs: null, map: null, nesting: -1, …}
3: Token {type: "heading_open", tag: "h2", attrs: null, map: Array(2), nesting: 1, …}
4: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
5: Token {type: "heading_close", tag: "h2", attrs: null, map: null, nesting: -1, …}
6: Token {type: "paragraph_open", tag: "p", attrs: null, map: Array(2), nesting: 1, …}
7: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
8: Token {type: "paragraph_close", tag: "p", attrs: null, map: null, nesting: -1, …} 

您不需要实例化其他渲染器。您的问题是
render
需要
md
中的选项:

tokens = md.parse(markdown)
md.renderer.render(tokens, md.options)
0: Token {type: "heading_open", tag: "h1", attrs: null, map: Array(2), nesting: 1, …}
1: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
2: Token {type: "heading_close", tag: "h1", attrs: null, map: null, nesting: -1, …}
3: Token {type: "heading_open", tag: "h2", attrs: null, map: Array(2), nesting: 1, …}
4: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
5: Token {type: "heading_close", tag: "h2", attrs: null, map: null, nesting: -1, …}
6: Token {type: "paragraph_open", tag: "p", attrs: null, map: Array(2), nesting: 1, …}
7: Token {type: "inline", tag: "", attrs: null, map: Array(2), nesting: 0, …}
8: Token {type: "paragraph_close", tag: "p", attrs: null, map: null, nesting: -1, …} 
tokens = md.parse(markdown)
md.renderer.render(tokens, md.options)