My Doc-Site / Pages / Guide / Installation

Installation

There is no environment to install

This is the headline feature: zero dependencies. The dev server and the wrap script are written entirely against the Python standard library, so there is no pip install, no conda environment, no npm, and no build step. Nothing to pin, nothing to keep in sync, nothing to rot โ€” if a machine has python3, it can serve this site, today and in three years.

Concretely, getting from clone to a running site is two commands:

git clone https://github.com/jianzhou0420/htmlkb.git my-docs
cd my-docs && ./run_dev.sh

For contrast, the generator-based predecessor of this scaffold required a conda create plus pip install -r requirements.txt (MkDocs, the theme, and several nav/redirect plugins) โ€” and broke when a transitive dependency drifted. That entire class of setup and upkeep is gone.

Prerequisites

Clone

git clone https://github.com/jianzhou0420/htmlkb.git my-docs
cd my-docs

Or use the "Use this template" button on GitHub to create your own repo from this one. There are no submodules to recurse and no environment to create.

Serve locally

./run_dev.sh

This launches the stdlib live-reload server (docs/_lib/_serve.py) on http://0.0.0.0:8002. It serves docs/ directly โ€” there is no compiled output. Edit any file and the browser reloads within about half a second.

Override host, port, or poll interval:

./run_dev.sh 9000                  # custom port
HOST=127.0.0.1 ./run_dev.sh        # bind localhost only
INTERVAL=1.0 ./run_dev.sh          # slower file-watch poll (default 0.5s)

Deploy

Because the site is the static output, deploying is just copying docs/ to any static host (GitHub Pages, Netlify, S3, nginx). The _lib/ Python is only used at authoring time; you can exclude it from the upload, or leave it โ€” browsers ignore .py files.

Uninstall

Delete the clone. No system-wide state is created.

Troubleshooting

My Doc-Site docs