commonmark
gleam add commonmark
import commonmark
import gleam/io
pub fn main() {
  "# Hello, Gleam!
This is a test."
  |> commonmark.render_to_html
  |> io.println
  // -> "<h1>Hello, Gleam!</h1>\n<p>This is a test.</p>\n"
}
Further documentation can be found at https://hexdocs.pm/commonmark.
You can view this README as an AST here.
There is also an interactive demo which you can use to test how this library interacts with your documents.
Syntax support
[!WARNING] ๐ง This package is still heavily under construction ๐ง
Legend
- โ - Completed
 - ๐ง - In Progress
 - โ - Unsupported
 
CommonMark
The current version of CommonMark targetted is 0.31.2.
- โ Thematic breaks
 - โ ATX headings
 - โ Setext headings
 - โ Indented code blocks
 - โ Fenced code blocks
 - โ Link reference definitions
 - โ Paragraphs
 - โ Block quotes
 - ๐ง Ordered lists
 - ๐ง Unordered lists
 - โ Code spans
 - ๐ง Emphasis and strong emphasis
 - ๐ง Links
 - ๐ง Images
 - โ Autolinks
 - โ Hard line breaks
 - โ Soft line breaks
 
Raw HTML features will be tackled last as the potential security issues around this need to be considered.
- โ HTML blocks
 - โ Inline HTML
 
Github Flavoured Markdown
The current version of GFM targetted is 0.29-gfm.
- โ Tables
 - โ Strikethrough
 
Other extensions
- โ Github alerts
 
Development
gleam test                    # Run the tests
gleam run -m tools/benchmark  # Run the benchmarks
gleam run -m tools/codegen    # Run the codegen tasks (these are committed in the repo)
gleam shell                   # Run an Erlang shell