Metadata-Version: 2.1
Name: hexdoc
Version: 0.9.5.1.0.dev11
Author: object-Object, Alwinfy
License-File: LICENSE.txt
Classifier: Framework :: Hatch
Requires-Python: >=3.11
Requires-Dist: importlib-resources<7,>=6.0.1
Requires-Dist: jinja2<4,>=3.1.2
Requires-Dist: more-itertools<11,>=10.1.0
Requires-Dist: pluggy<2,>=1.3.0
Requires-Dist: pydantic<3,>=2.3.0
Requires-Dist: pyjson5<2,>=1.6.3
Requires-Dist: typing-extensions<5,>=4.6.1
Provides-Extra: dev
Requires-Dist: black==23.7.0; extra == 'dev'
Requires-Dist: build; extra == 'dev'
Requires-Dist: hatch; extra == 'dev'
Requires-Dist: isort==5.12.0; extra == 'dev'
Requires-Dist: pytest>=7.3.1; extra == 'dev'
Requires-Dist: syrupy>=4.0.2; extra == 'dev'
Description-Content-Type: text/markdown

# hexdoc

This is the Python docgen for Hex Casting.

## Version scheme

We use [hatch-gradle-version](https://pypi.org/project/hatch-gradle-version) to generate the version number based on whichever mod version the docgen was built with.

The version is in this format: `mod-version.python-version.mod-pre.python-dev.python-post`

For example:
* Mod version: `0.11.1-7`
* Python package version: `1.0.dev0`
* Full version: `0.11.1.1.0rc7.dev0`

## Creating a plugin / addon

WIP.

- Run these commands, then follow the prompts:
  ```sh
  pip install cookiecutter
  cookiecutter gh:object-Object/HexMod --directory doc
  ```
  - Note: if you run this from within an existing mod repo, add the flag `-f` and leave `output_directory` blank.
- Fill in the TODOs in `doc/properties.toml` (mostly paths to files/folders in your mod so hexdoc can find the data it needs).
- Try running the docgen locally by following the instructions in `doc/README.md`.
- If it doesn't already exist, create an empty `gh-pages` branch and push it.
- On GitHub, under `Settings > Pages`, set the source to `Deploy from a branch`, the branch to `gh-pages`, and the folder to `docs/`.
- Commit and push the docgen, and see if the CI works.
- On GitHub, under `Settings > Environments`, create two new environments called `pypi` and `testpypi`.
- Follow these instructions for PyPI and TestPyPI: https://docs.pypi.org/trusted-publishers/creating-a-project-through-oidc/
  - TestPyPI is a duplicate of PyPI which can be used for testing package publishing without affecting the real index. The CI workflow includes a manual execution option to publish to TestPyPI.

## Setup

```sh
python -m venv venv

.\venv\Scripts\activate  # Windows
source venv/bin/activate # anything other than Windows

# run from the repo root, not doc/
pip install -e .[dev]
```

## Usage

```sh
# run from the repo root, not doc/
hexdoc ./doc/properties.toml -o _site/src/docs
hexdoc_merge --src _site/src/docs --dst _site/dst/docs
```
