微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Markdown-it中渲染令牌?

如何解决在Markdown-it中渲染令牌?

我想有条件地忽略一些令牌,所以我写道:

5

我收到错误消息:

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)) // <----- 

Error TypeError: Cannot read property 'breaks' of undefined

renderer.js:108

是否可以分两步进行降价促销?

default_rules.softbreak = function (tokens,idx,options /*,env */) {
  return options.breaks ? (options.xhtmlOut ? '<br />\n' : '<br>\n') : '\n'; // <----
};

在此示例中,我将具有以下标记

markdown -1-> tokens -2-> html

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

h2

解决方法

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

tokens = md.parse(markdown)
md.renderer.render(tokens,md.options)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。