@lowlighter/markdown
v2.0.0
Published
Markdown renderer with optional plugins based on the unified ecosystem.
Downloads
36
Maintainers
Readme
🖨️ Markdown
📑 Examples
Rendering markdown
// Render markdown using the default renderer
import { Renderer } from "./renderer.ts"
await Renderer.render("# Hello, world!")
// Render markdown using a custom renderer
import { gfm, highlighting, markers, math, sanitize, wikilinks } from "./plugins/mod.ts"
const renderer = new Renderer({ plugins: [gfm, highlighting, math, markers, wikilinks, sanitize] })
await renderer.render("# Hello, world!")
Creating a custom renderer with different plugins sources
import { Renderer } from "./renderer.ts"
import frontmatter from "./plugins/frontmatter.ts"
const renderer = await Renderer.with({
plugins: [
// You can specify an existing Plugin object...
frontmatter,
// ...or a a HTTPS import that points towards a compatible Plugin object!
// Warning: this is not possible if you are using the JSR package version
// https://github.com/denoland/deno/pull/22623
"https://esm.sh/jsr/@libs/markdown/plugins/gfm",
],
})
await renderer.render("# foo")
✨ Features
- Render markdown to HTML using the unified ecosystem.
- Straightforward API for both basic markdown and extended markdown rendering
- Support out-of-the-box dozen of plugins to add extended markdown features
- Plugins can be imported:
- From already existing Plugin objects
- From local sources
- From remote HTTPS sources
- The last option is particularly useful for user-provided customizations in a dynamic environment.
📜 Licenses and credits
Copyright (c) Simon Lecoq <@lowlighter>. (MIT License)
https://github.com/lowlighter/libs/blob/main/LICENSE
This library rely on the awesome unified ecosystem.