vuedown
📝Convert markdown to Vue-component
Please consider starring the project to show your ❤️ and support.
You can use the @evillt/vuedown-loader for webpack loader
You can use the parcel-plugin-vuedown for parcel plugin
vuedown is very similar to vmark, but with different tooling based on.
vuedown(8kb) is 4 times smaller than vmark(30kb), because vmark use saber-markdown(fork from markdown-it) while vuedown use marked(forked) under the hood.
Features
- Support
@
in attribute names Convert link to<router-link>
by default- Support convert
<a>
to<router-link>
- Mini size
Install
yarn add vuedown --dev
Usage
In:
# {{ title }} > I'm a markdown file <button @click="inc">Count: {{ count }}</button> <script> export default { data() { return { title: 'Hello', count: 0 } }, methods: { inc() { this.count++ } } }</script>
Out:
{{ title }} I'm a markdown file Count: {{ count }}
Code:
const component = // Get the component in Vue SFC format
API
vuedown(input, [options])
input
- Type:
string
- Required:
true
The markdown string.
options
Options for marked.options.
options.routerLink
- Type:
boolean
- Default:
false
Convert <a>
to <router-link>
but external link will always be <a target="_blank">
.
options.wrapHTML
- Type:
(html: string) => string
- Default:
html => `<div class="vuedown">${html}</div>`
Wrap the HTML in an element.
options.extendMarkedRenderer
- Type:
(renderer: marked.Renderer) => void
You can modify the marked renderer we use.
vuedown.marked: marked
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
vuedown © evillt, Released under the MIT License.
Authored and maintained by EVILLT with help from contributors (list).