View Source MDEx (MDEx v0.1.6)

A fast 100% CommonMark-compatible GitHub Flavored Markdown parser and formatter.

Use Rust's comrak crate under the hood.

Summary

Functions

Convert markdown to HTML.

Convert markdown to HTML with custom opts.

Functions

@spec to_html(String.t()) :: String.t()

Convert markdown to HTML.

Examples

iex> MDEx.to_html("# MDEx")
"<h1>MDEx</h1>\n"

iex> MDEx.to_html("Implemented with:\n1. Elixir\n2. Rust")
"<p>Implemented with:</p>\n<ol>\n<li>Elixir</li>\n<li>Rust</li>\n</ol>\n"
@spec to_html(
  String.t(),
  keyword()
) :: String.t()

Convert markdown to HTML with custom opts.

Options

Accepts all available Comrak Options as keyword lists.

Features Options

  • :sanitize (default false) - sanitize output using ammonia. Recommended if passing render: [unsafe_: true]
  • :syntax_highlight_theme (default "Dracula") - syntax highlight code fences using syntect. See a list of available themes at EmbeddedThemeName

Examples

iex> MDEx.to_html("# MDEx")
"<h1>MDEx</h1>\n"

iex> MDEx.to_html("Implemented with:\n1. Elixir\n2. Rust")
"<p>Implemented with:</p>\n<ol>\n<li>Elixir</li>\n<li>Rust</li>\n</ol>\n"

iex> MDEx.to_html("Hello ~world~ there", extension: [strikethrough: true])
"<p>Hello <del>world</del> there</p>\n"

iex> MDEx.to_html("<marquee>visit https://https://beaconcms.org</marquee>", extension: [autolink: true], render: [unsafe_: true])
"<p><marquee>visit <a href=\"https://https://beaconcms.org\">https://https://beaconcms.org</a></marquee></p>\n"

iex> MDEx.to_html("# Title with <script>console.log('dangerous script')</script>", render: [unsafe_: true], features: [sanitize: true])
"<h1>Title with </h1>\n"