Skip to main content

docs-site

License: MIT Python: 3.11+

Turn a folder of dumped HTML and PDF files into a clean, searchable, dark-mode-ready static documentation portal.

Features

  • Static & Offline: Generates self-contained static HTML/CSS/JS with zero runtime server required.
  • Fast Client-side Search: Full-text search across all HTML and PDF content, with highlight previews and keyboard navigation (↑/↓/Enter/Esc).
  • Automatic Table of Contents: Extracts heading outlines from HTML tags (<h1>–<h6>) and bookmark outlines from PDF files into a side navigation panel.
  • Dark Mode: Built-in dark/light theme toggle, including synchronized dark theme styling for framed HTML documents.
  • Zero Configuration: Point it at any nested folder and it recursively scans and indexes supported files.

Installation

Install globally as a CLI tool using uv:

uv tool install docs-site

Alternatively, install with pipx:

pipx install docs-site

Usage

# Build and open the site in your default browser
docs-site ~/notes/linux-learning

# Specify a custom output directory (default is <folder>/_site)
docs-site ~/notes/linux-learning -o ~/public_html/docs

# Build without automatically opening the browser
docs-site ~/notes/linux-learning --no-open

# View all options
docs-site --help

Re-running the command rebuilds the site from scratch.

Project Scope & Constraints

  • Supported Formats: .html, .htm, and .pdf files.
  • HTML Assets: HTML files are wrapped and rendered inside an iframe. Relative links to external assets (e.g. images or local stylesheets) should be self-contained or absolute.
  • PDF Viewing: PDFs are displayed directly using your browser's native PDF reader.
  • Indexing Cap: Indexed full text is capped at 400,000 characters per file to keep the client-side search index responsive and lightweight.

Contributing

Looking to work on docs-site itself? See CONTRIBUTING.md for the development setup, testing, and architecture overview.

Project Status

This tool was initially built to solve personal study and document organization workflows. Feedback, bug reports, and contributions are welcome.

License

This project is licensed under the MIT License.

Release files for docs-site 0.1.1

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

Source distribution (sdist)

Source distribution for docs-site 0.1.1
File Size Uploaded
docs_site-0.1.1.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docs-site 0.1.1
File Interpreter ABI Platform
docs_site-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 38.0 kB

Release files / docs_site-0.1.1.tar.gz

Download URL docs_site-0.1.1.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4336980f5c60434cc8f1ce5533f6bfbda2be02419be2518ae988f1401a963fec
BLAKE2b-256 checksum
How to use checksums
7255aa775d11a255683255bbd5b33208ac74d8615aed5ed2e1303a195be525a7
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 Sep 27, 2026.

Transparency log

Release files / docs_site-0.1.1-py3-none-any.whl

Download URL docs_site-0.1.1-py3-none-any.whl
Size 19.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5121b6736829be8b39e6be3e79ac3a8ed356cadc661bd18912574b6fd096f96
BLAKE2b-256 checksum
How to use checksums
f24aeec666f3bb2f2ace33a7103e44bacf584af27c6e00cc038533635ce7d157
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 Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release 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