Download the PHP package blizzard-fs/md2html without Composer
On this page you can find all versions of the php package blizzard-fs/md2html. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download blizzard-fs/md2html
More information about blizzard-fs/md2html
Files in blizzard-fs/md2html
Package md2html
Short Description Standalone Markdown to HTML parser. Pure PHP, no dependencies. CommonMark + GFM with optional Carbon.now.sh-style code blocks.
License MIT
Homepage https://github.com/Blizzard-fs/md2html
Informations about the package md2html
md2html
Standalone Markdown to HTML parser. Pure PHP, no dependencies.
Supports CommonMark and GitHub Flavored Markdown (GFM) with an optional Carbon.now.sh-style renderer for code blocks.
Install
Composer
Manual
Clone the repo and require the entry point directly:
CLI Usage
CLI Options
| Flag | Description |
|---|---|
--carbon |
Carbon.now.sh-style code blocks |
--safe |
Strip raw HTML blocks |
--heading-ids |
Generate id attributes on headings |
--hard-breaks |
Treat newlines as <br> |
--nofollow |
Add rel="nofollow noopener" to links |
--wrap |
Wrap output in full HTML document |
--title <str> |
Document title (requires --wrap) |
--css <str> |
Custom CSS (requires --wrap) |
--max-nesting <n> |
Max block nesting depth (default 10) |
PHP Usage
With Composer autoloading:
Carbon renderer
Code blocks render with macOS-style window chrome, dark background, and language labels. CSS is emitted once, inline.
Options
| Option | Default | Description |
|---|---|---|
setWrapDocument(bool) |
false |
Wrap output in <!DOCTYPE html> document |
setDocumentTitle(string) |
'' |
<title> for document wrapper |
setDocumentCss(string) |
'' |
Custom <style> in document <head> |
setSafeMode(bool) |
false |
Strip raw HTML blocks |
setHeadingIds(bool) |
false |
Generate id slugs on headings |
setHardBreaks(bool) |
false |
Treat newlines as <br> |
setNoFollowLinks(bool) |
false |
Add rel="nofollow noopener" to links |
setMaxNestingLevel(int) |
10 |
Limit recursion depth for nested blocks |
Implement OptionsInterface to provide your own options logic. Custom renderers that need access to the active options implement OptionsAwareInterface (a setOptions() method); the parser injects options into any renderer that does.
Custom renderer
Implement RendererInterface to control all HTML output:
Supported Elements
Block-level: headings (ATX + setext), paragraphs, fenced and indented code blocks, blockquotes (nested), tables (with alignment), ordered and unordered lists (nested, loose/tight), task lists, horizontal rules, HTML passthrough, footnote sections.
Inline: bold, italic, bold-italic, strikethrough, inline code, links (inline + reference), images, autolinks, email links, footnote references, backslash escapes, line breaks.
GFM extensions: tables, strikethrough, task lists, autolinks, underscore-in-word handling (foo_bar_baz stays literal).
Architecture
Strategy pattern with composition. CarbonHtmlRenderer delegates everything except codeBlock() to PlainHtmlRenderer - no inheritance.
Requirements
- PHP 8.1+
License
MIT