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.1.0.tar.gz (113.3 kB view hashes)

Uploaded Source

Built Distribution

mkdocs_exporter-6.1.0-py3-none-any.whl (120.4 kB view hashes)

Uploaded Python 3

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