Skip to content

araa47/markpdf

Repository files navigation

markpdf

markpdf

Beautiful PDFs from markdown. One command, zero config.

CI PyPI License Python


markpdf report.md

Install

Agent skill (Claude Code, Cursor, Codex, Gemini CLI):

npx skills add araa47/markpdf

CLI:

uv tool install git+https://github.com/araa47/markpdf

Or with pip:

pip install markpdf

Usage

markpdf report.md                        # creates report.pdf
markpdf report.md --dark                  # dark mode
markpdf report.md -o final.pdf            # custom output path
markpdf report.md -k                      # keep sections on same page
markpdf report.md -v                      # verbose output

Output

Light Dark

Source: tests/fixtures/showcase.md | Full PDFs: examples/

Features

  • Full markdown -- headers, lists, tables, code blocks, blockquotes, images, task lists
  • Extended syntax -- ==highlight==, ^super^, ~sub~, ~~strike~~
  • Light & dark themes -- shadcn/ui zinc palette
  • Smart page breaks -- headings stay with their content, no orphans
  • Remote images fetched concurrently
  • Async I/O with optional uvloop
  • Single command, agent-friendly -- no browser, no LaTeX, no config

Why markpdf?

Most messaging apps (Slack, Discord, Teams, WhatsApp, email) don't render markdown. markpdf turns it into a polished PDF -- no browser, no LaTeX, no config.

Contributing

See CONTRIBUTING.md for development setup.

uv sync --all-extras --dev
uv run pytest

Changelog

See CHANGELOG.md for release history.

License

MIT

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors