Skip to content

Deuscx/vue-markdown

Repository files navigation

vue-markdown


vue-markdown

A markdown component for Vue.js

Contributors Forks Stargazers Issues GitHub

Getting Started

Markdown component for Vue.js. easy to use and customize.

demo

image

Installation

pnpm install @deuscx/vue-markdown

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

<script lang="ts" setup>
import { ref } from 'vue'
import VueMarkdown from '@deuscx/vue-markdown'
const markdown = ref('# Hello World')
</script>

<template>
  <div>
    <VueMarkdown :content="markdown" />
  </div>
</template>

Custom Component

By default, the component will render the markdown as a native element. You can customize the component by passing a custom component as a slot.

For Example:

You can use the AImage component to render images in markdown.

<template>
  <div>
    <VueMarkdown :content="markdown">
      <template #img="{ src }">
        <AImage :src="src" :width="360" />
      </template>
    </VueMarkdown>
  </div>
</template>

Custom Plugins

You can add custom plugins to the markdown component by passing them as a prop.

For Example: you can add rehypePlugin and remarkPlugin to the markdown component.

<script lang="ts" setup>
import { ref } from 'vue'
import VueMarkdown from '@deuscx/vue-markdown'
import remarkGfm from 'remark-gfm'
import rehypeRaw from 'rehype-raw'

const markdown = ref('# Hello World')
</script>

<template>
  <div>
    <VueMarkdown
      :content="markdown"
      :rehype-plugins="[rehypeRaw]"
      :remark-plugins="[remarkGfm]"
    />
  </div>
</template>

See the open issues for a full list of proposed features (and known issues).

Credits

License

Distributed under the MIT License. See LICENSE for more information.

About

Markdown component for Vue.js. easy to use and customize.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published