@jackfranklin/rollup-plugin-markdown
v0.4.0
Published
Parse markdown files and import them with Rollup
Downloads
2,407
Maintainers
Readme
rollup-plugin-markdown
A Rollup plugin to parse Markdown files. The parsed Markdown can either be imported as a JavaScript module, or piped through the Rollup build process.
- Showdown is used to parse a Markdown file.
- Gray Matter is used to parse front-matter from a Markdown file.
Install
npm install --save-dev @jackfranklin/rollup-plugin-markdown
yarn add --dev @jackfranklin/rollup-plugin-markdown
Example module output
import blogPost from './src/blog-post.md'
// from this import you get:
blogPost.html // the parsed HTML
blogPost.metadata // a JS object of the front-matter
blogPost.filename // blog-post.md - the filename that was imported
blogPost.path // ./src/blog-post.md - the path to the file that was imported
Rollup configuration
import markdown from '@jackfranklin/rollup-plugin-markdown'
export default {
input: 'your-app.js',
plugins: [
markdown({
include?: 'src/md/*.md',
exclude?: 'README.md',
showdownOptions?: '',
showdownExtensions?: '',
allowImports?: true,
parseFrontMatterAsMarkdown?: false
})
],
}
You can pass in six options:
include
andexclude
, which are globs to limit which file(s) the plugin is applied to.showdownOptions
, which are options to pass to the Showdown converter.showdownExtensions
, which is an array of Showdown extensions.allowImports
, a flag to tell the plugin whether or not to export the Markdown files as JavaScript modules.parseFrontMatterAsMarkdown
, a flag that converts front-matter values into inline HTML (without enclosing<p>/<p>
tags).
The plugin will only parse .md
files.
Changelog
0.4.0 [4th July 2022]
- Add TypeScript definitions - thanks @tommy-mitchell for the PR.
- Add options for parsing front matter and piping through Rollup - thanks @tommy-mitchell for the PR.
0.3.0 [13th Jan 2021]
- Allow Showdown options and extensions to be registered. Thanks to @mattfran and @arnorhs for their contributions.
0.2.0
- expose full path to Markdown file as
.path
from the import.
0.1.0
- Initial release