3.2.0 • Published 5 years ago

vuedown v3.2.0

Weekly downloads
30
License
MIT
Repository
github
Last release
5 years ago

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

NPM version NPM download CircleCI License donate

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:

<template>
  <div class="vuedown">
    <h1>{{ title }}</h1>

    <p>
      <blockquote>I'm a markdown file</blockquote>
    </p>

    <p>
      <button @click="inc">Count: {{ count }}</button>
    </p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        title: 'Hello',
        count: 0
      }
    },
    methods: {
      inc() {
        this.count++
      }
    }
  }
</script>

Code:

const component = vuedown(input)
// 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

marked

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

vuedown © evillt, Released under the MIT License.

Authored and maintained by EVILLT with help from contributors (list).

evila.me · GitHub @evillt · Twitter @evillt

3.2.0

5 years ago

3.1.0

5 years ago

3.0.0

5 years ago

2.4.0

5 years ago

2.3.1

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.0

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.2.0

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.1.0

6 years ago