agentleFS
fabioc-alohafabioc-aloha/Alex_ACT_ONE/skills/md-to-html/SKILL.md

md-to-html

Skill0 starsChanged 9 days agoMITView on GitHub

Convert Markdown to standalone HTML pages with embedded CSS, images, and Mermaid diagrams. Use when the user asks to convert to HTML, make a webpage, or export markdown as an .html file.

3 other projects use a version of this, 2 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Default HTML and debug filenames handle .md case-insensitively.

    line 25
  2. Distinctive:

    Not earning tokens if the output loses semantic structure (headings, lists, code blocks) that raw Pandoc preserves without the documented …

    line 247

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Md To Html

Write in Markdown, share as a polished web page — zero dependencies for viewers

Convert Markdown documents into self-contained HTML files with embedded CSS, base64 images, and Mermaid diagram rendering. Ready for quick-share distribution, offline viewing, print, or email attachment.

[!WARNING] This converter rejects executable raw HTML such as <script>, event-handler attributes, and javascript: URLs. Sanitize externally supplied Markdown before conversion; do not weaken this boundary to make an untrusted document render.

The source and rendered HTML are both screened. Fenced and indented code, including examples inside blockquotes and lists, remain literal. Local image embedding rejects Windows UNC/network and device paths, including encoded forms, before filesystem access. Remote image URLs remain linked rather than fetched. Default HTML and debug filenames handle .md case-insensitively. Output and debug destinations that alias the source, including hard links, are rejected before conversion or writes.


When to Use

  • Sharing formatted documents without requiring Word or PDF viewers
  • Creating self-contained HTML pages for offline distribution
  • Generating printable web pages from Markdown sources
  • Quick previews of documentation with professional styling
  • Email attachments that open in any browser
  • Static site generation from Markdown sources

Supported Formatting

FormatStatusNotes
Headings✅H1-H6 with styled colors
Bold/Italic✅Standard emphasis
Links✅Styled with underline on hover
Images✅Base64 embedded or linked
Code blocks✅Monospace styling
Inline code✅Background highlight
Tables✅Striped rows, header styling
Blockquotes✅Left border, italic style
Lists✅Ordered, unordered, nested
Task lists✅Checkbox rendering
Mermaid diagrams✅PNG or table fallback
SVG✅Local SVG images embedded; raw inline SVG rejected
Horizontal rules✅Styled dividers
Footnotes✅Via pandoc

Key Features

FeatureDetails
Style presetsprofessional, academic, minimal, dark
Self-containedAll CSS embedded in <style> block, no external deps
Image embeddingLocal images converted to base64 data URIs
Mermaid supportPNG rendering or table fallback for diagrams
Print-readyCSS @media print rules included
TOC generationOptional table of contents via --toc
FrontmatterExtracted for title, stripped from output

Usage

# Basic conversion (professional style)
node skills/md-to-html/scripts/md-to-html.cjs report.md

# Academic style with TOC
node skills/md-to-html/scripts/md-to-html.cjs thesis.md --style academic --toc

# Dark mode output
node skills/md-to-html/scripts/md-to-html.cjs docs.md --style dark

# Mermaid diagrams rendered as PNG (high quality)
node skills/md-to-html/scripts/md-to-html.cjs architecture.md --mermaid-png

# Custom output path
node skills/md-to-html/scripts/md-to-html.cjs README.md output/readme.html

# Dry run (validate without generating)
node skills/md-to-html/scripts/md-to-html.cjs report.md --dry-run

# Debug mode (save preprocessed markdown)
node skills/md-to-html/scripts/md-to-html.cjs report.md --debug

Options Reference

OptionDefaultDescription
--style PRESETprofessionalStyle preset: professional, academic, minimal, dark
--tocoffGenerate table of contents from headings
--embed-imagestrueConvert local images to base64 data URIs
--no-embed-images-Keep image paths as-is (external references)
--strip-frontmattertrueRemove YAML frontmatter from output
--mermaid-pngoffRender Mermaid as PNG (requires mmdc)
--mermaid-fallbackdefaultConvert Mermaid to table representation
--debugoffSave preprocessed markdown as _debug_combined.md
--dry-runoffValidate only, no HTML output

