Metadata-Version: 2.4
Name: markpublish
Version: 2.1.1
Summary: Modern, modular, and extensible Markdown-to-PDF publishing tool powered by Typst
Author-email: Frank Winter <studio@frankwinter.com>
License: MIT
Project-URL: Homepage, https://github.com/fwdotcom/markpublish
Project-URL: Documentation, https://github.com/fwdotcom/markpublish#readme
Project-URL: Repository, https://github.com/fwdotcom/markpublish.git
Project-URL: Issues, https://github.com/fwdotcom/markpublish/issues
Project-URL: Changelog, https://github.com/fwdotcom/markpublish/blob/main/CHANGELOG.md
Keywords: markdown,pdf,typst,publishing,converter,cli
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Documentation
Classifier: Topic :: Text Processing :: Markup :: Markdown
Classifier: Topic :: Printing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typst>=0.15.0
Requires-Dist: markdown>=3.5.0
Requires-Dist: pymdown-extensions>=10.0.0
Requires-Dist: pygments>=2.15.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.0.0
Requires-Dist: platformdirs>=3.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pypdfium2>=4.0.0; extra == "dev"
Requires-Dist: ruff>=0.6.0; extra == "dev"
Requires-Dist: tomli>=2.0.0; python_version < "3.11" and extra == "dev"
Dynamic: license-file

# markpublish

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)

## Modern PDF Document Publishing from Markdown

markpublish typesets structured Markdown chapters into print-ready PDFs.
Structure, metadata and design live in a single `markpublish.yaml` —
everything else is your text.

- **One manifest instead of a command line full of options**: title, cover,
  tables of contents, headers and footers, order of chapters.
- **Parts and chapters with divider pages**: with subtitle, summary and a
  local table of contents of their own — configurable per level.
- **Flexible pattern-based autonumbering**: a single pattern (`"1|.1|+"`,
  `"A|.1|+"`, or `"I|1|.1|+"`) defines how parts, chapters, and subheadings
  count. Freely mix numbering styles, skip levels (`_`), prefix labels
  ("Chapter", "Appendix"), and keep headings fully synchronized with all
  tables of contents.
- **Themes in Typst**: `markpublish export-template default ./templates` puts
  the default theme into your project and the next build picks up your
  version. The font ships with the theme, so output does not depend on the
  machine.
- **Markdown that does more**: GitHub-style alerts, footnotes, task lists,
  definition lists, math, syntax highlighting.
- **Bilingual both ways**: the document language drives labels and
  hyphenation, the interface language follows your system (`--ui-lang`).
- **Self-documenting**: `markpublish cheatsheet` and `markpublish manual`
  render the reference and the manual from the installed package — always
  matching the version you are running.

## Manual

| | Deutsch | English |
| :--- | :--- | :--- |
| Handbuch · Manual | [Benutzerhandbuch (PDF)](https://github.com/fwdotcom/markpublish/blob/main/manual/markpublish_benutzerhandbuch.pdf) | [User Manual (PDF)](https://github.com/fwdotcom/markpublish/blob/main/manual/markpublish_user_manual.pdf) |
| Kurzreferenz · Quick reference | [Kurzreferenz (PDF)](https://github.com/fwdotcom/markpublish/blob/main/manual/markpublish_kurzreferenz.pdf) | [Quick Reference (PDF)](https://github.com/fwdotcom/markpublish/blob/main/manual/markpublish_quick_reference.pdf) |

All four are typeset with markpublish itself.

## Installation

```bash
pip install markpublish

# create a project
markpublish init my-project

# build the PDF
markpublish build my-project/markpublish.yaml      
```

(requires Python 3.10 or newer)

## Lizenz · License

MIT © 2026 Frank Winter —
[LICENSE](https://github.com/fwdotcom/markpublish/blob/main/LICENSE)
