Skip to main content

A Python package that converts Markdown to HTML using Tailwind CSS 4 for styling.

Project description

md2html-tailwind4

A Python package that converts Markdown to clean, styled HTML using Tailwind CSS 4 classes.

Designed for projects that render HTML inside a Tailwind-powered frontend (Django, FastAPI, static sites, etc.). No build step required — just pass in Markdown, get back ready-to-render HTML.

Features

  • Converts Markdown to HTML with full Tailwind CSS 4 class annotations
  • Configurable font size scale (sm, base, lg)
  • Abbreviations (abbr) with dotted underline tooltip
  • Definition lists (dl/dt/dd)
  • Footnotes ([^1] syntax)
  • Admonition callout boxes (!!! note, !!! warning, !!! danger, etc.) with color-coded Tailwind styling
  • Inline/block math parsing via pymdownx.arithmatex (e.g. $\\rightarrow$) with automatic MathJax loader injection
  • Heading anchor IDs auto-generated via toc extension
  • List items immediately following a paragraph (no blank line) render correctly
  • Responsive tables with overflow scrolling
  • Audio table support (3-column tables with media URLs become interactive audio players)
  • Automatically escapes Django template delimiters ({{ }}, {% %}) inside code blocks
  • External links get target="_blank" and rel="noopener noreferrer" automatically
  • Dark mode support via Tailwind's dark: variants
  • CLI tool included

Installation

pip install md2html-tailwind4

Usage

Python API

from md2html_tailwind4 import Converter

# font_size: 'sm' | 'base' (default) | 'lg'
converter = Converter(font_size='sm')
html = converter.convert_md_to_html("# Hello\n\nThis is **Markdown**.")
print(html)

Command Line

md2html input.md output.html

# Use a smaller font size
md2html input.md output.html --font-size sm

Font Size Scales

Scale Heading 1 Body text Code block
sm text-xltext-3xl text-sm text-xs
base (default) text-2xltext-4xl text-base text-sm
lg text-3xltext-5xl text-lg text-base

HTML Output & Integration

The generated HTML is production-ready with:

  • Tailwind CSS 4 classes already applied (no build step needed)
  • MathJax 3 automatically injected when math expressions detected
  • Dark mode support via dark: variants
  • Responsive design for all elements
  • Security hardening (Django template escaping, external link attributes)

See HTML_HANDLING.md for detailed integration guides with Django, FastAPI, and more.

Math Support

Format math expressions with $...$ or \(...\):

Pricing: $4.99 \rightarrow $14.99
Physics: $E=mc^2$
Formula: \[\sum_{i=1}^{n} x_i\]

Smart normalization handles split expressions:

  • $4.99 \rightarrow $14.99$4.99 \rightarrow 14.99$
  • MathJax loaded automatically when needed

Requirements

  • Python >= 3.11

License

MIT — White Neuron Co., Ltd.

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

md2html_tailwind4-1.5.0.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

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

md2html_tailwind4-1.5.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file md2html_tailwind4-1.5.0.tar.gz.

File metadata

  • Download URL: md2html_tailwind4-1.5.0.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for md2html_tailwind4-1.5.0.tar.gz
Algorithm Hash digest
SHA256 c86252321e23ee33afd9289cc6ba5e297ac2c78dd16a11acbbe997d1f3d99201
MD5 bef3aab63f67887b18592bd0a197f5d8
BLAKE2b-256 10fdd0b5d7a91f0eafc2a47eaa81f67afaf06d34eb37c5c5c36bf19644abda05

See more details on using hashes here.

Provenance

The following attestation bundles were made for md2html_tailwind4-1.5.0.tar.gz:

Publisher: python-publish.yml on White-Neuron/md2html-tailwind4

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file md2html_tailwind4-1.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for md2html_tailwind4-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 781f6c7281b79bfe70bb4d9638cb8c5e571870edd460bc72788258eb0ce09ada
MD5 a40f0cb3ca2e658f012f77596637d76c
BLAKE2b-256 bdaa3fe1acba40a39eaa5be57f8b7d065757b64eff7877f790d0f52c364a3f70

See more details on using hashes here.

Provenance

The following attestation bundles were made for md2html_tailwind4-1.5.0-py3-none-any.whl:

Publisher: python-publish.yml on White-Neuron/md2html-tailwind4

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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