v-markdown-loader

markdown file to vue component loader.
1,489 693
Install
npm install v-markdown-loader
Latest Version:0.6.3
Vue:2
License:WTFPL
Last Updated:Dec 10, 2022
Links: GitHub  ·  npm
Maintainer: airyland

vue-markdown-loader

Convert Markdown file to Vue Component using markdown-it.

Supports both Vue 1.x and 2.0

Example

https://github.com/mint-ui/docs

Demo

Youku Video

Installation

npm i vue-markdown-loader -D

Feature

  • Hot reload
  • Write vue script
  • Code highlight

Usage

Documentation: Using loaders

webpack.config.js file:

module.exports = {
  module: {
    loaders: [{
      test: /\.md/,
      loader: 'vue-markdown-loader'
    }]
  }
};

Options

reference markdown-it

{
  vueMarkdown: {
    // 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: {
    loaders: [{
      test: /\.md/,
      loader: 'vue-markdown-loader'
    }]
  },

  vueMarkdown: markdown
};

webpack 2.x

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
      }
    ]
  }
};

Note

Resource references can only use absolute path

e.g.

webpack config

resolve: {
  alias: {
    src: __dirname + '/src'
  }
}

It'is work

<img src="https://raw.githubusercontent.com/QingWei-Li/vue-markdown-loader/HEAD/~src/images/abc.png">

<script>
  import Image from 'src/images/logo.png'
  import Hello from 'src/components/hello.vue'

  module.exports = {
  }
</script>

Incorrect

<img src="https://raw.githubusercontent.com/QingWei-Li/vue-markdown-loader/HEAD/images/abc.png">

<script>
  import Image from '../images/logo.png'
  import Hello from './hello.vue'
  module.exports = {
  }
</script>

License

WTFPL

Related Packages

vue-markdown-loader

markdown file to vue component loader.

81,231 693
@vusion/md-vue-loader

Webpack loader for converting Markdown files to alive Vue components.

19,363 5
vue-antd-md-loader

markdown file to vue component loader.

7,756 7
md-vue-loader

Webpack loader to import markdown files as a Vue component

905 4
frontmatter-markdown-loader

Webpack loader for Front Matter Markdown file to get front matter attributes, co...

510,179 250

Version History

Version Released Vue License
0.6.3 ^2.0.3 WTFPL
0.6.2 ^2.0.3 WTFPL
Pre-releases (4)
Version Released Vue License
0.6.3-beta.4 ^2.0.3 WTFPL
0.6.3-beta.3 ^2.0.3 WTFPL
0.6.3-beta.2 ^2.0.3 WTFPL
0.6.3-beta.1 ^2.0.3 WTFPL