Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7bb0188a42 | ||
|
|
9de1a7db79 | ||
|
|
95e6ee35ed | ||
|
|
72723f0ced | ||
|
|
d8e70ef921 |
49 changed files with 298 additions and 700 deletions
12
.gitignore
vendored
12
.gitignore
vendored
|
|
@ -1,11 +1,17 @@
|
|||
|
||||
.tox/
|
||||
|
||||
/dist/
|
||||
/build/
|
||||
/src/**/*.egg-info
|
||||
/src/**/*.pyc
|
||||
/src/**/__pycache/
|
||||
*.egg-info
|
||||
*.pyc
|
||||
/.venv/
|
||||
/autom4te.cache/
|
||||
/config.log
|
||||
/config.status
|
||||
/configure~
|
||||
|
||||
vendor/**/*.tar.gz
|
||||
vendor/**/*.tar
|
||||
|
||||
test-reports/
|
||||
|
|
|
|||
0
LICENSE
Normal file
0
LICENSE
Normal file
68
Makefile
68
Makefile
|
|
@ -1,31 +1,59 @@
|
|||
.PHONY: requirements.txt requirements-dev.txt configure Pipfile.lock src/sphinx_theme_ref/assets build
|
||||
WEB2_PACKAGE_ID := html-theme-web2-1.0.0
|
||||
WEB2_PACKAGE_URL := https://bitbucket.org/byteb4rb1e/html-theme-web2/downloads/$(WEB2_PACKAGE_ID).tar.gz
|
||||
PYPKG_DIR := src/byteb4rb1e/sphinxcontrib/theme/web20
|
||||
WITH_GPG = $(shell command -v gpg && echo yes)
|
||||
|
||||
PKG_BASENAME := sphinx_theme_ref
|
||||
PYTHON3=$(if $(wildcard .venv/.*),.venv/bin/python3,python3)
|
||||
|
||||
VENDOR_OUTPUT_PATH := $(shell realpath ./src/sphinx_theme_ref/assets)
|
||||
VERSION=$(shell $(PYTHON3) -m setuptools_scm)
|
||||
|
||||
Pipfile.lock:
|
||||
.venv/bin/pipenv lock
|
||||
.chore: requirements.txt requirements-dev.txt Pipfile.lock configure
|
||||
|
||||
requirements.txt:
|
||||
.venv/bin/pipenv requirements > requirements.txt
|
||||
|
||||
requirements-dev.txt:
|
||||
.venv/bin/pipenv requirements --dev-only > requirements-dev.txt
|
||||
.clean:
|
||||
rm -rvf dist/ build/
|
||||
|
||||
configure:
|
||||
autoconf
|
||||
|
||||
src/sphinx_theme_ref/assets:
|
||||
rm -r src/$(PKG_BASENAME)/assets
|
||||
make -C vendor/html-theme-ref build/production OUTPUT_PATH=$(VENDOR_OUTPUT_PATH)
|
||||
dist: src/
|
||||
$(PYTHON3) -m build
|
||||
|
||||
# user acceptance testing
|
||||
uat:
|
||||
trap 'kill 0' SIGINT; \
|
||||
make -C vendor/html-theme-ref watch OUTPUT_PATH=$(VENDOR_OUTPUT_PATH) & \
|
||||
wait
|
||||
Pipfile.lock:
|
||||
pipenv lock
|
||||
|
||||
build:
|
||||
.venv/bin/pipenv run build
|
||||
requirements.txt:
|
||||
$(PYTHON3) -m pipenv requirements > requirements.txt
|
||||
|
||||
requirements-dev.txt:
|
||||
$(PYTHON3) -m pipenv requirements --dev-only > requirements-dev.txt
|
||||
|
||||
src src/: $(PYPKG_DIR)/_static_extra.tar $(PYPKG_DIR)/_static_extra.tar.sha256
|
||||
|
||||
$(PYPKG_DIR)/_static_extra.tar: vendor/$(WEB2_PACKAGE_ID).tar
|
||||
cp -vf "$<" "$@"
|
||||
|
||||
$(PYPKG_DIR)/_static_extra.tar.sha256: vendor/$(WEB2_PACKAGE_ID).tar.sha256
|
||||
cp -vf "$<" "$@"
|
||||
|
||||
test-reports test-reports/: test-reports/integration
|
||||
|
||||
test-reports/integration:
|
||||
$(PYTHON3) -m tox -m integration
|
||||
|
||||
test-reports/audit.json:
|
||||
$(PYTHON3) -m tox -m integration
|
||||
|
||||
vendor/$(WEB2_PACKAGE_ID).tar.gz: $(if $(WITH_GPG),vendor/$(WEB2_PACKAGE_ID).tar.gz.asc,)
|
||||
curl -L --fail --output "$@" "$(WEB2_PACKAGE_URL)"
|
||||
ifneq ($(WITH_GPG),)
|
||||
gpg --verify "$<" "$@"
|
||||
endif
|
||||
|
||||
vendor/$(WEB2_PACKAGE_ID).tar.gz.asc:
|
||||
curl -L --fail --output "$@" "$(WEB2_PACKAGE_URL).asc"
|
||||
|
||||
vendor/$(WEB2_PACKAGE_ID).tar: vendor/$(WEB2_PACKAGE_ID).tar.gz
|
||||
gzip --decompress --keep --stdout "$<" > $@
|
||||
|
||||
vendor/$(WEB2_PACKAGE_ID).tar.sha256:
|
||||
curl -L --fail --output "vendor/$(WEB2_PACKAGE_ID).tar.sha256" "$(patsubst %.gz,%.sha256,$(WEB2_PACKAGE_URL))"
|
||||
|
|
|
|||
11
NOTES
Normal file
11
NOTES
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
|
||||
=== Configuration ===
|
||||
|
||||
1. Run sh configure
|
||||
2. Run make .chore
|
||||
|
||||
|
||||
Ḿakefile conventions
|
||||
|
||||
abstract targets (e.g. chore, clean, etc.) must be prepended with an underscore.
|
||||
15
Pipfile
15
Pipfile
|
|
@ -3,20 +3,15 @@ url = "https://pypi.org/simple"
|
|||
verify_ssl = true
|
||||
name = "pypi"
|
||||
|
||||
[packages]
|
||||
sphinx-theme-ref = {file = ".", editable = true}
|
||||
|
||||
[dev-packages]
|
||||
tox = "~=4.24.2"
|
||||
mypy = "~=1.15.0"
|
||||
autopep8 = "~=2.3.2"
|
||||
setuptools-scm = "~=8.2.0"
|
||||
pipenv = "~=2024.4.1"
|
||||
pylint = "~=3.3.6"
|
||||
tox = "*"
|
||||
setuptools-scm = "*"
|
||||
pipenv = "*"
|
||||
build = "*"
|
||||
|
||||
[requires]
|
||||
python_version = "3.11"
|
||||
python_version = "3"
|
||||
|
||||
[scripts]
|
||||
"build" = "python3 -m build"
|
||||
"build/release" = "python3 -m build"
|
||||
|
|
|
|||
532
Pipfile.lock
generated
532
Pipfile.lock
generated
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "392503c17641b02b8fc371df27b291782f0d9bec49c60057424a5147f859d3c5"
|
||||
"sha256": "cc611a65c9337f2c4eeac34c5e620d626382f670a323ae780ff6385cec5e0610"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
"python_version": "3.11"
|
||||
"python_version": "3"
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
|
|
@ -15,354 +15,8 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"default": {
|
||||
"alabaster": {
|
||||
"hashes": [
|
||||
"sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e",
|
||||
"sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b"
|
||||
],
|
||||
"markers": "python_version >= '3.10'",
|
||||
"version": "==1.0.0"
|
||||
},
|
||||
"babel": {
|
||||
"hashes": [
|
||||
"sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d",
|
||||
"sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==2.17.0"
|
||||
},
|
||||
"certifi": {
|
||||
"hashes": [
|
||||
"sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651",
|
||||
"sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2025.1.31"
|
||||
},
|
||||
"charset-normalizer": {
|
||||
"hashes": [
|
||||
"sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537",
|
||||
"sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa",
|
||||
"sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a",
|
||||
"sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294",
|
||||
"sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b",
|
||||
"sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd",
|
||||
"sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601",
|
||||
"sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd",
|
||||
"sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4",
|
||||
"sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d",
|
||||
"sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2",
|
||||
"sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313",
|
||||
"sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd",
|
||||
"sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa",
|
||||
"sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8",
|
||||
"sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1",
|
||||
"sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2",
|
||||
"sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496",
|
||||
"sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d",
|
||||
"sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b",
|
||||
"sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e",
|
||||
"sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a",
|
||||
"sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4",
|
||||
"sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca",
|
||||
"sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78",
|
||||
"sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408",
|
||||
"sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5",
|
||||
"sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3",
|
||||
"sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f",
|
||||
"sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a",
|
||||
"sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765",
|
||||
"sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6",
|
||||
"sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146",
|
||||
"sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6",
|
||||
"sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9",
|
||||
"sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd",
|
||||
"sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c",
|
||||
"sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f",
|
||||
"sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545",
|
||||
"sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176",
|
||||
"sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770",
|
||||
"sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824",
|
||||
"sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f",
|
||||
"sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf",
|
||||
"sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487",
|
||||
"sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d",
|
||||
"sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd",
|
||||
"sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b",
|
||||
"sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534",
|
||||
"sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f",
|
||||
"sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b",
|
||||
"sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9",
|
||||
"sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd",
|
||||
"sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125",
|
||||
"sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9",
|
||||
"sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de",
|
||||
"sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11",
|
||||
"sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d",
|
||||
"sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35",
|
||||
"sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f",
|
||||
"sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda",
|
||||
"sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7",
|
||||
"sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a",
|
||||
"sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971",
|
||||
"sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8",
|
||||
"sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41",
|
||||
"sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d",
|
||||
"sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f",
|
||||
"sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757",
|
||||
"sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a",
|
||||
"sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886",
|
||||
"sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77",
|
||||
"sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76",
|
||||
"sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247",
|
||||
"sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85",
|
||||
"sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb",
|
||||
"sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7",
|
||||
"sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e",
|
||||
"sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6",
|
||||
"sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037",
|
||||
"sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1",
|
||||
"sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e",
|
||||
"sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807",
|
||||
"sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407",
|
||||
"sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c",
|
||||
"sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12",
|
||||
"sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3",
|
||||
"sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089",
|
||||
"sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd",
|
||||
"sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e",
|
||||
"sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00",
|
||||
"sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==3.4.1"
|
||||
},
|
||||
"docutils": {
|
||||
"hashes": [
|
||||
"sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f",
|
||||
"sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==0.21.2"
|
||||
},
|
||||
"idna": {
|
||||
"hashes": [
|
||||
"sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9",
|
||||
"sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==3.10"
|
||||
},
|
||||
"imagesize": {
|
||||
"hashes": [
|
||||
"sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b",
|
||||
"sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||
"version": "==1.4.1"
|
||||
},
|
||||
"jinja2": {
|
||||
"hashes": [
|
||||
"sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d",
|
||||
"sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==3.1.6"
|
||||
},
|
||||
"markupsafe": {
|
||||
"hashes": [
|
||||
"sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4",
|
||||
"sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30",
|
||||
"sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0",
|
||||
"sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9",
|
||||
"sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396",
|
||||
"sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13",
|
||||
"sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028",
|
||||
"sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca",
|
||||
"sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557",
|
||||
"sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832",
|
||||
"sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0",
|
||||
"sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b",
|
||||
"sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579",
|
||||
"sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a",
|
||||
"sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c",
|
||||
"sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff",
|
||||
"sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c",
|
||||
"sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22",
|
||||
"sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094",
|
||||
"sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb",
|
||||
"sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e",
|
||||
"sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5",
|
||||
"sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a",
|
||||
"sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d",
|
||||
"sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a",
|
||||
"sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b",
|
||||
"sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8",
|
||||
"sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225",
|
||||
"sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c",
|
||||
"sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144",
|
||||
"sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f",
|
||||
"sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87",
|
||||
"sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d",
|
||||
"sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93",
|
||||
"sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf",
|
||||
"sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158",
|
||||
"sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84",
|
||||
"sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb",
|
||||
"sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48",
|
||||
"sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171",
|
||||
"sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c",
|
||||
"sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6",
|
||||
"sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd",
|
||||
"sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d",
|
||||
"sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1",
|
||||
"sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d",
|
||||
"sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca",
|
||||
"sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a",
|
||||
"sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29",
|
||||
"sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe",
|
||||
"sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798",
|
||||
"sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c",
|
||||
"sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8",
|
||||
"sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f",
|
||||
"sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f",
|
||||
"sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a",
|
||||
"sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178",
|
||||
"sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0",
|
||||
"sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79",
|
||||
"sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430",
|
||||
"sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==3.0.2"
|
||||
},
|
||||
"packaging": {
|
||||
"hashes": [
|
||||
"sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759",
|
||||
"sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==24.2"
|
||||
},
|
||||
"pygments": {
|
||||
"hashes": [
|
||||
"sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f",
|
||||
"sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==2.19.1"
|
||||
},
|
||||
"requests": {
|
||||
"hashes": [
|
||||
"sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760",
|
||||
"sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==2.32.3"
|
||||
},
|
||||
"roman-numerals-py": {
|
||||
"hashes": [
|
||||
"sha256:9da2ad2fb670bcf24e81070ceb3be72f6c11c440d73bd579fbeca1e9f330954c",
|
||||
"sha256:be4bf804f083a4ce001b5eb7e3c0862479d10f94c936f6c4e5f250aa5ff5bd2d"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==3.1.0"
|
||||
},
|
||||
"snowballstemmer": {
|
||||
"hashes": [
|
||||
"sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1",
|
||||
"sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"
|
||||
],
|
||||
"version": "==2.2.0"
|
||||
},
|
||||
"sphinx": {
|
||||
"hashes": [
|
||||
"sha256:398ad29dee7f63a75888314e9424d40f52ce5a6a87ae88e7071e80af296ec348",
|
||||
"sha256:4405915165f13521d875a8c29c8970800a0141c14cc5416a38feca4ea5d9b9c3"
|
||||
],
|
||||
"markers": "python_version >= '3.11'",
|
||||
"version": "==8.2.3"
|
||||
},
|
||||
"sphinx-theme-ref": {
|
||||
"editable": true,
|
||||
"file": "."
|
||||
},
|
||||
"sphinxcontrib-applehelp": {
|
||||
"hashes": [
|
||||
"sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1",
|
||||
"sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==2.0.0"
|
||||
},
|
||||
"sphinxcontrib-devhelp": {
|
||||
"hashes": [
|
||||
"sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad",
|
||||
"sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==2.0.0"
|
||||
},
|
||||
"sphinxcontrib-htmlhelp": {
|
||||
"hashes": [
|
||||
"sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8",
|
||||
"sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==2.1.0"
|
||||
},
|
||||
"sphinxcontrib-jsmath": {
|
||||
"hashes": [
|
||||
"sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178",
|
||||
"sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"
|
||||
],
|
||||
"markers": "python_version >= '3.5'",
|
||||
"version": "==1.0.1"
|
||||
},
|
||||
"sphinxcontrib-qthelp": {
|
||||
"hashes": [
|
||||
"sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab",
|
||||
"sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==2.0.0"
|
||||
},
|
||||
"sphinxcontrib-serializinghtml": {
|
||||
"hashes": [
|
||||
"sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331",
|
||||
"sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==2.0.0"
|
||||
},
|
||||
"urllib3": {
|
||||
"hashes": [
|
||||
"sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df",
|
||||
"sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==2.3.0"
|
||||
}
|
||||
},
|
||||
"default": {},
|
||||
"develop": {
|
||||
"astroid": {
|
||||
"hashes": [
|
||||
"sha256:622cc8e3048684aa42c820d9d218978021c3c3d174fb03a9f0d615921744f550",
|
||||
"sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248"
|
||||
],
|
||||
"markers": "python_full_version >= '3.9.0'",
|
||||
"version": "==3.3.9"
|
||||
},
|
||||
"autopep8": {
|
||||
"hashes": [
|
||||
"sha256:89440a4f969197b69a995e4ce0661b031f455a9f776d2c5ba3dbd83466931758",
|
||||
"sha256:ce8ad498672c845a0c3de2629c15b635ec2b05ef8177a6e7c91c74f3e9b51128"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==2.3.2"
|
||||
},
|
||||
"build": {
|
||||
"hashes": [
|
||||
"sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5",
|
||||
|
|
@ -374,19 +28,19 @@
|
|||
},
|
||||
"cachetools": {
|
||||
"hashes": [
|
||||
"sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4",
|
||||
"sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a"
|
||||
"sha256:1c7bb3cf9193deaf3508b7c5f2a79986c13ea38965c5adcff1f84519cf39163e",
|
||||
"sha256:b4c4f404392848db3ce7aac34950d17be4d864da4b8b66911008e430bc544587"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==5.5.2"
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==6.1.0"
|
||||
},
|
||||
"certifi": {
|
||||
"hashes": [
|
||||
"sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651",
|
||||
"sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"
|
||||
"sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057",
|
||||
"sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2025.1.31"
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2025.6.15"
|
||||
},
|
||||
"chardet": {
|
||||
"hashes": [
|
||||
|
|
@ -404,14 +58,6 @@
|
|||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'",
|
||||
"version": "==0.4.6"
|
||||
},
|
||||
"dill": {
|
||||
"hashes": [
|
||||
"sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a",
|
||||
"sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==0.3.9"
|
||||
},
|
||||
"distlib": {
|
||||
"hashes": [
|
||||
"sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87",
|
||||
|
|
@ -427,126 +73,46 @@
|
|||
"markers": "python_version >= '3.9'",
|
||||
"version": "==3.18.0"
|
||||
},
|
||||
"isort": {
|
||||
"hashes": [
|
||||
"sha256:1cb5df28dfbc742e490c5e41bad6da41b805b0a8be7bc93cd0fb2a8a890ac450",
|
||||
"sha256:2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615"
|
||||
],
|
||||
"markers": "python_full_version >= '3.9.0'",
|
||||
"version": "==6.0.1"
|
||||
},
|
||||
"mccabe": {
|
||||
"hashes": [
|
||||
"sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325",
|
||||
"sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==0.7.0"
|
||||
},
|
||||
"mypy": {
|
||||
"hashes": [
|
||||
"sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e",
|
||||
"sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22",
|
||||
"sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f",
|
||||
"sha256:1fbb8da62dc352133d7d7ca90ed2fb0e9d42bb1a32724c287d3c76c58cbaa9c2",
|
||||
"sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f",
|
||||
"sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b",
|
||||
"sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5",
|
||||
"sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f",
|
||||
"sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43",
|
||||
"sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e",
|
||||
"sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c",
|
||||
"sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828",
|
||||
"sha256:712e962a6357634fef20412699a3655c610110e01cdaa6180acec7fc9f8513ba",
|
||||
"sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee",
|
||||
"sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d",
|
||||
"sha256:8f8722560a14cde92fdb1e31597760dc35f9f5524cce17836c0d22841830fd5b",
|
||||
"sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445",
|
||||
"sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e",
|
||||
"sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13",
|
||||
"sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5",
|
||||
"sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd",
|
||||
"sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf",
|
||||
"sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357",
|
||||
"sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b",
|
||||
"sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036",
|
||||
"sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559",
|
||||
"sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3",
|
||||
"sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f",
|
||||
"sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464",
|
||||
"sha256:d10d994b41fb3497719bbf866f227b3489048ea4bbbb5015357db306249f7980",
|
||||
"sha256:e601a7fa172c2131bff456bb3ee08a88360760d0d2f8cbd7a75a65497e2df078",
|
||||
"sha256:f95579473af29ab73a10bada2f9722856792a36ec5af5399b653aa28360290a5"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==1.15.0"
|
||||
},
|
||||
"mypy-extensions": {
|
||||
"hashes": [
|
||||
"sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d",
|
||||
"sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"
|
||||
],
|
||||
"markers": "python_version >= '3.5'",
|
||||
"version": "==1.0.0"
|
||||
},
|
||||
"packaging": {
|
||||
"hashes": [
|
||||
"sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759",
|
||||
"sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"
|
||||
"sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484",
|
||||
"sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==24.2"
|
||||
"version": "==25.0"
|
||||
},
|
||||
"pipenv": {
|
||||
"hashes": [
|
||||
"sha256:ab26ee98a7d83d342c1f562ee0564094ab1de091e5d5cec4eeaa95fb600de998",
|
||||
"sha256:e8ea6105c1cdda7d5c19df7bd6439a006751f3d4e017602c791e7b51314adf84"
|
||||
"sha256:87370bedcf0ff66d226af07ca341ae94afcc08fed90d57ad9fea9ffd44ced4d3",
|
||||
"sha256:f0a67aa928824e61003d52acea72a94b180800019f03d38a311966f6330bc8d1"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==2024.4.1"
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==2025.0.3"
|
||||
},
|
||||
"platformdirs": {
|
||||
"hashes": [
|
||||
"sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94",
|
||||
"sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351"
|
||||
"sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc",
|
||||
"sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==4.3.7"
|
||||
"version": "==4.3.8"
|
||||
},
|
||||
"pluggy": {
|
||||
"hashes": [
|
||||
"sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1",
|
||||
"sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"
|
||||
"sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3",
|
||||
"sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==1.5.0"
|
||||
},
|
||||
"pycodestyle": {
|
||||
"hashes": [
|
||||
"sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3",
|
||||
"sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==2.12.1"
|
||||
},
|
||||
"pylint": {
|
||||
"hashes": [
|
||||
"sha256:8b7c2d3e86ae3f94fb27703d521dd0b9b6b378775991f504d7c3a6275aa0a6a6",
|
||||
"sha256:b634a041aac33706d56a0d217e6587228c66427e20ec21a019bc4cdee48c040a"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_full_version >= '3.9.0'",
|
||||
"version": "==3.3.6"
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==1.6.0"
|
||||
},
|
||||
"pyproject-api": {
|
||||
"hashes": [
|
||||
"sha256:326df9d68dea22d9d98b5243c46e3ca3161b07a1b9b18e213d1e24fd0e605766",
|
||||
"sha256:7e8a9854b2dfb49454fae421cb86af43efbb2b2454e5646ffb7623540321ae6e"
|
||||
"sha256:43c9918f49daab37e302038fc1aed54a8c7a91a9fa935d00b9a485f37e0f5335",
|
||||
"sha256:7d6238d92f8962773dd75b5f0c4a6a27cce092a14b623b811dba656f3b628948"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==1.9.0"
|
||||
"version": "==1.9.1"
|
||||
},
|
||||
"pyproject-hooks": {
|
||||
"hashes": [
|
||||
|
|
@ -558,53 +124,37 @@
|
|||
},
|
||||
"setuptools": {
|
||||
"hashes": [
|
||||
"sha256:583b361c8da8de57403743e756609670de6fb2345920e36dc5c2d914c319c945",
|
||||
"sha256:67122e78221da5cf550ddd04cf8742c8fe12094483749a792d56cd669d6cf58c"
|
||||
"sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922",
|
||||
"sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c"
|
||||
],
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==77.0.3"
|
||||
"version": "==80.9.0"
|
||||
},
|
||||
"setuptools-scm": {
|
||||
"hashes": [
|
||||
"sha256:136e2b1d393d709d2bcf26f275b8dec06c48b811154167b0fd6bb002aad17d6d",
|
||||
"sha256:a18396a1bc0219c974d1a74612b11f9dce0d5bd8b1dc55c65f6ac7fd609e8c28"
|
||||
"sha256:332ca0d43791b818b841213e76b1971b7711a960761c5bea5fc5cdb5196fbce3",
|
||||
"sha256:3d555e92b75dacd037d32bafdf94f97af51ea29ae8c7b234cf94b7a5bd242a63"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==8.2.0"
|
||||
},
|
||||
"tomlkit": {
|
||||
"hashes": [
|
||||
"sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde",
|
||||
"sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==0.13.2"
|
||||
"version": "==8.3.1"
|
||||
},
|
||||
"tox": {
|
||||
"hashes": [
|
||||
"sha256:92e8290e76ad4e15748860a205865696409a2d014eedeb796a34a0f3b5e7336e",
|
||||
"sha256:d5948b350f76fae436d6545a5e87c2b676ab7a0d7d88c1308651245eadbe8aea"
|
||||
"sha256:2b8a7fb986b82aa2c830c0615082a490d134e0626dbc9189986da46a313c4f20",
|
||||
"sha256:b97d5ecc0c0d5755bcc5348387fef793e1bfa68eb33746412f4c60881d7f5f57"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==4.24.2"
|
||||
},
|
||||
"typing-extensions": {
|
||||
"hashes": [
|
||||
"sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d",
|
||||
"sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==4.12.2"
|
||||
"markers": "python_version >= '3.9'",
|
||||
"version": "==4.27.0"
|
||||
},
|
||||
"virtualenv": {
|
||||
"hashes": [
|
||||
"sha256:3e3d00f5807e83b234dfb6122bf37cfadf4be216c53a49ac059d02414f819170",
|
||||
"sha256:95e39403fcf3940ac45bc717597dba16110b74506131845d9b687d5e73d947ac"
|
||||
"sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11",
|
||||
"sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af"
|
||||
],
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==20.29.3"
|
||||
"version": "==20.31.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<a name="tiara-sphinx-theme"></a>
|
||||
<a name="byteb4rb1e/sphinxcontrib/theme/web2"></a>
|
||||
# Tiara's Sphinx Theme Reference Implementation
|
||||
|
||||
> 🛌 **NOTICE:** This project is taking a naap. It depends upon
|
||||
|
|
|
|||
2
docs/Makefile
Normal file
2
docs/Makefile
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
$(patsubst %.puml,%.png,$(wildcard **/*.puml)):
|
||||
plantuml "$$(echo "$@" | sed 's|.png$$|.puml|')"
|
||||
BIN
docs/diagrams/workflow.png
Normal file
BIN
docs/diagrams/workflow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
32
docs/diagrams/workflow.puml
Normal file
32
docs/diagrams/workflow.puml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
@startuml
|
||||
package "Vendor Source" {
|
||||
[WEB2_PACKAGE_URL] --> [vendor/html-theme-web2-1.0.0.tar.gz]
|
||||
[vendor/html-theme-web2-1.0.0.tar.gz] --> [vendor/html-theme-web2-1.0.0.tar]
|
||||
[vendor/html-theme-web2-1.0.0.tar.gz.asc] --> [vendor/html-theme-web2-1.0.0.tar.gz] : GPG verify
|
||||
}
|
||||
|
||||
package "Python Project" {
|
||||
[vendor/html-theme-web2-1.0.0.tar] --> [src/byteb4rb1e/sphinxcontrib/theme/web2/html-theme-web2.tar] : cp
|
||||
[src/byteb4rb1e/sphinxcontrib/theme/web2/html-theme-web2.tar] ... [src/...]
|
||||
[src/...] --> [dist] : build
|
||||
[configure] --> [configure] : autoconf
|
||||
[requirements.txt] <-- [Pipfile.lock]
|
||||
[requirements-dev.txt] <-- [Pipfile.lock]
|
||||
}
|
||||
|
||||
package "Testing" {
|
||||
[src/...] --> [test-reports/unit] : tox -m unit
|
||||
[src/...] --> [test-reports/integration] : tox -m integration
|
||||
[src/...] --> [test-reports/audit.json] : tox -m integration
|
||||
}
|
||||
|
||||
note right of [WEB2_PACKAGE_URL]
|
||||
HTML theme tarball is fetched
|
||||
as a compressed artifact
|
||||
end note
|
||||
|
||||
note right of [src/...]
|
||||
Contains Python package source
|
||||
and consumes the integrated theme
|
||||
end note
|
||||
@enduml
|
||||
|
|
@ -7,12 +7,12 @@ requires = [
|
|||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "byteb4rb1e.sphinxcontrib.theme.seaharvest"
|
||||
name = "byteb4rb1e.sphinxcontrib.theme.web20"
|
||||
description = "Functional theme for Sphinx documentation generator"
|
||||
authors = [
|
||||
{ name = "Tiara Rodney", email = "tiara.rodney@administratrix.de" }
|
||||
]
|
||||
license = { file = "LICENSE" }
|
||||
license-files = ["LICENSE"]
|
||||
readme = "README.md"
|
||||
classifiers = [
|
||||
"Development Status :: 1 - Planning",
|
||||
|
|
@ -31,17 +31,27 @@ classifiers = [
|
|||
"Topic :: Software Development :: Documentation",
|
||||
]
|
||||
dependencies = [
|
||||
"sphinx >= 8.0,<9.0",
|
||||
"sphinx >= 5.0",
|
||||
"byteb4rb1e.sphinxcontrib.ext @ git+https://bitbucket.org/byteb4rb1e/sphinxcontrib.git@a4fd97b55a2bff04b162e2f00dba148b0303f833"
|
||||
]
|
||||
dynamic = ["version"]
|
||||
requires-python = ">=3.8"
|
||||
requires-python = ">=3.9"
|
||||
|
||||
[project.entry-points."sphinx.html_themes"]
|
||||
seaharvest = "byteb4rb1e.sphinxcontrib.theme.seaharvest"
|
||||
web20 = "byteb4rb1e.sphinxcontrib.theme.web20"
|
||||
|
||||
[tool.setuptools.package-data]
|
||||
# relative to root dir of package, NOT repository
|
||||
"byteb4rb1e.sphinxcontrib.theme.web20" = [
|
||||
"*.tar",
|
||||
"*.tar.sha256",
|
||||
"theme.toml",
|
||||
"**/*.html"
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Bitbucket = "https://bitbucket.org/byteb4rb1e/sphinxcontrib-theme-seaharvest"
|
||||
GitHub = "https://github.com/ByteB4rb1e/sphinxcontrib-theme-seaharvest"
|
||||
Bitbucket = "https://bitbucket.org/byteb4rb1e/sphinxcontrib-theme-web20"
|
||||
GitHub = "https://github.com/ByteB4rb1e/sphinxcontrib-theme-web20"
|
||||
|
||||
[tool.mypy]
|
||||
strict = true
|
||||
|
|
|
|||
|
|
@ -1,80 +0,0 @@
|
|||
"""
|
||||
Tiara's Sphinx theme reference implementation.
|
||||
"""
|
||||
|
||||
from datclasses import dataclass
|
||||
from pathlib import Path
|
||||
import pkg_resources
|
||||
from sys import version_info as python_version
|
||||
import os.path
|
||||
from typing import Optional
|
||||
|
||||
from sphinx import version_info as sphinx_version
|
||||
from sphinx import application
|
||||
from sphinx.locale import _
|
||||
from sphinx.util.logging import getLogger
|
||||
|
||||
from hashlib import sha256
|
||||
|
||||
digest = sha256()
|
||||
|
||||
zbuf = zlib.decompressobj()
|
||||
|
||||
|
||||
re.sub('-*-', '-', re.sub('[^A-Za-z0-9_-]', '-', __name__))
|
||||
|
||||
|
||||
with pkg_resources.open_binary(
|
||||
__name__,
|
||||
'_vendor/html-theme-seaharvest-1.0.0.tar.gz'
|
||||
) as fh:
|
||||
|
||||
while True:
|
||||
buf = fh.read(8096)
|
||||
if not buf: break
|
||||
digest.update(buf)
|
||||
zbuf.decompress(buf)
|
||||
|
||||
digest.update()
|
||||
|
||||
|
||||
|
||||
|
||||
@dataclass
|
||||
class StaticFilesZip():
|
||||
"""
|
||||
"""
|
||||
basename: str
|
||||
sha256: str
|
||||
|
||||
static_files_archive = StaticFilesArchive(
|
||||
path=,
|
||||
sha256='1234567',
|
||||
)
|
||||
|
||||
|
||||
|
||||
logger = getLogger(__name__)
|
||||
|
||||
def setup(app: application.Sphinx):
|
||||
"""
|
||||
"""
|
||||
app.require_sphinx('5.0')
|
||||
|
||||
rootdir = (Path(__file__) / ('../' * 6))
|
||||
archive = (rootdir / 'vendor/{static_archive_basename}').resolve()
|
||||
|
||||
|
||||
app.add_html_theme(__name__.split('.')[-1], Path(__file__).parent)
|
||||
|
||||
app.add_config_value(
|
||||
'html_static_archive_path',
|
||||
[str(archive)],
|
||||
True
|
||||
)
|
||||
|
||||
app.add_js_file('_static/script/seaharvest.js')
|
||||
|
||||
print(app.config['html_static_archive_path'])
|
||||
|
||||
return {'parallel_read_safe': True, 'parallel_write_safe': True}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
# generated by Tiara's HTML Theming Reference Implementation
|
||||
#
|
||||
# this .gitignore serves the purpose of allowing wrapping projects, that
|
||||
# generate this project's assets dynamically, not having to worry about
|
||||
# auxiliary debugging assets polution. The file is supposed to be copied by
|
||||
# webpack into the output directory, so the globbing patterns shouldn't match
|
||||
# the current directory. That's why it's called `gitignore` instead of
|
||||
# `.gitignore` so that it isn't actually being picked up by git. webpack should
|
||||
# rewrite the basename.
|
||||
#
|
||||
# Depending on your level of paranoia towards breaking changes in dependencies
|
||||
# with no access to working versions, you can either choose to ignore the entire
|
||||
# directory and generate HTML theme assets just-in-time, or commit them as
|
||||
# static assets. I'm running registry proxies as pull-through mirrors locally,
|
||||
# that I back up regularly, to keep my paranoia at bay. That way, I can.just
|
||||
# gitignore the directory and generate all assets dynamically.
|
||||
*
|
||||
!/.gitignore
|
||||
*.ts
|
||||
*.map
|
||||
1
src/byteb4rb1e/sphinxcontrib/theme/web20/.gitignore
vendored
Normal file
1
src/byteb4rb1e/sphinxcontrib/theme/web20/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
*.tar
|
||||
23
src/byteb4rb1e/sphinxcontrib/theme/web20/__init__.py
Normal file
23
src/byteb4rb1e/sphinxcontrib/theme/web20/__init__.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
"""
|
||||
Tiara's Sphinx theme reference implementation.
|
||||
"""
|
||||
from pathlib import Path
|
||||
|
||||
import sphinx.application
|
||||
from sphinx.util.logging import getLogger
|
||||
|
||||
logger = getLogger(__name__)
|
||||
|
||||
def setup(app: sphinx.application.Sphinx):
|
||||
"""
|
||||
"""
|
||||
app.require_sphinx('5.0')
|
||||
app.add_html_theme('web20', Path(__file__).resolve().parent)
|
||||
app.setup_extension("byteb4rb1e.sphinxcontrib.ext.html_static_archive")
|
||||
|
||||
app.config["html_static_archive"] = 'pkg://byteb4rb1e.sphinxcontrib.theme.web20/_static_extra.tar'
|
||||
|
||||
app.add_js_file('script/theme.js')
|
||||
app.add_css_file('style/theme.css')
|
||||
|
||||
return {'parallel_read_safe': True, 'parallel_write_safe': True}
|
||||
|
|
@ -0,0 +1 @@
|
|||
63e49714a06c865bf8f15e94f9d514cbcdb9927dc20c748a373e93570c4c8e8b
|
||||
|
|
@ -1,14 +1,10 @@
|
|||
[theme]
|
||||
inherit = "none"
|
||||
stylesheets = [
|
||||
"_static/style/seaharvest.css",
|
||||
]
|
||||
sidebars = [
|
||||
"localtoc.html",
|
||||
"relations.html",
|
||||
"sourcelink.html",
|
||||
"searchbox.html",
|
||||
]
|
||||
pygments_style = { default = "style_name", dark = "dark_style" }
|
||||
|
||||
[options]
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
|
||||
def test_default():
|
||||
"""
|
||||
"""
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from byteb4rb1e.sphinxcontrib.testing.pytest.fixtures import (
|
||||
mock_sphinx_testapp,
|
||||
mock_sphinx_testsrc_dir
|
||||
)
|
||||
|
||||
|
||||
def test_default(
|
||||
mock_sphinx_testapp,
|
||||
mock_sphinx_testsrc_dir,
|
||||
) -> None:
|
||||
"""
|
||||
"""
|
||||
src_dir = mock_sphinx_testsrc_dir()
|
||||
(src_dir / 'conf.py').write_text("""
|
||||
project = "foobar"
|
||||
master_doc = "index"
|
||||
extensions = ["byteb4rb1e.sphinxcontrib.theme"]
|
||||
html_theme = "web20"
|
||||
""")
|
||||
|
||||
app = mock_sphinx_testapp(srcdir=src_dir)
|
||||
|
||||
app.build(force_all=True)
|
||||
|
||||
assert (Path(app.outdir) / '_static' / 'style' / 'theme.css').exists()
|
||||
assert (Path(app.outdir) / '_static' / 'script' / 'theme.js').exists()
|
||||
|
||||
3
tests/integration/conftest.py
Normal file
3
tests/integration/conftest.py
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
|
||||
|
||||
pytest_plugins = ["byteb4rb1e.sphinxcontrib.testing.pytest.fixtures"]
|
||||
0
tests/unit/__init__.py
Normal file
0
tests/unit/__init__.py
Normal file
0
tests/unit/byteb4rb1e/__init__.py
Normal file
0
tests/unit/byteb4rb1e/__init__.py
Normal file
0
tests/unit/byteb4rb1e/sphinxcontrib/__init__.py
Normal file
0
tests/unit/byteb4rb1e/sphinxcontrib/__init__.py
Normal file
0
tests/unit/byteb4rb1e/sphinxcontrib/theme/__init__.py
Normal file
0
tests/unit/byteb4rb1e/sphinxcontrib/theme/__init__.py
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
def test_default():
|
||||
"""
|
||||
"""
|
||||
110
tox.ini
110
tox.ini
|
|
@ -1,73 +1,57 @@
|
|||
[tox]
|
||||
skipsdist = true
|
||||
maxversion = 3.11.0
|
||||
isolated_build = True
|
||||
env_list =
|
||||
static-type-check
|
||||
requires =
|
||||
tox>=4.19
|
||||
env_list =
|
||||
integration-py3{9-13}-sphinx{5-8}
|
||||
lint
|
||||
test
|
||||
|
||||
format
|
||||
|
||||
[testenv]
|
||||
basepython = python3
|
||||
deps =
|
||||
{toxinidir}
|
||||
setenv = PYTHONPATH = {toxinidir}/src
|
||||
|
||||
.
|
||||
|
||||
[testenv:lint]
|
||||
description = lint with pylint
|
||||
deps =
|
||||
pylint >= 2.12.2, < 3
|
||||
commands =
|
||||
python3 -m pylint {toxinidir}/src {posargs}
|
||||
|
||||
[testenv:static-type-check]
|
||||
description = static type checking
|
||||
deps =
|
||||
mypy >=1.5.1,<2
|
||||
commands =
|
||||
python3 -m mypy {toxinidir}/src {posargs}
|
||||
|
||||
[testenv:test]
|
||||
description = test suite with pytest
|
||||
deps =
|
||||
pytest
|
||||
pytest-cov
|
||||
commands =
|
||||
pytest \
|
||||
--junitxml=test-reports/full.xml \
|
||||
--cov-report term \
|
||||
--cov-report html:test-reports/coverage \
|
||||
--cov=wsgirouter \
|
||||
{posargs}
|
||||
|
||||
[testenv:build-demo]
|
||||
description = test suite with pytest
|
||||
deps =
|
||||
sphinx
|
||||
{toxinidir}
|
||||
commands =
|
||||
sphinx-build -b html -Dhtml4_writer=0 \
|
||||
-d {envtmpdir}/doctrees demo \
|
||||
build/demo
|
||||
|
||||
[testenv:autobuild-demo]
|
||||
description = test suite with pytest
|
||||
deps =
|
||||
sphinx
|
||||
sphinx-autobuild
|
||||
{toxinidir}
|
||||
commands =
|
||||
sphinx-autobuild -b html -Dhtml4_writer=0 \
|
||||
-d {envtmpdir}/doctrees demo \
|
||||
--watch src/tiararodneycom_theme \
|
||||
build/demo
|
||||
|
||||
[testenv:build-sdist]
|
||||
description = build and package
|
||||
description = run type check on code base
|
||||
labels = static
|
||||
deps =
|
||||
build >= 0.5.1, < 1
|
||||
mypy
|
||||
commands =
|
||||
python3 -m build --sdist {posargs}
|
||||
python3 -m mypy src tests --junit-xml test-reports/{env_name}.xml
|
||||
|
||||
[testenv:audit]
|
||||
description = run type check on code base
|
||||
labels = audit
|
||||
deps =
|
||||
pip-audit
|
||||
commands =
|
||||
pip-audit .
|
||||
|
||||
[testenv:format]
|
||||
description = run type check on code base
|
||||
labels = static
|
||||
deps =
|
||||
black
|
||||
commands =
|
||||
black --check src tests
|
||||
|
||||
[testenv:py3{9-13}-sphinx{5-7}-integration]
|
||||
description = run type check on code base
|
||||
labels = integration
|
||||
deps =
|
||||
{[testenv]deps}
|
||||
sphinx5: sphinx>=5.0,<=6.0
|
||||
sphinx6: sphinx>=6.0,<=7.0
|
||||
sphinx7: sphinx>=7.0,<=8.0
|
||||
pytest
|
||||
commands =
|
||||
pytest tests/integration --junitxml=test-reports/{env_name}.xml
|
||||
|
||||
[testenv:py3{10-13}-sphinx8-integration]
|
||||
description = run type check on code base
|
||||
labels = integration
|
||||
deps =
|
||||
{[testenv]deps}
|
||||
sphinx8: sphinx>=8.0,<=9.0
|
||||
pytest
|
||||
commands =
|
||||
pytest tests/integration --junitxml=test-reports/{env_name}.xml
|
||||
|
|
|
|||
10
vendor/91CD826E74B0174D181903DEF97C70941CD8C4EF.gpg
vendored
Normal file
10
vendor/91CD826E74B0174D181903DEF97C70941CD8C4EF.gpg
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mDMEaDNFfRYJKwYBBAHaRw8BAQdAUDmP9/lyEpVWvIML/etRpkshVS8YpAp/1Gkb
|
||||
i7+56F20IVRpYXJhIFJvZG5leSA8Y2ljZEBieXRlYjRyYjFlLm1lPoiZBBMWCgBB
|
||||
FiEEkc2CbnSwF00YGQPe+XxwlBzYxO8FAmgzRX0CGwMFCQHhM4AFCwkIBwICIgIG
|
||||
FQoJCAsCBBYCAwECHgcCF4AACgkQ+XxwlBzYxO82RQEAhtub8j5t7UGeGvQPxBsQ
|
||||
C2l5qA6NnPfXyqZENJnZF5MBALssop/yUjWPjXG8U1/G9uOi48Z9v+Fols/M8ta1
|
||||
/YsD
|
||||
=JL82
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
1
vendor/html-theme-seaharvest
vendored
1
vendor/html-theme-seaharvest
vendored
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 51a8959d251de8e3f6c78c88bd6b18575bd10502
|
||||
7
vendor/html-theme-web2-1.0.0.tar.gz.asc
vendored
Normal file
7
vendor/html-theme-web2-1.0.0.tar.gz.asc
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iHUEABYKAB0WIQSRzYJudLAXTRgZA975fHCUHNjE7wUCaFQrNAAKCRD5fHCUHNjE
|
||||
7xb6AQDqP8+VECRJG+KyGe+5Z4PUWXbkb1l2J++N//uRmUwP2gEAxx0vS75IPPrO
|
||||
PI1t8qiW9dQ4aN/YI7PEGmQ/lA4FpAc=
|
||||
=qszW
|
||||
-----END PGP SIGNATURE-----
|
||||
1
vendor/html-theme-web2-1.0.0.tar.sha256
vendored
Normal file
1
vendor/html-theme-web2-1.0.0.tar.sha256
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
63e49714a06c865bf8f15e94f9d514cbcdb9927dc20c748a373e93570c4c8e8b
|
||||
Loading…
Add table
Add a link
Reference in a new issue