Skip to content
Third-Party Integrations
Github.com

Third-Party Integrations

Void works with the normal MkDocs plugin ecosystem. The recipes below are drop-in: add the plugin to plugins: in mkdocs.yml, keep - void, and the theme handles the rest. Every recipe on this page is built continuously by the repository's Integrations CI job β€” if a recipe stops working, the check fails.

Plugin ordering

MkDocs runs plugins in the order they appear in plugins:. A few rules of thumb:

  1. Put awesome-pages first β€” it builds the navigation from folders and other plugins (and section-index) consume that nav.
  2. Keep search early so later plugins can reference its output.
  3. git-revision-date-localized and git-authors read your Git history, so they need a Git checkout (CI clones are fine).
  4. print-site usually sits near the end β€” it renders every page into one combined document.
  5. void last is always safe: the theme reads the page.meta that earlier plugins have written.

mkdocs-git-revision-date-localized-plugin

Adds a real "Last updated" date from your Git history. Void renders it natively β€” the footer's theme.void.meta block reads page.meta.git_revision_date_localized and shows it with your configured label.

The plugin's internal id stays git-revision-date-localized, so the plugins: config below is unchanged.

# mkdocs.yml
theme:
  name: void
  void:
    meta:
      enabled: true
      show_last_updated: true
      last_updated_label: "Last updated"
      date_source: auto   # auto | git | front_matter

plugins:
  - search
  - git-revision-date-localized:
      enabled: true
      fallback_to_build_date: true
      type: date
      enable_creation_date: false
  - void
  • Install with pip install mkdocs-git-revision-date-localized-plugin.
  • auto (default) prefers the Git date and falls back to the page's date: front matter; git uses only Git, front_matter ignores Git entirely.
  • Without the plugin nothing breaks β€” the footer simply falls back to front matter or hides the row.

mkdocs-glightbox

Adds a lightbox to your images. Void already ships a built-in vanilla lightbox (theme.void.content.typography.image_lightbox, on by default), so use glightbox instead only if you want its feature set β€” and turn the built-in one off to avoid double handling:

# mkdocs.yml
theme:
  name: void
  void:
    content:
      typography:
        image_lightbox: false

plugins:
  - search
  - glightbox:
      compact: false
      auto_caption: true
  - void

The built-in lightbox needs no JavaScript library and no extra pip install β€” consider keeping it if you only need click-to-zoom.

mkdocs-print-site-plugin

Renders a combined "print site" (single-page HTML you can save as PDF). The generated page is rendered with the active theme's own templates, so a Void site gets Void styling automatically:

# mkdocs.yml
plugins:
  - search
  - print-site:
      add_to_navigation: true
      print_page_basename: print_page
  - void

The generated page lands at print_page/index.html and ships with the rest of the site, so it works offline like every other Void page.

Install with pip install mkdocs-print-site-plugin (the PyPI package is published under that name; the plugin id print-site used in plugins: is unchanged).

mkdocs-section-index

Makes navigation sections clickable when the folder contains an index page (README.md or index.md):

# mkdocs.yml
nav:
  - Guide: guide/
  - Home: index.md

plugins:
  - search
  - section-index
  - void
docs/
β”œβ”€β”€ index.md
└── guide/
    β”œβ”€β”€ README.md   # section index page
    └── usage.md

Note: section-index only adapts themes on its internal allowlist and logs a one-line warning for any other theme. Void' nav renders section pages natively (the section title becomes a clickable link that still nests its children), so the feature works β€” the warning is informational.

mkdocs-table-reader-plugin

Reads table files straight into your pages from CSV or Markdown β€” handy for keeping data in a single source file:

# mkdocs.yml
plugins:
  - search
  - table-reader
  - void
docs/
└── table_data.md   # a Markdown table
<!-- in any page -->
{{ read_raw("docs/table_data.md") }}

The rendered table picks up Void table styling automatically (theme.void.content.tables).

Install with pip install mkdocs-table-reader-plugin.

mkdocs-git-authors-plugin

Adds author information from your Git history to page.meta.git_authors:

# mkdocs.yml
plugins:
  - search
  - git-authors:
      show_email_address: false
      enable_creation_date: false
  - void

Void passes page.meta.git_authors through untouched (it is the same page.meta the theme reads elsewhere), so you can render it with your own custom head/footer injection. The meta footer itself only shows the date β€” it does not show authors by design.

Install with pip install mkdocs-git-authors-plugin.

mkdocs-awesome-pages-plugin

Builds the navigation automatically from your folder structure (no explicit nav:), with per-folder ordering and hiding through a .pages file:

# mkdocs.yml
plugins:
  - awesome-pages:
      collapse_single_pages: true
      strict: false
  - search
  - section-index
  - void
docs/
└── guide/
    β”œβ”€β”€ .pages        # order, title, and hidden entries
    β”œβ”€β”€ README.md
    └── usage.md
# docs/guide/.pages
title: Guide
order: first

Install with pip install mkdocs-awesome-pages-plugin.

Verified in CI

.github/workflows/integrations.yml builds a project that uses all seven recipes at once and asserts the results (rendered "Last updated" date, print page, clean strict build, void doctor exit 0). See the Development page for how to run the same checks locally.