Skip to main content

webolator

Turn a folder of markdown, or a single .md file, into a browsable website. No config file, no index file, no SUMMARY.md.

Docs: https://vivainio.github.io/webolator/ (built with webolator, of course)

  • Zero config. Point it at a folder and the navigation comes from the directory tree. Page titles come from the first # heading.
  • Mermaid. ```mermaid blocks become diagrams, rendered in the browser.
  • Syntax highlighting happens at build time (syntect), with light and dark themes and no JavaScript.
  • Cross-file links work. other.md, dir/, ../x.md#some-heading and /root/relative.md are rewritten to the right pages and anchors. Broken links print a warning.
  • Sibling files are kept. Raw .html, .txt/.log/code files, PDFs and images are copied and linked. HTML, text and PDF files also appear in the sidebar.
  • --single writes one self-contained .html with everything embedded (images, text files, HTML files, PDFs), which is easy to email or attach.
  • --serve runs a local preview with live reload.
  • Reading features: an "On this page" sidebar, previous/next links, "last updated" and "Edit this page" from git, a light/dark toggle, copy buttons on code, image zoom and a mobile menu.
  • Writing extras: $math$ (KaTeX), :emoji:, [[wikilinks]], and optional front matter (title, order, hidden). See the syntax reference for every supported form.
  • --check fails the build on broken links, for CI.
  • --files assets/ shows a folder as a plain file list (name, size, date) instead of rendering it. Useful for downloads and attachments.
  • --gallery screenshots/ shows a folder of images as a thumbnail grid with click-to-zoom.
  • Custom CSS. A webolator.css in the docs root is applied automatically, or you can pass --css file.css. Colors are CSS variables, so a theme can be a few lines. See styling.
  • GitHub-flavored markdown: tables, task lists, footnotes, strikethrough, autolinks and > [!NOTE] alerts.
  • Light and dark mode follow the OS setting.

Installation

Using uv (easiest)

Install the published wheel from PyPI as a standalone tool:

uv tool install webolator

This puts the webolator command on your PATH. To try it without installing anything:

uvx webolator docs/ --serve

Pre-built binaries

Download the latest release for your platform from the GitHub Releases page:

  • Linux (x86_64): webolator-linux-x86_64.tar.gz
  • Windows (x86_64): webolator-windows-x86_64.zip
  • macOS (Intel): webolator-macos-x86_64.tar.gz
  • macOS (Apple Silicon): webolator-macos-arm64.tar.gz

Extract the archive and place the webolator binary in your PATH.

From source

cargo install --git https://github.com/vivainio/webolator

Usage

webolator docs/                     # static site in ./site
webolator docs/ -o public           # ...or somewhere else
webolator docs/ --single            # one self-contained docs.html
webolator notes.md --single         # a single file, plus anything it links to
webolator docs/ --serve             # http://127.0.0.1:8000 with live reload

Try it on the bundled demo:

cargo run -- examples/demo --serve

How the site is put together

Source Result
index.md or README.md in a folder that folder's index.html
folder with no index a generated listing page
foo.md foo.html (or foo.md.html if a raw foo.html already exists)
any other file copied as is
hidden files and folders, node_modules, target, venv skipped
anything in .gitignore, .webolatorignore or --exclude skipped (--no-ignore turns off the .gitignore part)

Number prefixes like 01-usage.md or 02-guides/ set the sidebar order. They don't appear in labels and are removed from URLs, so 02-guides/01-setup.md becomes guides/setup.html.

If you pass a single file, webolator follows its local links, including links to parent folders. The site then contains that file, which becomes the home page, plus everything reachable from it.

In --single mode, each page becomes a section with hash routing, so the back and forward buttons and deep links like docs.html#p-guide-install--setup work. Images are inlined. Linked HTML files are shown in an iframe and text files as preformatted text, and PDFs and other files open from embedded blobs.

Mermaid offline

By default mermaid.js is loaded from the jsDelivr CDN, and only on pages that contain a diagram. To work fully offline, pass a local copy:

webolator docs/ --single --mermaid-js mermaid.min.js

In static mode the file is copied to _webolator/. In --single mode it is inlined.

Metadata

Release files for webolator 0.4.0

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

Built distributions (wheels)

Table of built distributions (wheels) for webolator 0.4.0
File Actions
webolator-0.4.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for webolator-0.4.0-py3-none-win_amd64.whl
webolator-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for webolator-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
webolator-0.4.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for webolator-0.4.0-py3-none-macosx_11_0_arm64.whl
webolator-0.4.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details for webolator-0.4.0-py3-none-macosx_10_12_x86_64.whl

Total release size: 10.3 MB

Release files / webolator-0.4.0-py3-none-win_amd64.whl

Download URL webolator-0.4.0-py3-none-win_amd64.whl
Size 2.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
758f785be27a89616684c3dd4134ebd5ef21c9d87e3525045364c8b88ead6321
BLAKE2b-256 checksum
How to use checksums
3ebaff8c7814c0d182f1c9fe5bdb680d67594d58e20f156232cdc4e786234052
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 8, 2026.

Transparency log

Release files / webolator-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL webolator-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.7 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8dad5906a4a04acf3fa8df30074401f4fc8bb16f1aec89b6850a31a0a953c3c3
BLAKE2b-256 checksum
How to use checksums
9a6b2e70c82adaffac4fd2dba555b80efad365a93c61543a91208cee6f664b20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 8, 2026.

Transparency log

Release files / webolator-0.4.0-py3-none-macosx_11_0_arm64.whl

Download URL webolator-0.4.0-py3-none-macosx_11_0_arm64.whl
Size 2.4 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9b7e16ed47b41d5dd36510815b07ba2b65d04852d0075b3c1d8cac4e3a0c7621
BLAKE2b-256 checksum
How to use checksums
2167225d9c74cd99aba952f7012b444bff41f570bf5796cafa8474abe2301867
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 8, 2026.

Transparency log

Release files / webolator-0.4.0-py3-none-macosx_10_12_x86_64.whl

Download URL webolator-0.4.0-py3-none-macosx_10_12_x86_64.whl
Size 2.6 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
aef8d0d9077c704492b4af96bf72a33acf6b1dae42dfa36f448a7374614a77ac
BLAKE2b-256 checksum
How to use checksums
f1b5ec8cf2e6fd282f10cdd2d0079e2f86a77ea78d4b167956720e22bea7f4eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 8, 2026.

Transparency log

Security for webolator 0.4.0

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 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for webolator-0.4.0-py3-none-win_amd64.whl

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 8, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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