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.0a26.tar.gz (151.1 kB view details)

Uploaded Source

Built Distribution

hexdoc-1!0.1.0a26-py3-none-any.whl (218.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hexdoc-1!0.1.0a26.tar.gz
Algorithm Hash digest
SHA256 002854f72fd129154c546844d6a3674467fb908026c3340b0ac95ef915cf0bdf
MD5 804085a4f8036ea07795362218656fb8
BLAKE2b-256 7e2aded5746b1ae1930e523b552aae5f51b4ac3b6472d995564a58172a296cb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexdoc-1!0.1.0a26.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.0a26-py3-none-any.whl.

File metadata

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

File hashes

Hashes for hexdoc-1!0.1.0a26-py3-none-any.whl
Algorithm Hash digest
SHA256 78604685d9dc7989c0266477cbf0c921178887f62cf5b519103458d1c378fe4e
MD5 85b618f21d7fdbc5824e6bb37c3eae1e
BLAKE2b-256 ada21dd803d45fda483d1a95fad6acaf401d5d2fa1a7b002b68c82a2a67690d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexdoc-1!0.1.0a26-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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page