Markdown to HTML Converter
Convert Markdown files or strings to well-formatted HTML, suitable for web display or CMS publishing.
Quick Start
node scripts/md2html.js <input.md> [output.html]
Or via stdin:
echo "# Hello World" | node scripts/md2html.js -
Or as a Node.js module:
var converter = require('./scripts/md2html.js');
var html = converter.markdownToHtml(markdownString);
Parameters
| Parameter | Required | Description |
|---|---|---|
input.md |
Yes | Path to source Markdown file, or - for stdin |
output.html |
No | Output path (defaults to input name with .html) |
Supported Markdown Features
| Feature | Markdown Syntax | HTML Output |
|---|---|---|
| Headings | # h1 through ###### h6 |
<h1> through <h6> |
| Bold | **text** |
<strong>text</strong> |
| Italic | *text* |
<em>text</em> |
| Inline code | `code` |
<code>code</code> |
| Code blocks | ```lang ``` |
<pre><code class="language-lang"> |
| Links | [text](url) |
<a href="url" target="_blank">text</a> |
| Images |  |
<img src="url" alt="alt"> |
| Unordered lists | - item or * item |
<ul><li>item</li></ul> |
| Ordered lists | 1. item |
<ol><li>item</li></ol> |
| Blockquotes | > text |
<blockquote><p>text</p></blockquote> |
| Horizontal rule | --- or *** |
<hr> |
| Paragraphs | Blank line separation | <p>text</p> |
Design Principles
- Zero dependencies — Pure Node.js, works with v0.12+ (no npm install needed)
- CMS-friendly — Output is clean HTML suitable for direct database insertion
- No wrapper HTML — Outputs content HTML only (no
<html>,<head>,<body>) - Safe escaping — Code blocks escape
<and>to prevent XSS
Typical Use Cases
- AI Content Pipeline — LLM generates Markdown → convert to HTML → publish to CMS
- Static site generation — Batch convert
.mdfiles to.html - Documentation — Convert README.md to HTML for web display
Pipeline Integration Example
For automated AI content pipelines that generate Markdown but publish HTML:
var converter = require('./scripts/md2html.js');
var rawMarkdown = llmResponse.choices[0].message.content;
var htmlContent = converter.markdownToHtml(rawMarkdown);
// Now publish htmlContent to your CMS API
