vue-markdown-loader
markdown file to vue component loader.
81,231
693
| Install | |
|---|---|
npm install vue-markdown-loader |
|
| Latest Version: | 2.5.0 |
| Vue: | 2 |
| License: | WTFPL |
| Last Updated: | Dec 10, 2022 |
| Links: | GitHub · npm |
Maintainer: qingwei.li
You have other better choices
- https://github.com/egoist/vmark
- https://github.com/liril-net/ware-loader
- https://github.com/wxsms/vue-md-loader
vue-markdown-loader
Convert Markdown file to Vue Component using markdown-it.
Example
Live demo
https://glitch.com/edit/#!/vue-markdown
Installation
# For Vue1
npm i vue-markdown-loader@0 -D
# For Vue2
npm i vue-markdown-loader -D
npm i vue-loader vue-template-compiler -D
Feature
- Hot reload
- Write vue script
- Code highlight
Usage
webpack.config.js file:
module.exports = {
module: {
rules: [
{
test: /\.md$/,
loader: 'vue-markdown-loader'
}
]
}
};
With vue-loader 15
const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports = {
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.md$/,
use: [
{
loader: 'vue-loader'
},
{
loader: 'vue-markdown-loader/lib/markdown-compiler',
options: {
raw: true
}
}
]
}
]
},
plugins: [new VueLoaderPlugin()]
};
With Vue CLI 3
In your vue.config.js file:
module.exports = {
chainWebpack: config => {
config.module.rule('md')
.test(/\.md/)
.use('vue-loader')
.loader('vue-loader')
.end()
.use('vue-markdown-loader')
.loader('vue-markdown-loader/lib/markdown-compiler')
.options({
raw: true
})
}
}
Options
preventExtract
Since v2.0.0, this loader will automatically extract script and style tags from html token content (#26). If you do not need, you can set this option
{
test: /\.md$/,
loader: 'vue-markdown-loader',
options: {
preventExtract: true
}
}
wrapper
You can customize wrapper tag no matter html element tag or vue component tag. Default is 'section'
{
test: /\.md$/,
loader: 'vue-markdown-loader',
options: {
wrapper: 'article',
}
}
markdownIt
reference markdown-it
{
module: {
rules: [
{
test: /\.md$/,
loader: 'vue-markdown-loader',
options: {
// markdown-it config
preset: 'default',
breaks: true,
preprocess: function(markdownIt, source) {
// do any thing
return source;
},
use: [
/* markdown-it plugin */
require('markdown-it-xxx'),
/* or */
[require('markdown-it-xxx'), 'this is options']
]
}
}
];
}
}
Or you can customize markdown-it
var markdown = require('markdown-it')({
html: true,
breaks: true
})
markdown
.use(plugin1)
.use(plugin2, opts, ...)
.use(plugin3);
module.exports = {
module: {
rules: [
{
test: /\.md$/,
loader: 'vue-markdown-loader',
options: markdown
}
]
}
};
Add Vue configuration
var webpack = require('webpack');
module.exports = {
module: {
rules: [
{
test: /\.md$/,
loader: 'vue-markdown-loader'
}
]
},
plugins: [
new webpack.LoaderOptionsPlugin({
vue: {}
})
]
};
License
WTFPL
Related Packages
@vusion/md-vue-loader
Webpack loader for converting Markdown files to alive Vue components.
19,363
5
frontmatter-markdown-loader
Webpack loader for Front Matter Markdown file to get front matter attributes, co...
510,179
250
Version History
| Version | Released | License |
|---|---|---|
| 2.5.0 | WTFPL | |
| 2.4.1 | WTFPL | |
| 2.4.0 | WTFPL | |
| 2.3.0 | WTFPL | |
| 2.2.3 | WTFPL | |
| 2.2.2 | WTFPL | |
| 2.2.1 | WTFPL | |
| 2.2.0 | WTFPL | |
| 2.1.0 | WTFPL | |
| 2.0.0 | WTFPL | |
| 1.0.0 | WTFPL | |
| 0.6.2 | WTFPL | |
| 0.6.1 | WTFPL | |
| 0.6.0 | WTFPL | |
| 0.5.1 | WTFPL | |
| 0.5.0 | WTFPL | |
| 0.4.0 | WTFPL | |
| 0.3.4 | WTFPL | |
| 0.3.3 | WTFPL | |
| 0.3.2 | WTFPL | |
| 0.3.1 | WTFPL | |
| 0.3.0 | WTFPL | |
| 0.2.4 | WTFPL | |
| 0.2.3 | WTFPL | |
| 0.2.2 | WTFPL | |
| 0.2.1 | WTFPL | |
| 0.2.0 | WTFPL | |
| 0.1.5 | WTFPL | |
| 0.1.4 | WTFPL | |
| 0.1.3 | WTFPL |
Showing the latest 30 of 33. See every release on npm