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.
Plugins
Creating a plugin / addon
WIP.
- Run these commands, then follow the prompts:
pip3 install cruft cruft create https://github.com/object-Object/hexdoc
--directory doc
tells Cookiecutter to look for a template in thedoc
directory of hexdoc, and cannot be omitted.- If you run this from within an existing mod repo, add the flag
-f
, and leave theoutput_directory
option blank when prompted by Cookiecutter.- Note: this currently overwrites any conflicting files, including your .gitignore, so you may need to use your Git history to re-add anything not covered by the new file.
- Fill in the TODOs in
doc/hexdoc.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 toDeploy from a branch
, the branch togh-pages
, and the folder todocs/
. - Commit and push the docgen, and see if the CI works.
- On GitHub, under
Settings > Environments
, create two new environments calledpypi
andtestpypi
. - 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.
- If you like to live dangerously, this step is optional - you can remove the
publish-testpypi
job and theTestPyPI
release choice from your workflow without impacting the rest of the CI.
Updating to the latest Cookiecutter template
Run this command: cruft update
See also: https://cruft.github.io/cruft/#updating-a-project
Contributing
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=object-Object/hexdoc
GITHUB_PAGES_URL=https://hexdoc.hexxy.media
Useful commands:
# show help
hexdoc -h
# render and serve the web book in watch mode
nodemon
# render and serve the web book
hexdoc serve
# export, render, and merge the web book
hexdoc export
hexdoc render
hexdoc merge
# 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
nox -- --snapshot-update
# run hexdoc commands in an isolated environment to ensure it works on its own
nox -s hexdoc -- export
nox -s hexdoc -- repl
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.0.dev3.tar.gz
(93.7 kB
view details)
Built Distribution
hexdoc-1!0.1.0.dev3-py3-none-any.whl
(135.8 kB
view details)
File details
Details for the file hexdoc-1!0.1.0.dev3.tar.gz
.
File metadata
- Download URL: hexdoc-1!0.1.0.dev3.tar.gz
- Upload date:
- Size: 93.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a1dfa05b617f9ec102b53b128e64a3cf97cc3dc74ef08fedcbac0fd0f285bce |
|
MD5 | cc00afc9bf9f272698101ee906dc1639 |
|
BLAKE2b-256 | bc45aa4c722b5ddb2b96d25fa14f033ba042a20d7e79b1e78ec8365156e61e71 |
File details
Details for the file hexdoc-1!0.1.0.dev3-py3-none-any.whl
.
File metadata
- Download URL: hexdoc-1!0.1.0.dev3-py3-none-any.whl
- Upload date:
- Size: 135.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec0d5d46c4df5eca5e39edcff03c7401cbae0fdd244794de947af6167dd966bd |
|
MD5 | 6ed757edbac29166a350a7fe9faf06bb |
|
BLAKE2b-256 | 87b8bab63dea23485abbc9e71c78523f8587ed0844ec14a1551302e89c1f2c80 |