Skip to main content

A Markdown to HTML parser with CLI support

Project description

mdparser-html

A lightweight, extensible Markdown → HTML converter with a clean Python API and CLI.

Built for simplicity, hackability, and future extension.


🤔 Why mdparser-html?

  • Lightweight alternative to full Markdown engines
  • Easy to extend and hack
  • Designed for learning, tooling, and static generators

✨ Features

  • Markdown → HTML conversion
  • Full HTML document or body-only output
  • Syntax highlighting via CDN (Prism / Highlight.js)
  • Headings, lists, code blocks, images
  • Fenced blocks (:::)
  • CLI + Python API
  • Zero runtime dependencies

📦 Installation

pip install mdparser-html

🚀 Usage CLI

md2html input.md -o output.html

</> Python API

Basic usage

from mdparser import parse_markdown

html = parse_markdown("# Hello World")
print(html)

⚙️ Configuration Options

Advanced usage

html = parse_markdown(
    markdown_text,
    full_html=True,
    title="My Document",
    include_cdn=True  # Include syntax highlighting CDN links
)
print(html)

Body-only output

body = parse_markdown(markdown_text, full_html=False)
print(body)

Fenced blocks

:::

# Welcome

This is a hero section
:::

rendered as

<div class="hero">
  <h1>Welcome</h1>
  <p>This is a hero section</p>
</div>

🗂️ Supported Markdown

  • Headings (#########)
  • Bold / Italic
  • Inline code
  • Fenced code blocks
  • Ordered & unordered lists
  • Images
  • Fenced div blocks

🛠 Design Notes

  • Single public API: parse_markdown
  • Internal helpers are intentionally hidden
  • Designed for future renderers (HTML today, more later)

🧾 CHANGELOG.md

Create a new file called CHANGELOG.md

🗺 Roadmap

  • AST-based parser
  • Performance optimizations
  • Additional output formats (e.g. Pug)
  • Plugin hooks

🤝 Contributing

Pull requests are welcome.
Please open an issue before major changes.

License

MIT License © 2025 Tarun Nayaka R (Rtarun3606k)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdparser_html-0.2.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mdparser_html-0.2.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file mdparser_html-0.2.0.tar.gz.

File metadata

  • Download URL: mdparser_html-0.2.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for mdparser_html-0.2.0.tar.gz
Algorithm Hash digest
SHA256 77f3eb004f8d164c72f73e4932192a12e353c21af0fd9bf9deddab8ea35b64e9
MD5 99be027f3ba6f765dec4bb0c27a1cc8c
BLAKE2b-256 ef8c07a4a02e574b35b44fa908d704b6d969c0b7633a14b98c3e57df1c2be6f5

See more details on using hashes here.

File details

Details for the file mdparser_html-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mdparser_html-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for mdparser_html-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e61d43c58a2b59d30f2ae8a5c511c91c2869bd2f772aa5e48f95bcdb4061f681
MD5 a8192169c17f73c3906edba21bcec022
BLAKE2b-256 2b6f705b0b15145b3761520ab73a4126caf2ac9cb34afc84fd30c1b0b9e509a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page