Skip to main content

prodockit

Documentation Build GitHub Stars GitHub Forks

A toolkit for writing and publishing professional or academic documents with Zensical. Write the content once in Markdown, publish it as a website, and build a single downloadable or submittable PDF from the same pages and navigation.

prodockit combines:

  • nine Python-Markdown authoring extensions for headings, references, citations, glossaries, tables, directories, procedures, bibliographies, and indexes;
  • a Pandoc and WeasyPrint PDF pipeline;
  • Zensical macros and built-output tests; and
  • commands for machine setup, template updates, repository metadata, and reproducible build inputs.

PyMdown Extensions is a direct part of the authoring foundation. prodockit.steps and prodockit.tree are built with the PyMdown Blocks API, so they use its slash-fenced block model rather than a separate, look-alike parser.

Choose where to start

You want to Start here
Create and publish a document prodockit User Guide
Begin with a maintained report project prodockit-template
Use Adoption to add prodockit to an existing Zensical or MkDocs document prodockit adopt
Choose and install each dependency directly Manual installation
Build a small local site from scratch Build your first site
Look up Markdown syntax and configuration Authoring reference
Build a PDF or publish with CI Publish a document
Evaluate versions, platforms, and maturity Support and compatibility
Change prodockit itself Contributing

Project status

prodockit is currently Alpha: its documented features are functional and tested, but pre-1.0 releases can still make a documented breaking change when needed to regularise the public configuration.

Bootstrap has completed manual end-to-end testing on Ubuntu, Windows, and macOS against both the University of Surrey GitLab and GitHub.com. That testing covered creating a new document repository and installing an existing online repository locally. The full test suite runs on Ubuntu for every push and pull request and is also run locally on macOS. Windows has manual workflow coverage, but not a hosted full-suite regression job.

See Support and compatibility for the precise test depth, supported versions, and known constraints.

Installation

prodockit requires Python 3.10 or later and is tested on Python 3.10–3.14:

python -m pip install prodockit

The base installation includes Zensical, Python-Markdown, PyMdown Extensions, and the other Python libraries used by the Markdown extensions. Optional extras add features with larger testing or indexing dependencies:

python -m pip install "prodockit[index]"    # PDF back-of-book index
python -m pip install "prodockit[testing]"  # checks for a built site and PDF

PDF and bibliography features need tools that the base installation does not supply:

  • install WeasyPrint with python -m pip install weasyprint and install its native Pango libraries;
  • install Pandoc for PDF generation and BibTeX/BibLaTeX bibliographies; and
  • install the optional Node tools and Chrome or Chromium only when the PDF contains Mermaid diagrams or TeX maths.

Follow the complete, platform-specific installation guide before building a PDF. Check the installed release with:

prodockit --version

Authoring extensions

Enable only the extensions a project uses in zensical.toml. Each extension has a beginner-first guide with copyable Markdown and a rendered result.

Extension Use it for
prodockit.headings Numbered headings and appendices
prodockit.refs Cross-references to headings, figures, and tables
prodockit.citations A small reference list written directly in Markdown
prodockit.glossary Acronyms and glossary terms
prodockit.tables Widths, merged cells, dense tables, and richer headers
prodockit.tree Readable directory trees
prodockit.steps Procedures presented as numbered steps
prodockit.bibliography BibTeX/BibLaTeX citations formatted with CSL
prodockit.index A PDF-only back-of-book index

For example:

[project.markdown_extensions."prodockit.headings"]
numbering = "continuous"

[project.markdown_extensions."prodockit.refs"]

[project.markdown_extensions."prodockit.steps"]

The authoring reference explains the three consistent stages for each feature: enable the extension, write the Markdown, then configure optional behaviour.

Publishing and project commands

Run prodockit --help for the options installed with the current release. The pdk executable is an exact shorter alias for prodockit; boot aliases bootstrap, and source aliases source-bundle.

Command Purpose
prodockit config Show resolved Prodockit settings and check source-project integrity
prodockit adopt Add selected prodockit components to an existing Zensical or MkDocs document
prodockit bootstrap Check or prepare a machine and a project based on prodockit-template
prodockit init-tools Install the local Node tooling for Mermaid and maths rendering
prodockit init-mathjax Copy the installed MathJax bundle into website assets
prodockit update-dates Add per-page revision dates to a completed website without changing Markdown source
prodockit pdf Build one PDF from the pages in the Zensical navigation
prodockit source-bundle Bundle the Markdown source and configuration into a separate PDF
prodockit sync-repo Match repository links, branding, and managed README badges to origin
prodockit pins Check and update build-input versions across project files
prodockit template-sync Review and apply later updates from prodockit-template

The command-line reference documents safe first runs, write behaviour, and aliases. When publishing both outputs locally, build in this order:

zensical build --clean --strict
prodockit pdf
prodockit update-dates

The PDF consumes the completed Zensical site and does not invoke the site builder. prodockit update-dates post-processes the generated HTML and does not edit the files you author or call the site builder. It is also a standalone capability: an existing Zensical project can use it after installing the package, without running prodockit adopt or enabling any other Prodockit component. The maintained template includes annotated GitHub Actions and GitLab CI workflows that perform the same build, test the generated files, and deploy Pages.

