vuepress-plugin-schema2md
vuepress-plugin-schema2md copied to clipboard
A VuePress plugin to help you generate pages via JSON Schema (HMR โ )
vuepress-plugin-schema2md
Feature
- ๐ Generate dynamic VuePress pages from JSON Schemas.
- โค๏ธ HMR Support!
- ๐ Support extra markdown file to be merged into final content.
Example

Tip. you can execute npm run docs:dev on thie repo to check out this example.
Install
yarn add vuepress-plugin-schema2md -D
# OR npm install vuepress-plugin-schema2md -D
Usage
// .vuepress/config.js
module.exports = {
plugins: [
[
'schema2md', {
// Options
}
]
]
}
Options
pages
- Type:
Record<string, ITransformOptions> - Description: describe the generated pages.
e.g.
// .vuepress/config.js
module.exports = {
plugins: ['schema2md', {
pages: {
'/config/': {
schemaPath: '/path/to/your/schema.json'
}
}
}]
}
Then you will get a dynamic page with route /config/, whose content is generated by schema2md from '/path/to/your/schema.json',
For typings of interface ITransformOptions, plead head schema2md.
cwd
- Type:
string - Description: Current working directory, used to calcaulate absolute path for "schemaPath" and "outputPath" with relative path, defaults to
process.cwd().
locale
- Type:
string - Description: Global locale.
write
- Type:
boolean - Description: whether to generate the markdown content to disk.
If you want to check out the generated markdown, you could do like this:
// .vuepress/config.js
module.exports = {
plugins: ['schema2md', {
+ write: true,
pages: {
'/config/': {
schemaPath: '/path/to/your/schema.json'
+ outputPath: 'docs/config/README.md', // You shouldn't commit this file.
}
}
}]
}
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
Author
vuepress-plugin-schema2md ยฉ ULIVZ, Released under the MIT License.
github.com/ulivz ยท GitHub @ULIVZ ยท Twitter @_ulivz