Commit graph

45 commits

Author SHA1 Message Date
Tiara Rodney
d5772b47d4
dev: packaging
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.
2025-06-09 18:10:34 +02:00
Tiara Rodney
785a9386ed
todo(1): in-progress 2025-06-09 18:10:15 +02:00
Tiara Rodney
612bbf6eba
todo(1): open 2025-06-09 18:09:57 +02:00
Tiara Rodney
d1aece26e0
todo: init 2025-06-09 18:09:05 +02:00
Tiara Rodney
45be6ce8f3
chore: move project 2025-06-09 17:16:12 +02:00
Rodney, Tiara
2d1eb82a96
doc(README): add archival notice 2025-05-06 15:58:33 +02:00
Rodney, Tiara
d4b136e760
chore(configure): add verbosity
added indentation to subcommand output of vendor `configure` invocation. This is
so to be easier to identify what is executed by the vendor routine
2025-04-09 21:07:03 +02:00
Rodney, Tiara
878bd13f03
chore(vendor): integrate theme updates
Well... I really have to come up with a convention of describing integration of
submodule changes. Feels a bit repetitive to describe what the changes are when
they're already described in the commits of the submodule itself...
2025-04-01 22:59:11 +02:00
Rodney, Tiara
6adfc998fe
chore: update repo base urls
Let me have my moment... I finally found a nick I can stay consistent with...
2025-03-31 22:03:20 +02:00
Rodney, Tiara
c6bddb136f
chore: adopt PEP-639 2025-03-29 23:24:10 +01:00
Rodney, Tiara
b2857e5d7e
chore(vendor): integrate HTML theme changes
- muted Makefile tests
2025-03-29 20:17:53 +01:00
Rodney, Tiara
d2b1f9f913
chore(src): reinit theme configuration
- remove theme inheritance
- remove redundant theme options
2025-03-29 20:13:35 +01:00
Rodney, Tiara
6df0264776
chore(src): reinit theme
temporarily locking to latest version of Sphinx. Will downgrade once stable.

Additionally, removed anything I don't need at the moment. Copied this from an
old theme of mine.
2025-03-29 20:12:07 +01:00
Rodney, Tiara
aa9a494233
chore: update project spec
- lock to latest Sphinx version
- update license classifier to reflect CC SA BY 4.0
- add Sphinx theme entrypoint
2025-03-29 20:09:38 +01:00
Rodney, Tiara
66c160a3d2
feat(build): add build target 2025-03-29 20:07:37 +01:00
Rodney, Tiara
93ad4992a7
chore(vendor): integrate html theme changes
update of animate.scss
2025-03-29 19:31:14 +01:00
Rodney, Tiara
c559d57e12
chore: cascade vendor initialization 2025-03-23 21:05:26 +01:00
Rodney, Tiara
52720f91c3
chore: remove redundant file
i18n integration comes later on
2025-03-23 20:14:10 +01:00
Rodney, Tiara
ea26abf933
chore: update vendor 2025-03-23 20:08:50 +01:00
Rodney, Tiara
561e8b4abc
chore: add gitignore for assets
see comment in file for more context
2025-03-23 20:08:07 +01:00
Rodney, Tiara
fe411096be
refactor: reintegrate HTML theme vendor 2025-03-23 19:43:22 +01:00
Rodney, Tiara
39fd5a7bf2
feat(build): init vendor integration
Now, the HTML theme build is daisy-chained to the build of the Sphinx theme,
including a skeleton for watching, which will be part of user-acceptance
testing, which will be sphinx-autobuild building `docs/`.
2025-03-23 19:34:36 +01:00
Rodney, Tiara
cd7aca7b45
chore: remove redundant dependency
Sphinx is part of the dependency defined in pyproject.toml, therefore redundant
to explicitly define it in Pipfile, since the project is an editable dependency.
2025-03-23 01:54:09 +01:00
Rodney, Tiara
0b1853f320
feat(build): add lock file make target 2025-03-23 01:52:03 +01:00
Rodney, Tiara
554d7ccbfc
refactor(conf): migrate to toml 2025-03-23 01:49:03 +01:00
Rodney, Tiara
effe9c435f
doc(ARCHITECTURE): init 2025-03-23 01:48:16 +01:00
Rodney, Tiara
e38eafc1ac
chore: assign new namespace 2025-03-23 00:35:03 +01:00
Rodney, Tiara
c02d579f9e
chore(build): add pylint dependency 2025-03-23 00:32:56 +01:00
Rodney, Tiara
7d148cbd48
fix(build): change missing flag argumt 2025-03-23 00:26:48 +01:00
Rodney, Tiara
f65c319c18
feat(build): initialize build configuration 2025-03-23 00:19:58 +01:00
Rodney, Tiara
d13a599803
chore: regenerate dependency tree 2025-03-23 00:10:19 +01:00
Rodney, Tiara
d9f4e4ec53
chore: reinit project declaration 2025-03-23 00:07:58 +01:00
Rodney, Tiara
df6e44f0d2
chore: add pipenv dependency and lock
Adding pipenv as a dependency to the pipenv environment itself is admittedly
counter-intuitive, however this gives the advantage of being able to install all
dependencies (including dev-dependencies) via the common and generally available
`pip` package manager interface. The generation of requirements.txt and
requirements-dev.txt is abstracted through the Makefile.
2025-03-23 00:04:48 +01:00
Rodney, Tiara
cc5386eef5
chore: lock depencies to major version 2025-03-22 23:58:57 +01:00
Rodney, Tiara
5b3c57e32f
chore: init base dependency management 2025-03-22 23:53:17 +01:00
Rodney, Tiara
751dae6f9e
chore: add venv ignore 2025-03-22 23:39:06 +01:00
Rodney, Tiara
a0fafdc990
chore: remove redundant ignore
HTML theming moved to external repo
2025-03-22 23:38:33 +01:00
Rodney, Tiara
cb8ee6167c
chore: remove redundant tests directory
Not quite there yet...
2025-03-22 22:55:53 +01:00
Rodney, Tiara
a97a585d39
chore: remove redundant directory
Whatever I was trying to achieve with this...
2025-03-22 22:55:15 +01:00
Rodney, Tiara
b65a382fcb
feat(vendor): init html-theme-ref vendor
Since the repository is an older attempt at formulating a reference (it was more
of a failed boilerplating attempt). I (just) need to rearrange a couple of
things before being able to integrate the HTML theme reference.
2025-03-22 22:52:51 +01:00
Rodney, Tiara
120f578bf5
doc(README): reinit 2025-03-22 22:46:55 +01:00
Rodney, Tiara
a63715ee67
chore: set submodule to shallow copy 2024-04-07 22:46:47 +02:00
Rodney, Tiara
c25c259f39
chore: add submodule 2024-04-07 22:45:52 +02:00
Rodney, Tiara
9e39217423
init 2024-04-07 22:32:31 +02:00
Rodney, Tiara
b96d554b05
init 2024-04-07 18:56:26 +02:00