Zensical is one of many Static Site Generators for technical Documentation. It is the official successor to MkDocs Material theme.
Resources
Features
- Same feature set as MkDocs + Material theme
- Compatible with MkDocs Material setups
- Will probably support the most popular mkdocs plugins in the future, see Backlog
Use Zensical in a Container
The following Docker commands are for the Windows command line tool:
docker run --rm -it -v "%cd%:/docs" -w /work zensical/zensical <command>Explanation:
docker runcreates and starts a container from an image.- If the image is not present → Docker pulls it
- If it is present → Docker starts it immediately
--rmautomatically deletes the container when it stops.- No clutter in Docker Desktop
- No “stopped containers” piling up
- Your project files are safe because they live on your machine
-itis actually two flags combined:-i→ interactive keeps STDIN open so the container can receive input.-t→ terminal allocates a pseudo-terminal so output looks normal (colors, prompts, etc.).- You can see logs
- You can stop the server with Ctrl+C
- You can interact with the process
-p 8000:8000is the port mapping (HOST_PORT : CONTAINER_PORTor port on your machine and port inside the container)-v "%cd%:/docs"is the volume (bind mount)%cd%is a Windows CMD variable representing the current directory on your machine:/docsis the path inside the container:/workthe working directory inside the container
zensical/zensicalis is the Docker image name (Docker Hub user / Image name).
To use Zensical inside Docker (Containers):
- Pull the official Docker image:
docker pull zensical/zensical. - Create a new folder for your project:
mkdir my-zensical-projectandcd my-zensical-project. - Create a new Zensical project using the Docker image:
docker run --rm -it -v "%cd%:/docs" -w /work zensical/zensical new . - Edit your project, work on it, do your regular workflows.
- Start the Zensical web server to serve a preview of your project:
docker run --rm -it -p 8000:8000 -v "%cd%:/docs" zensical/zensical. - Build your project: `docker run —rm -it -v “%cd%:/docs” -w /work zensical/zensical build´.
Note
You could create the project inside Docker only, but then:
- Files live inside the container
- You must
docker cpthem out later- Container removal deletes your work