A highly-configurable plugin for MkDocs that exports your pages to PDF files.
Project description
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
material
andreadthedocs
themes- 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mkdocs_exporter-6.2.0.tar.gz
.
File metadata
- Download URL: mkdocs_exporter-6.2.0.tar.gz
- Upload date:
- Size: 113.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.7 Darwin/24.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75fbd757c8fe8302489a48193c37d632dec2d0112d67fe2f72d1c7d80c6fbbfc |
|
MD5 | 60c8715388750b92953a2d06c081a7de |
|
BLAKE2b-256 | db320e4495d7686da711ec301e071a9850d0426e41ee05f12ddfa81e2fb1c98c |
File details
Details for the file mkdocs_exporter-6.2.0-py3-none-any.whl
.
File metadata
- Download URL: mkdocs_exporter-6.2.0-py3-none-any.whl
- Upload date:
- Size: 120.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.7 Darwin/24.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44e443c1fb9a6cffad2f8547bbdc9b0e79b15775b7c3ec943a9de6f6c1033f8e |
|
MD5 | b6b2ceeac8e9c64b7402d5dac91bdaa5 |
|
BLAKE2b-256 | d6718a0122e815255ba2953a0425f8a961117f9ef614afb5090f3af42748c5e0 |