MkDocs Exporter
A highly configurable plugin for MkDocs that exports your pages as PDF documents.
Additionally, it can combine your entire documentation into a single PDF file.
Features
- 🚀 Fast - All PDF documents are generated concurrently!
- 🎨 Customizable - full control over the resulting documents
- Combine all your pages into a single PDF document
- Create cover pages
- Define custom scripts and stylesheets to customize your PDF documents
- Add buttons to the top of your pages (example)
- Compatible with
materialandreadthedocsthemes- Check out sample PDF documents here
- ⭐ Powerful - it uses a headless browser and some awesome libraries under the hood to generate PDF documents
- Playwright to automate browsers
- Paged.js polyfills included (provide Paged Media and Generated Content CSS modules)
- Sass support included for your stylesheets
Prerequisites
- Python
>= 3.9 - MkDocs
>= 1.4
Installation
The plugin is hosted on PyPI and can be installed via pip (or your favourite package manager):
pip install mkdocs-exporter
Usage
The following configuration excerpt from the mkdocs.yml configuration file used by this documentation should cover the basic functionalities of this plugin:
plugins:
- exporter:
formats:
pdf:
enabled: !ENV [MKDOCS_EXPORTER_PDF, true]
concurrency: 8
stylesheets:
- resources/stylesheets/pdf.scss
covers:
front: resources/templates/covers/front.html.j2
back: resources/templates/covers/back.html.j2
aggregator:
enabled: true
output: .well-known/site.pdf
covers: all
Check out a sample PDF generated by this plugin, it includes custom CSS and features cover pages.
Roadmap
- Combine all pages into a single PDF document (✅ released in
v6.0.0) - Create a GitHub action that includes all dependencies to build the documentation and generate PDF documents
Feel free to request additional features by submitting an issue or contributing through a pull request.
Contributing
We welcome contributions from the community to enhance MkDocs Exporter.
Whether you want to report a bug, suggest a feature, improve the documentation, or contribute code, your help is appreciated!
License
This project is licensed under the MIT License (MIT), which you can read here.
Metadata
Release files for mkdocs-exporter 6.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mkdocs_exporter-6.2.0.tar.gz | 113.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mkdocs_exporter-6.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 233.8 kB
Release files / mkdocs_exporter-6.2.0.tar.gz
| Download URL | mkdocs_exporter-6.2.0.tar.gz |
|---|---|
| Size | 113.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75fbd757c8fe8302489a48193c37d632dec2d0112d67fe2f72d1c7d80c6fbbfc
|
|
BLAKE2b-256 checksum How to use checksums |
db320e4495d7686da711ec301e071a9850d0426e41ee05f12ddfa81e2fb1c98c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.7 Darwin/24.0.0
|
Release files / mkdocs_exporter-6.2.0-py3-none-any.whl
| Download URL | mkdocs_exporter-6.2.0-py3-none-any.whl |
|---|---|
| Size | 120.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44e443c1fb9a6cffad2f8547bbdc9b0e79b15775b7c3ec943a9de6f6c1033f8e
|
|
BLAKE2b-256 checksum How to use checksums |
d6718a0122e815255ba2953a0425f8a961117f9ef614afb5090f3af42748c5e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.7 Darwin/24.0.0
|