No description
tinkering to figure out a good way too encapsulate a foreign pip-incompatible software library contractually. In this case the Sphinx theme depends upon a gzip-archive (tarball) software library of an HTML theme. The HTML theme provides static HTML assets and I expect them to be present under _static/ in the html builder output directory of Sphinx. The HTML theme is packaged as a gzip archive and provides a GPG signature. That's basically the contract. But the contract becomes intransparent as soon as the HTML assets are treated as part of the Sphinx theme project, so decompressed and unarchived into the src/ directory of the Sphinx theme and then handled through the sphinx-build hooks. The signature can't be verified against single files of the archive since the compressed archive is signed. Ideally, the archive would be decompressed and unarchived during sphinx-build, but I'm not really happy with the fact that a temporary directory is needed for this in order to cache as much as possible, so that decompressing isn't required upon every built. So within the temporary directory, I would have to keep track of the hash of the compressed archive in order to know when decompression and unarchiving is needed again, and to store the decompressed assets. Though event that is not quite intentful. If the performance of treating the tarball archive as a virtual filesystem, I'd rather let the HTML theme provide an additional signature for the tarball archive, that way I can check for the existance of files in the sphinx-build output directory by comparing against a listing of the tarball archive, after verifying the checksum of the archive hasn't changed. That way the contract wouldn't be broken and transparent for the user of this Sphinx theme. |
||
|---|---|---|
| src/byteb4rb1e/sphinxcontrib/theme/seaharvest | ||
| vendor | ||
| .gitignore | ||
| .gitmodules | ||
| ARCHITECTURE.md | ||
| configure | ||
| configure.ac | ||
| Makefile | ||
| Pipfile | ||
| Pipfile.lock | ||
| pyproject.toml | ||
| README.md | ||
| requirements-dev.txt | ||
| requirements.txt | ||
| setup.py | ||
| TODO | ||
| tox.ini | ||
Tiara's Sphinx Theme Reference Implementation
🛌 NOTICE: This project is taking a naap. It depends upon html-theme-ref, which hasn't stabilized yet. I will restart work around June '25.
Installation
The program is aimed towards UNIX/GNU in POSIX environments. NT users in
PowerShell may consult configure.ac for initial configuration and Makefile
for development/build targets.
Initialize the project
sh ./configure
| Pipfile.lock | |
| requirements.txt | |
| requirements-dev.txt | |
| configure | |
| configure | |
| src/sphinx_theme_ref/assets |