Style Presets

PresetFontMax WidthColorsBest For
professionalSegoe UI900pxBlue headings, white bgBusiness docs, reports
academicPalatino Linotype750pxDark headings, cream bgPapers, theses
minimalInter800pxBlack/gray, white bgClean, modern pages
darkSegoe UI900pxLight text, dark bgDark mode preference

Mermaid Diagram Support

Diagram TypePNG ModeFallback Mode
Flowchart✅ Full render✅ Table
Sequence✅ Full renderSource retained
Class✅ Full renderSource retained
State✅ Full renderSource retained
ER✅ Full renderSource retained
Gantt✅ Full renderSource retained
Pie✅ Full renderSource retained
Journey✅ Full renderSource retained

PNG Mode (--mermaid-png): Requires mermaid-cli (mmdc). Renders at scale 3 and 1200px width. Diagrams are embedded as base64 PNGs.

Fallback Mode (default): No renderer dependency. The supported simple graph/flowchart subset becomes node and relationship tables. Unsupported types or syntax retain the complete original source in a labeled code block; they are not rendered diagrams or successful table conversions. Use PNG mode when the reader needs a visual diagram.


Print Styling

HTML output includes @media print CSS rules:

  • Full-width body with page padding removed
  • Text-colored links without underlines
  • Code blocks with borders instead of background

Batch Processing

# Convert all markdown files in a directory
for file in docs/*.md; do
  node skills/md-to-html/scripts/md-to-html.cjs "$file" --style professional
done

# PowerShell equivalent
Get-ChildItem docs/*.md | ForEach-Object {
  node skills/md-to-html/scripts/md-to-html.cjs $_.FullName --style professional
}

Troubleshooting

ProblemCauseSolution
"pandoc not found"pandoc not installedRun /alex-act-one setup-dependencies
Mermaid not renderingmmdc not installedRun /alex-act-one setup-dependencies, or use the fallback
Images missingRelative paths brokenUse --embed-images (default)
Output too wide on printStyle preset issueUse academic style for print
Special characters garbledEncoding issueEnsure source is UTF-8

Requirements

  • Node.js 24+
  • pandoc — run /alex-act-one setup-dependencies to check and install
  • mermaid-cli (optional, only for --mermaid-png)

Muscle Script

skills/md-to-html/scripts/md-to-html.cjs


Conversion Acceptance Decision Table

ConditionVerdictAction
All headings, lists, tables, code blocks render correctlyAcceptShip as-is
Mermaid diagrams rendered as PNG/SVG with correct layoutAcceptVerify diagram labels readable
Mermaid diagrams missing or show raw syntaxRejectCheck mermaid-cli installed; re-run with --mermaid-png
Embedded images display at correct sizeAcceptConfirm no broken <img> tags
Images missing or show broken placeholdersRejectCheck paths are relative and files exist
CSS custom properties resolve (colors, fonts)AcceptVisual spot-check against brand
Inline styles lost or overridden by browser defaultsWarningAdd !important or inline fallbacks
Output file size >5MB for a simple documentWarningCheck for unoptimized base64 images
HTML validates (no unclosed tags, no script injection)AcceptRequired for security
HTML contains <script> from untrusted sourceRejectSanitize; only allow known libraries

Related Skills

  • md-to-word - sister converter for Word output
  • Mermaid authoring - use a Mermaid-capable skill; when Core is installed, its markdown-mermaid skill provides diagram guidance
  • Markdown linting - validate the source with the project's linter or the lint-clean-markdown skill

Falsifiability

  • This skill is wrong if generated HTML fails W3C validation on structural elements the skill explicitly handles
  • The conversion flags are stale if Pandoc changes default HTML5 output behavior in a major version
  • Not earning tokens if the output loses semantic structure (headings, lists, code blocks) that raw Pandoc preserves without the documented options

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.