kirala_markdown
markdown parser and html renderer written in Gleam language ver 1.0.0. This is a simple port from kirala_bbmarkdown, which does pattern matching by string whereas bbmarkdown does binary pattern matching.
bbmarkdown is about 25% faster than this, but this one also works with javascript target.
parse markdown
import kirala/markdown/parser
fn parse_markdown(markdown: String) {
let ast = parser.parse(1, bit_array.from_string(markdown))
}
markdown to html
import kirala/markdown/html_renderer
fn markdown_to_html(markdown: String) -> String {
let html = html_renderer.convert(markdown)
}
example
- https://github.com/Yasuo-Higano/example_gleam_markdown_server
build javascript target
pack_js.sh
gleam build --target javascript
npm install --save-exact --save-dev -g esbuild
esbuild kirala_markdown/kirala_markdown.mjs --bundle --platform=node --outfile=./build/kirala_markdown-node.js
Running in nodejs
node
md = require("./build/kirala_markdown-node.js")
md.markdown_to_html("# Hello world")