markdown-it-docu-press
该库使用markdown-it作为Markdown解析器,并集成了一些常用的插件,在此基础上添加了一些我自定义的插件,目的是尽可能多的丰富Markdown的语法,使编写文档更简单。
但随之而来的,该库非常臃肿,请不要在浏览器环境使用!
使用方式
- 安装库
npm i markdown-it-docu-press
- 引入库
import DocuPress from 'markdown-it-docu-press';
- 获取 DocuPress 实例
const docuPress = DocuPress.getInstance(config);
提示
config是可选的。
- 获取YML数据
let { data, content } = docuPress.parseYaml(markdown);
信息
data: YML数据
content: 除去YML后的Markdown内容
- 渲染Markdown
docuPress.parseMd(content, data);
提示
parseMd()函数返回的是一个Promise对象,resolve()函数返回的是渲染后的HTML字符串。
config
在获取实例时,getInstance有个可选参数,这个是全局配置,其配置会干预HTML的生成,其内容与每个Markdown文件顶部的YAML配置相似,若Markdown文件有配置,则优先使用Markdown文件配置,若没有配置,则使用全局配置。
关于YAML配置,请查看YAML配置
渲染模板
你想使用 Nunjucks 模板引擎吗? markdown-it-docu-press
提供了两个渲染方法可以很方便是的使用它。
render(src: string, config?: ConfigPage): string
- src: 模板路径
- config: 可选的模版数据
const html = docuPress.render("/views/article.njk", {...data});
renderTemplate(template: string, config?: ConfigPage): string
- template: 模板字符串
- config: 可选的模版数据
const html = docuPress.renderTemplate("{{content | safe}}", {...data});