Python web book docgen for Patchouli and Hex Casting.
Project description
hexdoc
A Jinja-based documentation generator for Patchouli books.
This is the library that powers Hex Casting's web book.
IMPORTANT: Version incompatibilities
There are issues related to installing hexdoc with the following dependency versions:
- Python 3.12+ on Windows: https://github.com/aio-libs/multidict/issues/887
hexdoc is known to work with Python 3.11.
Plugins
See hexdoc-hexcasting-template for instructions to set up a hexdoc plugin for a pre-existing Hex Casting addon.
Contributing
Setup
Automatically set up a development environment with Nox:
pipx install nox # pipx (recommended)
python3 -m pip install nox # pip
nox -s setup
# next, run the venv activation command printed by uv
Manual setup:
git submodule update --init
python3.11 -m venv venv
.\venv\Scripts\activate # Windows
. venv/bin/activate.fish # fish
source venv/bin/activate # everything else
pip install -e .[dev]
pre-commit install
Usage
For local testing, create a file called .env
in the repo root following this template:
GITHUB_SHA=main
GITHUB_REPOSITORY=hexdoc-dev/hexdoc
GITHUB_PAGES_URL=https://hexdoc.hexxy.media
Useful commands:
# show help
hexdoc -h
# serve hexdoc resources locally
# this is useful if serving other books locally that depend on hexdoc resources
nodemon --exec "hexdoc serve --port 8001 --no-merge"
# render and serve the Hex Casting web book in watch mode
nodemon
# start the Python interpreter with some extra local variables
hexdoc repl
# run tests
pytest # fast, skips Cookiecutter
nox # slow, full test suite in an isolated venv
nox --no-install # after the first Nox run, use this to skip reinstalling everything
# update test snapshots (only running sessions with the tag "test")
nox -t test -- --snapshot-update
# run hexdoc commands in an isolated environment to ensure it works on its own
nox -s hexdoc -- build
nox -s hexdoc -- repl
# set up a dummy book for local testing
nox -s dummy_setup
nox -s dummy_serve
nox -s dummy_hexdoc -- build
nox -s dummy_clean
Badges
Shields.io
Markdown
[![hexdoc](https://img.shields.io/endpoint?url=https://hexxy.media/api/v0/badge/hexdoc)](https://github.com/hexdoc-dev/hexdoc)
[![powered by hexdoc](https://img.shields.io/endpoint?url=https://hexxy.media/api/v0/badge/hexdoc?label=1)](https://github.com/hexdoc-dev/hexdoc)
HTML
<a href="https://github.com/hexdoc-dev/hexdoc"><img src="https://img.shields.io/endpoint?url=https://hexxy.media/api/v0/badge/hexdoc" alt="hexdoc" style="max-width:100%;"></a>
<a href="https://github.com/hexdoc-dev/hexdoc"><img src="https://img.shields.io/endpoint?url=https://hexxy.media/api/v0/badge/hexdoc?label=1" alt="powered by hexdoc" style="max-width:100%;"></a>
reStructuredText
.. image:: https://img.shields.io/endpoint?url=https://hexxy.media/api/v0/badge/hexdoc
:target: https://github.com/hexdoc-dev/hexdoc
:alt: hexdoc
.. image:: https://img.shields.io/endpoint?url=https://hexxy.media/api/v0/badge/hexdoc?label=1
:target: https://github.com/hexdoc-dev/hexdoc
:alt: powered by hexdoc
Devin's Badges
Thanks to Sam for making these!
HTML
<a target="_blank" href="INSERT_YOUR_BOOK_LINK_HERE"><img src="https://github.com/SamsTheNerd/HexGloop/blob/73ea39b3becd/externalassets/hexdoc-badgecozy.svg?raw=true" alt="A badge for hexdoc in the style of Devins Badges" width=225></a>
<a target="_blank" href="https://addons.hexxy.media" height=75><img src="https://github.com/SamsTheNerd/HexGloop/blob/73ea39b3becd/externalassets/addon-badge-cozy.svg?raw=true" alt="A badge for addons.hexxy.media in the style of Devins Badges" width=200></a>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hexdoc-1!0.1.0a13.tar.gz
.
File metadata
- Download URL: hexdoc-1!0.1.0a13.tar.gz
- Upload date:
- Size: 142.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cf22e165e6bf6438dab55e3108aaedba23513b57eb48bd3b3db5c4f38a30241 |
|
MD5 | b84309c907cddebea12ffa83d5e3e3a9 |
|
BLAKE2b-256 | c2fbc9f673ae33f54a6622f9af88927f3057720da2584ff8cf9269e1f2165db2 |
File details
Details for the file hexdoc-1!0.1.0a13-py3-none-any.whl
.
File metadata
- Download URL: hexdoc-1!0.1.0a13-py3-none-any.whl
- Upload date:
- Size: 208.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e80133824d64ed8640e56d0b99252e23c0a46090f0e06a4c2a1c19df81cbaec |
|
MD5 | dc2eb75343d5fbdeaf7313be0acd365f |
|
BLAKE2b-256 | db245d9d1e0e77a76eff64081d0235c0c433a247ffe21900ee64a27ee90388cc |