brucedown
v2.0.3
Published
A near-perfect GitHub style Markdown to HTML converter
Readme
Brucedown
A bonza GitHub-style Markdown to HTML converter
Converts GitHub Flavoured Markdown (GFM) to HTML with syntax highlighting powered by Shiki (the same highlighting engine used by VS Code).
Installation
npm install brucedownUsage
As a module
import brucedown from 'brucedown'
const markdown = `
# G'day World
Some **bold** text and \`inline code\`.
\`\`\`javascript
const greeting = "G'day!";
console.log(greeting);
\`\`\`
`
const html = await brucedown(markdown)
console.log(html)With options
import brucedown from 'brucedown'
const html = await brucedown(markdown, {
theme: 'github-dark' // Any Shiki theme
})CLI
brucedown input.md output.html
brucedown input.md > output.htmlCleanup
If you're processing heaps of files in a long-running process and want to free resources when done:
import brucedown, { dispose } from 'brucedown'
// Process your files...
const html = await brucedown(markdown)
// Release Shiki's WASM/grammar resources
dispose()For CLI usage or short-lived processes, this isn't necessary - process exit handles cleanup.
Features
- GitHub Flavoured Markdown - Tables, strikethrough, task lists, autolinks
- Syntax Highlighting - Powered by Shiki with VS Code-quality highlighting
- 200+ Languages - All languages supported by VS Code
- Multiple Themes - Any VS Code theme (
github-light,github-dark,one-dark-pro, etc.) - Browser & Node.js - Works in both environments
API
brucedown(markdown, [options])
Converts markdown to HTML.
markdown(string) - The markdown sourceoptions(object, optional)theme(string) - Shiki theme name (default:'github-light')
Returns: Promise<string> - The resulting HTML
dispose()
Releases Shiki's WASM and grammar resources. Only needed for long-running processes; CLI usage doesn't require this.
Licence
MIT Licence. Copyright (c) Rod Vagg.
