import { type ComrakRenderOptions } from "https://deno.land/x/comrak@0.1.1/mod.ts";
Options for formatter functions.
Properties
Escape raw HTML instead of clobbering it.
markdownToHTML("<i>italic text</i>");
"<p><!-- raw HTML omitted -->italic text<!-- raw HTML omitted --></p>\n"
markdownToHTML("<i>italic text</i>", { render: { escape: true } });
"<p><i>italic text</i></p>\n"
Defaults to false
.
GitHub-style <pre lang="xyz">
is used for fenced code blocks with info
tags.
markdownToHTML("``` rust\nfn hello();\n```\n");
"<pre><code class=\"language-rust\">fn hello();\n</code></pre>\n"
markdownToHTML("``` rust\nfn hello();\n```\n", { render: { githubPreLang: true } });
"<pre lang=\"rust\"><code>fn hello();\n</code></pre>\n"
Defaults to false
.
Soft line breaks in the input translate into hard line breaks in the output.
markdownToHTML("Hello.\nWorld.\n");
"<p>Hello.\nWorld.</p>\n"
markdownToHTML("Hello.\nWorld.\n", { render: { hardbreaks: true } });
"<p>Hello.<br />\nWorld.</p>\n"
Defaults to false
.
Allow rendering of raw HTML and potentially dangerous links.
markdownToHTML("<script>\nalert('xyz');\n</script>\n\n\
Possibly <marquee>annoying</marquee>.\n\n\
[Dangerous](javascript:alert(document.cookie)).\n\n\
[Safe](http://commonmark.org).\n");
"<!-- raw HTML omitted -->\n\
<p>Possibly <!-- raw HTML omitted -->annoying<!-- raw HTML omitted -->.</p>\n\
<p><a href=\"\">Dangerous</a>.</p>\n\
<p><a href=\"http://commonmark.org\">Safe</a>.</p>\n"
markdownToHTML("<script>\nalert('xyz');\n</script>\n\n\
Possibly <marquee>annoying</marquee>.\n\n\
[Dangerous](javascript:alert(document.cookie)).\n\n\
[Safe](http://commonmark.org).\n",
{ render: { unsafe: true } });
"<script>\nalert(\'xyz\');\n</script>\n\
<p>Possibly <marquee>annoying</marquee>.</p>\n\
<p><a href=\"javascript:alert(document.cookie)\">Dangerous</a>.</p>\n\
<p><a href=\"http://commonmark.org\">Safe</a>.</p>\n"
Defaults to false
.