markdown-it-vuese
English | 简体中文
Vuese plugin for markdown-it markdown parser.
借助这个插件,你可以通过下述的语法在导入已经存在的 *.vue
文件的同时,使用 Vuese 自动生成文档。
<[vuese](@/filePath)
此处的 @ 默认值是
process.cwd()
Install
$ npm i -S markdown-it-vuese
# OR
$ yarn add markdown-it-vuese
Usage
const md = require('markdown-it')()
.use(require('markdown-it-vuese') [, options])
Options
const md = require('markdown-it')()
.use(require('markdown-it-vuese'), {
root: 'some path',
vueseRe: /your regexp/,
useParser: parserRes => parserRes.name,
useRender: (vueseRender) => {
const renderRes = vueseRender.render()
const markdownRes = vueseRender.renderMarkdown()
return 'something'
},
useAll: ({ ... }) => {
return 'something'
},
})
root
- 类型:
String
- 默认值:
process.cwd()
根路径,路径中填写的 @
会被其替换。
vueseRe
- 类型:
RegExp
- 默认值:
/<\[vuese\]\((.+)\)/i
匹配正则,不满意默认匹配规则可以自定义。
ruleName
- 类型:
String
- 默认值:
vuese
注册的规则名,这个名称将被 markdown-it 使用,所以注意别和已有规则重复。
可以结合 vueseRe 改写规则名,实现在同一份文档中使用不同规则,渲染出不同的结果。
const md = require('markdown-it')()
// 默认渲染结果
.use(require('markdown-it-vuese'))
// <[vuese-h3](filePath)
// 自定义新规则,不需要标题,并将 Props 等属性从 <h2> 改成 <h3>
.use(require('markdown-it-vuese'), {
vueseRe: /<\[vuese-h3\]\((.+)\)/i,
ruleName: 'vuese-h3',
useRender: (vueseRender) => {
const renderRes = vueseRender.render()
const genMd = key => `### ${key}\n${renderRes[key]}\n`
return Object.keys(renderRes).map(genMd).join('')
},
})
useParser
- 类型:
Function
- 默认值:
null
若 useParser
存在,则直接运行后返回结果,否则尝试运行 useRender
。
useRender
- 类型:
Function
- 默认值:
null
接受 @vuese/markdown-render 初始化后的渲染实例。
若 useRender
存在,则直接运行后返回结果,否则尝试运行 useAll
。
例如可以调用以下方法分别生成对象和 markdown 文档
render
: 将生成renderRes
renderMarkdown
: 将生成markdownRes
useAll
- 类型:
Function
- 默认值:
null
以对象形式接受以下参数 content
(源文件内容), parserRes
, renderRes
, markdownRes
。若不存在则默认返回 markdownRes.content
。
const md = require('markdown-it')()
.use(require('markdown-it-vuese'), {
useAll: ({
content,
parserRes,
renderRes,
markdownRes,
}) => {
return 'something'
},
})
parserOptions
- 类型:
Object
- 默认值:
{}
renderOptions
- 类型:
Object
- 默认值:
{}
License
Copyright (c) StEve Young