Skip to main content

Python web book docgen for Patchouli and Hex Casting.

Project description

hexdoc logo

Docs - hexdoc.hexxy.media PyPI - Version PyPI - Python Version GitHub Workflow Status (with event) hexdoc

hexdoc

A Jinja-based documentation generator for Patchouli books.

This is the library that powers Hex Casting's web book.

Check out the docs at https://hexdoc.hexxy.media!

IMPORTANT: Version incompatibilities

There are issues related to installing hexdoc with the following dependency versions:

hexdoc is known to work with Python 3.11.

Plugins

hexdoc has a few Copier templates that you can use to set up a hexdoc plugin for your mod:

Support

hexdoc does not currently have a dedicated support server. If you have any questions, please feel free to join the Hex Casting Discord server and ask in the #hexdoc channel, or open an issue/discussion on GitHub.

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

# generate and run the full docs website locally, or just run Docusaurus
nox -t docs
nox -s docusaurus

Badges

Shields.io

hexdoc powered by hexdoc

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

A badge for hexdoc in the style of Devins Badges A badge for addons.hexxy.media in the style of Devins 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

hexdoc-1!0.1.0a36.tar.gz (154.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hexdoc-1!0.1.0a36-py3-none-any.whl (223.8 kB view details)

Uploaded Python 3

File details

Details for the file hexdoc-1!0.1.0a36.tar.gz.

File metadata

  • Download URL: hexdoc-1!0.1.0a36.tar.gz
  • Upload date:
  • Size: 154.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hexdoc-1!0.1.0a36.tar.gz
Algorithm Hash digest
SHA256 9450b678d9161e44e9c2a59ecb0e3903fab2d8f6446f9dd7a29e44072c7d4838
MD5 85f7d3fff0989a3fe690144e042d7785
BLAKE2b-256 853e5d1a0901f2b58a12bde4d729fe33a5d3878e949a6e2bdcaf91a79911c336

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexdoc-1!0.1.0a36.tar.gz:

Publisher: ci.yml on hexdoc-dev/hexdoc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexdoc-1!0.1.0a36-py3-none-any.whl.

File metadata

  • Download URL: hexdoc-1!0.1.0a36-py3-none-any.whl
  • Upload date:
  • Size: 223.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hexdoc-1!0.1.0a36-py3-none-any.whl
Algorithm Hash digest
SHA256 9ae84851bada159625862003583a36152a7b1a11cc425393b9b50c899b63d536
MD5 231545106430f6c94ff063aa2b6d4123
BLAKE2b-256 e5dba59838c65aff2bfff454d510fbe4307abd57f5f9fec29ed86e24322e77e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexdoc-1!0.1.0a36-py3-none-any.whl:

Publisher: ci.yml on hexdoc-dev/hexdoc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page