Single newlines become <br> tags
This converter treats a single newline inside a paragraph as a line break, the way GitHub comments, Discord, and most note apps do. Strict CommonMark ignores it and needs two trailing spaces or a blank line. If your output has more line breaks than a reference implementation gave you, this is why.
Headings arrive with anchor ids already attached
## Getting Started becomes <h2 id="getting-started">. Duplicate heading text is de-duplicated with a numeric suffix, so two “Notes” headings become notes and notes-1 instead of colliding. In-page links and a generated table of contents both work without you editing the HTML.
The output is sanitized, so pasted HTML may not survive
Markdown allows raw HTML, but the result here is run through DOMPurify. Script tags, onclick-style handlers, and javascript: URLs are removed. That is what makes the output safe to publish when the Markdown came from somewhere you do not control — but it also means a deliberate embed can be stripped.
Syntax highlighting ships as classes, not colours
Fenced code blocks come out as <pre><code class="hljs language-js"> with highlight.js span classes already applied. Add any highlight.js theme stylesheet to your site and the colour appears; without one the code still renders correctly in a single colour.