Package integrations

Integration Purpose
prodockit.zensical_macros Word counts, repository data, document-wide numbering, and layout helpers for Zensical templates
prodockit.testing Reusable pytest fixtures and checks for a generated site and PDF

These are not Markdown extensions. Macros are enabled through Zensical's macros configuration; testing support is installed with python -m pip install "prodockit[testing]".

Development

Changes to the package, tests, automation, or technical documentation should follow CONTRIBUTING.md. It gives the editable installation, external PDF prerequisites, macOS library-path setup, source gates, built-site tests, and pull-request expectations.

Contributing

Contributions are welcome. Search or open an issue before starting a change beyond a small correction, and submit changes through a focused branch and pull request. See Contributing for the complete workflow.

Licence

MIT - see LICENSE.

Download files

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

Source Distribution

prodockit-0.51.2.tar.gz (7.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prodockit-0.51.2-py3-none-any.whl (418.5 kB view details)

Uploaded Python 3

File details

Details for the file prodockit-0.51.2.tar.gz.

File metadata

  • Download URL: prodockit-0.51.2.tar.gz
  • Upload date:
  • Size: 7.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for prodockit-0.51.2.tar.gz
Algorithm Hash digest
SHA256 2de263a848bfc6bba2d1de26a0841993297b7c3950b3f060690e38369865823f
MD5 7c56ecf333867990ee9f4f4cb8b20a52
BLAKE2b-256 025cef70ffb86b28e0244ed245f1475ad1375421cfc47e4b6e3864c366e38501

See more details on using hashes here.

Provenance

The following attestation bundles were made for prodockit-0.51.2.tar.gz:

Publisher: publish.yml on buckwem/prodockit-extensions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prodockit-0.51.2-py3-none-any.whl.

File metadata

  • Download URL: prodockit-0.51.2-py3-none-any.whl
  • Upload date:
  • Size: 418.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for prodockit-0.51.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ae37c1b358ca4cac6f03ed47500fb539b125ff7cc2b12ddf1546cb7a89e0f3cb
MD5 2f4cb7c47490d1b5e351d572f70602ae
BLAKE2b-256 c3feabbd35d2c3bb3ac65d23546d92ff8258c65b693de68f71a3fa4892ca9182

See more details on using hashes here.

Provenance

The following attestation bundles were made for prodockit-0.51.2-py3-none-any.whl:

Publisher: publish.yml on buckwem/prodockit-extensions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.63.0

2 files

0.62.0

2 files

0.61.6

2 files

0.61.5

2 files

0.61.3

2 files

0.61.2

2 files

0.61.1

2 files

0.61.0

2 files

0.60.4

2 files

0.60.3

2 files

0.60.2

2 files

0.60.1

2 files

0.60.0

2 files

0.59.0

2 files

0.58.0

2 files

0.57.0

2 files

0.56.0

2 files

0.55.0

2 files

0.54.1

2 files

0.54.0

2 files

0.53.0

2 files

0.52.0

2 files

0.51.4

2 files

0.51.3

2 files

This release

0.51.2 This release

2 files

0.51.1

2 files

0.51.0

2 files

0.50.1

2 files

0.50.0

2 files

0.49.1

2 files

0.49.0

2 files

0.48.1

2 files

0.48.0

2 files

0.47.0

2 files

0.46.0

2 files

0.45.0

2 files

0.44.0

2 files

0.43.2

2 files

0.43.1

2 files

0.43.0

2 files

0.42.1

2 files

0.42.0

2 files

0.41.0

2 files

0.40.0

2 files

0.39.0

2 files

0.38.0

2 files

0.37.0

2 files

0.36.4

2 files

0.36.3

2 files

0.36.2

2 files

0.36.1

2 files

0.36.0

2 files

0.35.1

2 files

0.35.0

2 files

0.34.0

2 files

0.33.0

2 files

0.32.1

2 files

0.32.0

2 files

0.31.1

2 files

0.31.0

2 files

0.30.1

2 files

0.30.0

2 files

0.29.0

2 files

0.28.1

2 files

0.28.0

2 files

0.27.0

2 files

0.26.7

2 files

0.26.6

2 files

0.26.5

2 files

0.26.4

2 files

0.26.3

2 files

0.26.2

2 files

0.26.1

2 files

0.26.0

2 files

0.25.0

2 files

0.24.1

2 files

0.24.0

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.1

2 files

0.20.0

2 files

0.19.1

2 files

0.19.0

2 files

0.18.1

2 files

0.18.0

2 files

0.17.5

2 files

0.17.4

2 files

0.17.3

2 files

0.17.2

2 files

0.17.1

2 files

0.17.0

2 files

0.16.0

2 files

0.15.2

2 files

0.15.1

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.9

2 files

0.10.8

2 files

0.10.7

2 files

0.10.6

2 files

0.10.5

2 files

0.10.4

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.8

2 files

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page