Skip to main content

PyPi CI Code coverage Python Issues Commit activity Downloads License

📘 mkdocs-webis

Webis style, BibTeX citations, and Jupyter notebooks for MkDocs Material.

This MkDocs plugin...

  • ... styles your documentation like the Webis homepage (a dark gray navigation bar with the Webis logo, the "Product Sans" and "Noto Sans" fonts, plain headings, blue links and buttons, flat tables, and a light gray footer),
  • ... lets you cite references from a BibTeX file with [@key] or [@key1, @key2], rendered as gray author–year citations like "[Fang et al., 2004]", and appends a list of the cited references (including their BibTeX) to each page,
  • ... renders Jupyter notebooks as pages that look like the rest of your documentation (optional).

The documentation is rendered with the plugin itself, so it doubles as a demo.

Installation

Install the package from PyPI:

pip install mkdocs-webis

Usage

Enable the plugin in your mkdocs.yml (together with the Material theme):

theme:
  name: material

plugins:
  - webis:
      # Optional: BibTeX file in your docs directory.
      bibliography: references.bib
      # Optional: render Jupyter notebooks.
      notebooks: true

Citations

With a bibliography configured, cite references by their BibTeX keys:

Axioms are formal constraints on retrieval models [@fang2004formal].
Some studies use axioms for re-ranking [@hagen2016axiomatic, @bondarenko2022axiomatic].

Citations are rendered as gray author–year links in brackets (e.g., "[Fang et al., 2004]" or "[Hagen et al., 2016; Bondarenko et al., 2022]"), like on the Webis slides. They link to a "References" section at the bottom of the same page, which lists all references cited on that page. Multiple keys are separated by commas or semicolons. Citations also work in API docstrings rendered by mkdocstrings.

We recommend copying BibTeX entries from DBLP.

Notebooks

With notebooks enabled, Jupyter notebooks (.ipynb) in your docs directory become pages, which you can add to the nav like Markdown pages:

nav:
  - Tutorial: tutorial.ipynb

The notebooks are converted to Markdown with nbconvert and then rendered like any other page. Code cells display as code blocks, data frames as compact tables, and Markdown cells support the same extensions (including citations). Notebooks are never executed: the pages show the outputs stored in the notebooks, ignoring logs (stderr). Widgets (e.g., sliders or progress bars) are shown as disabled HTML elements in the state when the notebook was saved (if the notebook contains the widget state). If configured, math can be used in Markdown cells or LaTeX outputs. A button at the top of the page downloads the notebook.

Style Elements

Besides styling the standard Material elements, the stylesheet provides a few CSS classes:

# Page Title

<p class="subtitle">A gray subtitle below the page title.</p>

<span class="badge">TFC1</span> — a small label, e.g., for names or acronyms.

The colors of webis.de are available as CSS variables (e.g., var(--webis-blue), var(--webis-red)) for your own stylesheets. See the style elements for how all elements look.

Development

To build this package and contribute to its development you need to install the build, setuptools and wheel packages:

pip install build setuptools wheel

(On most systems, these packages are already pre-installed.)

Development installation

Install package and test dependencies:

pip install -e .[tests]

Testing

Verify your changes against the test suite to verify.

ruff check .  # Code format, LINT, and security
mypy .        # Static typing
pytest .      # Unit tests

Please also add tests for your newly developed code.

Documentation and demo

The documentation in docs/ uses the plugin itself, including a page with all style elements and citations. Preview it locally to check changes to the style or the citations:

mkdocs serve

Build wheels

Wheels for this package can be built with:

python -m build

Support

If you have any problems using this package, please file an issue. We're happy to help!

License

This repository is released under the MIT license.

Metadata

Release files for mkdocs-webis 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mkdocs-webis 0.1.4
File Size Uploaded Provenance
mkdocs_webis-0.1.4.tar.gz 58.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mkdocs-webis 0.1.4
File Interpreter ABI Platform
mkdocs_webis-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 110.4 kB

Release files / mkdocs_webis-0.1.4.tar.gz

Download URL mkdocs_webis-0.1.4.tar.gz
Size 58.4 kB
Tags Source
SHA-256 checksum
How to use checksums
91ebf53c6b23f5ca4ce8c9b4ee7d25bb15d5c14f5fec4b4d633370249520d0ac
BLAKE2b-256 checksum
How to use checksums
5612329808215fdacb55fe7bb1e0757f6c7a7c373b00670e32586dbb98383e8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / mkdocs_webis-0.1.4-py3-none-any.whl

Download URL mkdocs_webis-0.1.4-py3-none-any.whl
Size 52.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02eae1f16353bd043fe885ff7105bc4a0d6403b263e91e730985a26abd89bf19
BLAKE2b-256 checksum
How to use checksums
fff0757becdf3cc946a548a41834f4cf91f6716ffa515d2e57aa9c2fb7060298
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for mkdocs-webis 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mkdocs_webis-0.1.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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