Skip to main content

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 and readthedocs themes
      • Check out sample PDF documents here
  • Powerful - it uses a headless browser and some awesome libraries under the hood to generate PDF documents

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs_exporter-6.2.0.tar.gz (113.3 kB view details)

Uploaded Source

Built Distribution

mkdocs_exporter-6.2.0-py3-none-any.whl (120.4 kB view details)

Uploaded Python 3

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

Hashes for mkdocs_exporter-6.2.0.tar.gz
Algorithm Hash digest
SHA256 75fbd757c8fe8302489a48193c37d632dec2d0112d67fe2f72d1c7d80c6fbbfc
MD5 60c8715388750b92953a2d06c081a7de
BLAKE2b-256 db320e4495d7686da711ec301e071a9850d0426e41ee05f12ddfa81e2fb1c98c

See more details on using hashes here.

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

Hashes for mkdocs_exporter-6.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 44e443c1fb9a6cffad2f8547bbdc9b0e79b15775b7c3ec943a9de6f6c1033f8e
MD5 b6b2ceeac8e9c64b7402d5dac91bdaa5
BLAKE2b-256 d6718a0122e815255ba2953a0425f8a961117f9ef614afb5090f3af42748c5e0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page