cloudacy / vue-markdown-render

A simple markdown parser for Vue using markdown-it.
MIT License
78 stars 10 forks source link

How to handle plugin options? #23

Open SaulSilver opened 8 months ago

SaulSilver commented 8 months ago

Thank you for the nice package. This isn't an issue, but didn't where else to post it. I wanted to share with those who wanted to do the same as I did and save their time.

I wanted to extend @AlextheYounga implementation of allowing plugins to also handle the plugins' options (not to confuse with markdown-it options).

For me, I wanted to add an option to the markdown-it-anchor that I pass as a plugin to vue-markdown-renderer, and override the default slugify function. So I did the following in the :

<script>
const customSlugify = ...;

const anchorPlugin = (vueMarkdownItInstance: MarkdownIt) => {
  vueMarkdownItInstance.use(MarkdownItAnchor, {
    slugify: customSlugify
  });
};

const plugins = [anchorPlugin, /* other plugins */];
<script>

And then I just pass the plugins to vue-markdown-renderer in the