This plugin converts Markdown to HTML using markdown-it.
Before:
<markdown>
# Heading 1
---
Paragraph with some text
*Italic*
__Bold__
- List item 1
- List item 2
- List item 3
</markdown>
After:
<h1>Heading 1</h1>
<hr>
<p>Paragraph with some text</p>
<p><em>Italic</em>
<strong>Bold</strong></p>
<ul>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ul>
$ npm i -D posthtml-markdownit
const posthtml = require('posthtml')
const markdown = require('posthtml-markdownit')
posthtml([
markdown()
])
.process('<markdown># Test</markdown>')
.then(result => console.log(result.html))
// <h1>Test</h1>
You can import and render Markdown files:
Before:
<markdown src="./README.md">
# Imported
</markdown>
After:
<!-- contents of README.md here -->
<h1>Imported</h1>
Both <markdown>
and <md>
tags are suported.
Before:
<md>
# Heading 1
</md>
After:
<h1>Heading 1</h1>
By default, the tags are removed. See the tag attribute if you need a wrapping tag around your Markdown content.
You can also use markdown
or md
attributes on any element:
Before:
<div md>
# Heading 1
</div>
After:
<h1>Heading 1</h1>
You can use a tag
attribute to wrap the resulting markup in a tag:
Before:
<md tag="section">
# Heading 1
</md>
After:
<section>
<h1>Heading 1</h1>
</section>
Type: string
Default: ./
A path relative to which markdown files are imported.
Type: string
Default: utf8
Encoding for imported Markdown files.
Type: object
Default: {}
Options passed to markdown-it. See the available options.
Type: array
Default: []
Plugins for markdown-it.
Example:
markdown({
plugins: [{
plugin: require('markdown-it-emoji'),
options: {} // Options for markdown-it-emoji
}]
})