vue-markdown
If you want vue-markdown for vue1.X.X
, please checkout vue-markdown1.X.X.
A Powerful and Highspeed Markdown Parser for Vue.
Quick start:
<vue-markdown>i am a ~~tast~~ **test**.</vue-markdown>
Supported Markdown Syntax:
- x automatic table of contents
- x table & class customize
- x SyntaxHighlighter
- x definition list
- x strikethrough
- x GFM task list
- x abbreviation
- x superscript
- x subscript
- x footnote
- x insert
- x katex
- x emoji
- x mark
*SyntaxHighlighter
work with Prism recommend*katex
need add katex css.Example
simplewebpack-simple
Live Demo
Installation
Browser globals
The dist folder containsvue-markdown.js
with the component exported in thewindow.VueMarkdown
object.
<body>
<vue-markdown>i am a ~~tast~~ **test**.</vue-markdown>
</body>
<script src="path/to/vue.js"></script>
<script src="path/to/vue-markdown.js"></script>
<script>
Vue.use(VueMarkdown);
var vm = new Vue({
el: "body"
});
</script>
NPM
$ npm install --save vue-markdown
Yarn
$ yarn add vue-markdown --save
CommonJS
var VueMarkdown = require('vue-markdown');
new Vue({
components: {
'vue-markdown': VueMarkdown
}
})
ES6 (Vue-CLI users)
After installing via Yarn or NPM, use the following snippet in the script portion of the Vue component which you wish to render the Markdown.import VueMarkdown from 'vue-markdown'
new Vue({
components: {
VueMarkdown
}
})
Slots
<vue-markdown>this is the default slot</vue-markdown>
After setting up the middleware in your vue component above, using the embedded markdown is as easy as writing it between the
vue-markdown
tags.VueMarkdown has a default slot which is used to write the
markdown
source.TIP: The default slot only renders once at the beginning, and it will overwrite the prop of
source
!Props
| Prop | Type | Default | Describe |
| ---- | ---- | ------- | ------- |
| watches | Array | ["source", "show", "toc"]
| HTML refresh automatically when the prop in this array changed |
| source | String | null
| the markdown source code |
| show | Boolean | true
| enable render to the default slot automatically |
| html | Boolean | true
| enable HTML syntax in source |
| xhtml-out | Boolean | true
| <br></br>
=> <br />
|
| breaks | Boolean | true
| \n
=> <br>
|
| linkify | Boolean | true
| autoconvert URL-like text to link |
| emoji | Boolean | true
| :)
=> ๐
|
| typographer | Boolean | true
| enable some language-neutral replacement and quotes beautification |
| lang-prefix | String | language-
| CSS language prefix for fenced blocks |
| quotes | String | โโโโ
| use โโโโ
for Chinese, โโโโ
for German, ยซยปโโ
for Russian |
| table-class | String | table
| customize html class of the <table>
|
| task-lists | Boolean | true
| enable GFM task list |
| toc | Boolean | false
| enable automatic table of contents |
| toc-id | String | undefined
| the HTML id to render TOC |
| toc-class | String | table
| customize html class of the <ul>
wrapping the TOC |
| toc-first-level | Number | 2
| use 2
if you want to skip <h1>
from the TOC |
| toc-last-level | Number | 'toc-first-level' + 1
| use 5
if you want to skip <h6>
from the TOC |
| toc-anchor-link | Boolean | true
| enable the automatic anchor link in the headings |
| toc-anchor-class | String | toc-anchor
| customize the anchor class name |
| toc-anchor-link-symbol | String | #
| customize the anchor link symbol |
| toc-anchor-link-space | Boolean | true
| enable inserting a space between the anchor link and heading |
| toc-anchor-link-class | String | toc-anchor-link
| customize the anchor link symbol class name |
| anchorAttributes | Object | {}
| anchor tag attributes such as target: '_blank'
or rel: 'nofollow'
|
| prerender | Function (String) String | null
| filter function before markdown parse |
| postrender | Function (String) String | null
| filter function after markdown parse |Events
| Name | ParamType | Describe |
| ---- | --------- | -------- |
| rendered | outHtmlString | dispatch when render finish |
| toc-rendered | tocHtmlString | dispatch when TOC render finish, never dispatch if the tocprop is false
|Thanks
Contributions
License
Copyright (c) 2016 miaolz123 by MIT