Socket
Socket
Sign inDemoInstall

markdown-it-vuese

Package Overview
Dependencies
44
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    markdown-it-vuese

📖 Vuese plugin for markdown-it markdown parser


Version published
Maintainers
1
Install size
4.42 MB
Created

Readme

Source

markdown-it-vuese

Build Status Coverage Status dependencies Downloads per month Version License

English | 简体中文

Vuese plugin for markdown-it markdown parser.

With this plugin, you can use Vuese to automatically generate documents while importing existing *.vue files via following syntax.

<[vuese](@/filePath)

The default value of @ is process.cwd().

Please click here to see the demo

Install

$ npm i -S markdown-it-vuese
# OR
$ yarn add markdown-it-vuese

Usage

const md = require('markdown-it')()
    .use(require('markdown-it-vuese') [, options])

Options

const md = require('markdown-it')()
    .use(require('markdown-it-vuese'), {
        root: 'some path',
        vueseRe: /your regexp/,
        useParser: parserRes => parserRes.name,
        useRender: (vueseRender) => {
            const renderRes = vueseRender.render()
            const markdownRes = vueseRender.renderMarkdown()

            return 'something'
        },
        useAll: ({ ... }) => {
            return 'something'
        },
    })

root

  • Type: String
  • Default: process.cwd()

Root Directory, this value will replace the @ in file path.

vueseRe

  • Type: RegExp
  • Default: /<\[vuese\]\((.+)\)/i

Regular expression, you can customize it as you like.

ruleName

  • Type: String
  • Default: vuese

Rule name, it will be used by markdown-it, so be careful not to duplicate existing rules.

Use it with vueseRe, we can use different rules in the same document to render different results.

const vuese = require('markdown-it-vuese')

const md = require('markdown-it')()
    // default
    // <[vuese](filePath)
    .use(vuese)
    // <[vuese-h3](filePath)
    // No title, `Props` and other attributes should be changed from `<h2>` to `<h3>`
    .use(vuese, {
        vueseRe: /<\[vuese-h3\]\((.+)\)/i,
        ruleName: 'vuese-h3',
        useRender: (vueseRender) => {
            const renderRes = vueseRender.render()
            const genMd = key => `### ${key}\n${renderRes[key]}\n`

            return Object.keys(renderRes).map(genMd).join('')
        },
    })

useParser

  • Type: Function
  • Default: null

It takes @vuese/parser ParserResult as a parameter.

If useParser exists, it returns the result directly after running, otherwise try running useRender.

useRender

  • Type: Function
  • Default: null

It takes @vuese/markdown-render Render Class as a parameter.

If useRender exists, it returns the result directly after running, otherwise try running useAll.

For example, you can call the following methods to generate objects and markdown documents, respectively.

  • render: will generate renderRes
  • renderMarkdown: will generate markdownRes

useAll

  • Type: Function
  • Default: null

It takes an object as parameters with there attributes: content(source file content), parserRes, renderRes, markdownRes.

Return markdownRes.content by default, if useAll does not exist.

const md = require('markdown-it')()
    .use(require('markdown-it-vuese'), {
        useAll: ({
            content,
            parserRes,
            renderRes,
            markdownRes,
        }) => {
            return 'something'
        },
    })

parserOptions

  • Type: Object
  • Default: {}

It passes @vuese/parser options

renderOptions

  • Type: Object
  • Default: {}

It passes @vuese/markdown-render options

License

MIT

Copyright (c) StEve Young

Keywords

FAQs

Last updated on 28 Feb 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc