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.

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

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

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

Uploaded Source

Built Distribution

hexdoc-1!0.1.0a14-py3-none-any.whl (210.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hexdoc-1!0.1.0a14.tar.gz
  • Upload date:
  • Size: 144.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for hexdoc-1!0.1.0a14.tar.gz
Algorithm Hash digest
SHA256 38f77597f4fb741da174eea0c5739f2b40f133164a9eb0f2ef92a1c89ef23dfc
MD5 0d6f1d3f9cf03705474cacb2f269afc9
BLAKE2b-256 908d0aab44586c3c7cd26e238597babc93fba0be94385b152987670ba9570837

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hexdoc-1!0.1.0a14-py3-none-any.whl
  • Upload date:
  • Size: 210.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for hexdoc-1!0.1.0a14-py3-none-any.whl
Algorithm Hash digest
SHA256 d825f1d87dc9d37c6378443ddf557ac778e2db2ecdf30b66414e293d4fb36757
MD5 01caf347d0f03dce0f10aa4cf0d243bd
BLAKE2b-256 5c3f7d40cf65d3c04cf4cdc95ba38b075a8646d0afcdffd7686c41d478a289b5

See more details on using hashes here.

Supported by

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