Skip to content

MkDocs Plugin that adds an additional page that combines all pages, allowing easy exports to PDF and standalone HTML.

License

Notifications You must be signed in to change notification settings

timvink/mkdocs-print-site-plugin

Repository files navigation

Actions Status PyPI - Python Version PyPI PyPI - Downloads codecov GitHub contributors PyPI - License

mkdocs-print-site-plugin

MkDocs plugin that adds a print page to your site that combines the entire site, allowing for easy export to PDF and standalone HTML. See demo.

Features 🌟

  • Support for mkdocs-material theme, including features like instant loading, dark color themes and certain plugins (f.e. the tags plugin)
  • Support for readthedocs theme
  • Support for pagination in PDFs.
  • Many options to customize appearance
  • Option to add a cover page
  • Lightweight, no dependencies.

Setup

Install the plugin using pip3:

pip3 install mkdocs-print-site-plugin

Next, add the following lines to your mkdocs.yml:

plugins:
  - search
  - print-site

⚠️ Make sure to put print-site to the bottom of the plugin list. This is because other plugins might alter your site (like the navigation), and you want these changes included in the print page.

If you have no plugins entry in your config file yet, you'll likely also want to add the search plugin. MkDocs enables it by default if there is no plugins entry set.

Usage

  • Navigate to /print_page/ or print_page.html
  • Export to standalone HTML (see export to HTML)
  • Export to PDF using your browser using File > Print > Save as PDF (see export to PDF)

Documentation

Available at timvink.github.io/mkdocs-print-site-plugin.

Contributing

Contributions are very welcome! Start by reading the contribution guidelines.