logo

# โœจ vue3-markdown-it โœจ [![GitHub package.json version](https://img.shields.io/github/package-json/v/JanGuillermo/vue3-markdown-it)](https://www.npmjs.com/package/vue3-markdown-it) [![Build Status](https://travis-ci.com/JanGuillermo/vue3-markdown-it.svg?branch=master)](https://travis-ci.com/JanGuillermo/vue3-markdown-it) [![codecov](https://codecov.io/gh/JanGuillermo/vue3-markdown-it/branch/master/graph/badge.svg)](https://codecov.io/gh/JanGuillermo/vue3-markdown-it) [![Dependencies Status](https://david-dm.org/JanGuillermo/vue3-markdown-it.svg)](https://david-dm.org/JanGuillermo/vue3-markdown-it) [![Known Vulnerabilities](https://snyk.io/test/github/JanGuillermo/vue3-markdown-it/badge.svg?targetFile=package.json)](https://snyk.io/test/github/JanGuillermo/vue3-markdown-it?targetFile=package.json) [![npm](https://img.shields.io/npm/dt/vue3-markdown-it)](https://www.npmjs.com/package/vue3-markdown-it) > An awesome Vue 3 [markdown-it](https://github.com/markdown-it/markdown-it) wrapper plugin that can even support external plugins! ๐Ÿ”Ž [Live Demo](https://janguillermo.github.io/vue3-markdown-it/) --- ## Installation ``` npm install vue3-markdown-it ``` ## Supported Plugins - [markdown-it](https://github.com/markdown-it/markdown-it) - __The one__ that started it all - [markdown-it-abbr](https://github.com/markdown-it/markdown-it-abbr) - Add abbreviations - [markdown-it-anchor](https://github.com/valeriangalliat/markdown-it-anchor) - Add anchors - [markdown-it-deflist](https://github.com/markdown-it/markdown-it-deflist) - Add definition lists - [markdown-it-emoji](https://github.com/markdown-it/markdown-it-emoji) - Add emojis - [markdown-it-footnote](https://github.com/markdown-it/markdown-it-footnote) - Add footnotes - [markdown-it-highlightjs](https://github.com/valeriangalliat/markdown-it-highlightjs) - Add highlighting for code blocks - [markdown-it-ins](https://github.com/markdown-it/markdown-it-ins) - Add `` tags - [markdown-it-mark](https://github.com/markdown-it/markdown-it-mark) - Add marking/highlighting - [markdown-it-sub](https://github.com/markdown-it/markdown-it-sub) - Add subscript - [markdown-it-sup](https://github.com/markdown-it/markdown-it-sup) - Add superscript - [markdown-it-task-lists](https://github.com/revin/markdown-it-task-lists) - Add task lists - [markdown-it-toc-done-right](https://github.com/nagaozen/markdown-it-toc-done-right) - Add table of contents ## Usage ### Global Use ```js import { createApp } from 'vue'; import Markdown from 'vue3-markdown-it'; const app = createApp(); app.use(Markdown); ``` ### CSS If you want to use highlighting for code blocks, you'll have to import a CSS file from [highlight.js](https://github.com/highlightjs/highlight.js). View more styles [here](https://github.com/highlightjs/highlight.js/tree/master/src/styles). The code sample below imports the Monokai styling. ```js import 'highlight.js/styles/monokai.css'; ``` ### Single Use ```vue ``` ## Props The following properties are supported: ### `anchor` > View [markdown-it-anchor](https://github.com/valeriangalliat/markdown-it-anchor) for more information. Type: `Object` | Default value: `null` ### `breaks` > Convert `\n` in paragraphs into `
`. Type: `Boolean` | Default value: `false` ### `emoji` > View [markdown-it-emoji](https://github.com/markdown-it/markdown-it-emoji) for more information. Type: `Object` | Default value: `null` ### `highlight` > View [markdown-it-highlightjs](https://github.com/valeriangalliat/markdown-it-highlightjs) for more information. Type: `Object` | Default value: `null` ### `html` > Enable HTML tags in source. Type: `Boolean` | Default value: `false` ### `langPrefix` > CSS language prefix for fenced blocks. Can be useful for external highlighters. Type: `String` | Default value: `language-` ### `linkify` > Autoconvert URL-like text to links Type: `Boolean` | Default value: `false` ### `plugins` ๐ŸŒŸ > Don't see your favorite markdown-it plugin in the list of supported plugins? You can create an array of plugins and bind it into the component! > > The array only consists of objects (plugins in that case). A plugin has two properties: > > - `plugin`: A `markdown-it` plugin imported into this > > - `options`: Set the options for a specific `markdown-it` plugin. > ```vue > > > > ``` Type: `Array` | Default value: `[]` ### `quotes` > Double + single quotes replacement pairs, when typographer enabled and smartquotes on. Could be either a String or an Array. *For example*, you can use `ยซยปโ€žโ€œ` for Russian, `โ€žโ€œโ€šโ€˜` for German, and `['ยซ\xA0', '\xA0ยป', 'โ€น\xA0', '\xA0โ€บ']` for French (including nbsp). Type: `String | String[]` | Default value: `โ€œโ€โ€˜โ€™` ### `source` > Content to be rendered into markdown. Type: `String` | Default value: `null` ### `tasklists` > View [markdown-it-task-lists](https://github.com/revin/markdown-it-task-lists) for more information. Type: `Object` | Default value: `null` ### `toc` > View [markdown-it-toc-done-right](https://github.com/nagaozen/markdown-it-toc-done-right) for more information. Type: `Object` | Default value: `null` ### `typographer` > Enable some language-neutral replacement + quotes beautification. Type: `Boolean` | Default value: `false` ### `xhtmlOut` > Use `/` to close single tags (`
`). Type: `Boolean` | Default value: `false` ## License [MIT](https://github.com/JanGuillermo/vue3-markdown-it/blob/master/LICENSE)