Compare commits
55 Commits
a147fc6264
...
8637138aeb
Author | SHA1 | Date |
---|---|---|
~ajhalili2006 | 8637138aeb | |
~ajhalili2006 | e7580aa07d | |
~ajhalili2006 | 8c14584ea1 | |
~ajhalili2006 | 06ef8e424c | |
~ajhalili2006 | 8ec26efeb0 | |
~ajhalili2006 | dfb81d4f8d | |
~ajhalili2006 | 46ecfa7e20 | |
~ajhalili2006 | 7854a3bfcf | |
Andrei Jiroh Eugenio Halili | ecae607db4 | |
~ajhalili2006 | c036dfb082 | |
~ajhalili2006 | fa076e53d7 | |
~ajhalili2006 | 9da3fd2381 | |
~ajhalili2006 | 32cf528505 | |
Andrei Jiroh Eugenio Halili | 0ba2091475 | |
Andrei Jiroh Halili | 509b8204a5 | |
Andrei Jiroh Halili | 424a978bff | |
Andrei Jiroh Eugenio Halili | 230baff1ec | |
Andrei Jiroh Halili | 14cb0d234f | |
Andrei Jiroh Halili | 640e419ab1 | |
Andrei Jiroh Halili | f1a2adaa1d | |
Andrei Jiroh Halili | dbd0334da0 | |
Andrei Jiroh Halili | 137a9f99b7 | |
Andrei Jiroh Halili | 81bcc565c1 | |
Andrei Jiroh Eugenio Halili | 88ed947130 | |
~ajhalili2006 | aedab3ff13 | |
~ajhalili2006 | e990fe9bdb | |
~ajhalili2006 | 33d92b870e | |
Andrei Jiroh Halili | 1de29a8153 | |
Andrei Jiroh Halili | ec4afc7a87 | |
Andrei Jiroh Halili | df1889bd41 | |
Andrei Jiroh Halili | ffe6087ed8 | |
Andrei Jiroh Halili | d3d4c30b52 | |
Andrei Jiroh Halili | 3e4715f48f | |
Andrei Jiroh Halili | 98f0263354 | |
Andrei Jiroh Halili | 38b4b39aed | |
Andrei Jiroh Halili | 8362b6390e | |
Andrei Jiroh Halili | 4551899097 | |
Andrei Jiroh Halili | a57c035e8e | |
Andrei Jiroh Halili | 1c3ec96822 | |
Andrei Jiroh Halili | edbc56743e | |
Andrei Jiroh Halili | 6101e45636 | |
~ajhalili2006 | b66138ae7e | |
~ajhalili2006 | b58fb94ed1 | |
Andrei Jiroh Halili | bb222552d2 | |
Andrei Jiroh Halili | c88c2e5519 | |
Andrei Jiroh Halili | beb0d74b0d | |
Andrei Jiroh Halili | 4055ed8ad1 | |
Andrei Jiroh Halili | 34a2eb5ce4 | |
Andrei Jiroh Halili | 9ff4f89deb | |
Andrei Jiroh Halili | 59a5f4e47d | |
Andrei Jiroh Halili | 2f641311e0 | |
Andrei Jiroh Halili | a670c7ecb1 | |
Andrei Jiroh Halili | f21d3f10b6 | |
Andrei Jiroh Halili | f4e605152a | |
Andrei Jiroh Halili | c2acf592c5 |
41
.build.yml
|
@ -2,8 +2,11 @@ image: alpine/edge
|
|||
environment:
|
||||
FF_ENABLE_COMMIT_DATA: "true"
|
||||
FF_GENERATE_SOCIAL_CARDS: "true"
|
||||
#SKIP_VENV_SETUP: "true"
|
||||
oauth: "pages.sr.ht/SITES:RW pages.sr.ht/PAGES:RW pages.sr.ht/PROFILE"
|
||||
packages:
|
||||
- openssh-client
|
||||
- rsync
|
||||
- python3
|
||||
- py3-pip
|
||||
- py3-wheel
|
||||
|
@ -15,7 +18,7 @@ packages:
|
|||
- libpng-dev
|
||||
- zlib-dev
|
||||
sources:
|
||||
- https://git.sr.ht/~ajhalili2006/tildeweb
|
||||
- https://git.sr.ht/~ajhalili2006/web
|
||||
secrets:
|
||||
- b4ffc5fb-bc8c-4e89-b38a-48b56155a443
|
||||
triggers:
|
||||
|
@ -25,16 +28,34 @@ triggers:
|
|||
cc: ajhalili2006@gmail.com
|
||||
tasks:
|
||||
# in case of triggered from hottub
|
||||
- repo-sync: |
|
||||
cd tildeweb
|
||||
- setup: |
|
||||
# https://www.jeffgeerling.com/blog/2023/how-solve-error-externally-managed-environment-when-installing-pip3
|
||||
sudo rm /usr/lib/python3*/EXTERNALLY-MANAGED -rfv
|
||||
|
||||
# add pipenv for now
|
||||
pip3 install pipenv --user
|
||||
- build: |
|
||||
cd tildeweb && pip3 install -r requirements.txt --user
|
||||
cd web
|
||||
|
||||
# our build script handles both the install and build stuff itself
|
||||
export PATH="$PATH:$HOME/.local/bin"
|
||||
bash ./build.sh
|
||||
pipenv install --ignore-pipfile --deploy
|
||||
TILDE_PUBLIC_HTML_BASE=https://ctrl-c.club/~ajhalili2006/ TARGET_DIR=build/ctrl-c.club ./bin/build.sh mkdocs.tilde.yml
|
||||
TILDE_PUBLIC_HTML_BASE=https://ajhalili2006.p.psf.lt TARGET_DIR=build/p.psf.lt ./bin/build.sh mkdocs.tilde.yml
|
||||
TILDE_PUBLIC_HTML_BASE=https://ajhalili2006.dimension.sh TARGET_DIR=build/dimension.sh ./bin/build.sh mkdocs.tilde.yml
|
||||
- generate-archive: |
|
||||
cd tildeweb
|
||||
tar -C public -cvz . -f tildeweb-prod-build.tar.gz
|
||||
- deploy: |
|
||||
echo done
|
||||
cd web
|
||||
tar -C build -cvz . -f tildeweb-prod-build.tar.gz
|
||||
- deploy-html: |
|
||||
cd web
|
||||
echo "StrictHostKeyChecking=no" >> ~/.ssh/config
|
||||
rsync -rP -e 'ssh -i ~/.ssh/passwordless-auth-sshfs' build/p.psf.lt/ ajhalili2006@p.projectsegfau.lt:/home/ajhalili2006/public_html/
|
||||
rsync -rP -e 'ssh -i ~/.ssh/passwordless-auth-sshfs' build/ctrl-c.club/ ajhalili2006@ctrl-c.club:/home/ajhalili2006/public_html/
|
||||
rsync -rP -e 'ssh -i ~/.ssh/passwordless-auth-sshfs' build/dimension.sh/ ajhalili2006@s1.dimension.sh:/home/ajhalili2006/public_html/
|
||||
- deploy-gemini: |
|
||||
cd web
|
||||
set +x
|
||||
SOURCEHUT_PAGES_TOKEN=${OAUTH2_TOKEN} PRIVATE_SSH_KEY=~/.ssh/passwordless-auth-sshfs ./bin/deploy-gmi.sh
|
||||
artifacts:
|
||||
- tildeweb/tildeweb-prod-build.tar.gz
|
||||
- web/tildeweb-prod-build.tar.gz
|
||||
- web/gemini-site.tar.gz
|
||||
|
|
|
@ -16,7 +16,6 @@ env:
|
|||
# github.repository as <account>/<repo>
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
|
||||
|
||||
jobs:
|
||||
build-ci:
|
||||
name: Build environment for GitLab CI/CD
|
||||
|
@ -30,7 +29,7 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Workaround: https://github.com/docker/build-push-action/issues/461
|
||||
- name: Setup Docker buildx
|
||||
|
@ -104,7 +103,7 @@ jobs:
|
|||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Workaround: https://github.com/docker/build-push-action/issues/461
|
||||
- name: Setup Docker buildx
|
||||
|
@ -165,6 +164,6 @@ jobs:
|
|||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-from: |
|
||||
type=registry,ref=quay.io/ajhalili2006/gitpod-workspace:buildkit-cache-web
|
||||
type=registry,ref=ghcr.io/ajhalili2006/ajhalili2006.github.io/devenv:nightly
|
||||
type=registry,ref=ghcr.io/ajhalili2006/ajhalili2006.github.io/devenv:branch-main
|
||||
type=registry,ref=ghcr.io/ajhalili2006/website/devenv:nightly
|
||||
type=registry,ref=ghcr.io/ajhalili2006/website/devenv:branch-main
|
||||
#cache-to: type=registry,ref=quay.io/ajhalili2006/gitpod-workspace:buildkit-cache-web
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
# The Docker image that will be used to build your app
|
||||
image:
|
||||
name: quay.io/ajhalili2006/mkdocs-material-build-ci:commit-b9683f870d90ffe1a6c2d4d22c69fb8e99322e17
|
||||
name: quay.io/ajhalili2006/mkdocs-material-build-ci:latest
|
||||
|
||||
stages:
|
||||
- test
|
||||
- build
|
||||
|
||||
default:
|
||||
|
@ -10,15 +11,16 @@ default:
|
|||
- amd64 # currently, we only the image in amd64 right now.
|
||||
# Functions that should be executed before the build script is run
|
||||
before_script:
|
||||
- pipenv install
|
||||
- pipenv install --ignore-pipfile --deploy
|
||||
- npm ci
|
||||
- curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
|
||||
|
||||
# Global builds and stuff
|
||||
variables:
|
||||
DEBUG: "1"
|
||||
DEBUG: "1" # MAY HORRIBLY LEAK SECRETS, PROCEED WITH CAUTION
|
||||
FF_ENABLE_COMMIT_DATA: "true"
|
||||
FF_GENERATE_SOCIAL_CARDS: "true"
|
||||
SECURE_FILES_DOWNLOAD_PATH: /run/secrets
|
||||
SECURE_FILES_DOWNLOAD_PATH: .secretskit
|
||||
GIT_DEPTH: "0"
|
||||
|
||||
pages:
|
||||
|
@ -35,12 +37,3 @@ pages:
|
|||
# This ensures that only pushes to the default branch will trigger
|
||||
# a pages deploy
|
||||
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
||||
pages:srht:
|
||||
stage: build
|
||||
needs:
|
||||
- pages
|
||||
script:
|
||||
- tar -C gmi -cvz . -f site.tar.gz
|
||||
- doppler run -- ./bin/deploykit-gmi.sh
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
|
@ -2,6 +2,7 @@
|
|||
FROM gitpod/workspace-full:latest as workspace
|
||||
|
||||
WORKDIR /tmp
|
||||
# setup work for scdoc and hut cli
|
||||
RUN git clone https://git.sr.ht/~sircmpwn/scdoc && cd scdoc \
|
||||
&& make && sudo cp scdoc /usr/local/bin/scdoc && cd .. \
|
||||
&& git clone https://git.sr.ht/~emersion/hut && cd hut \
|
||||
|
@ -22,5 +23,7 @@ COPY --from=docker/buildx-bin:latest /buildx /usr/libexec/docker/cli-plugins/doc
|
|||
|
||||
# brew maintenance + install ShellCheck and Hadolint
|
||||
WORKDIR /home/gitpod
|
||||
RUN brew update && brew install hadolint shellcheck \
|
||||
&& npm i -g wrangler
|
||||
RUN brew update && brew upgrade \
|
||||
&& brew install hadolint shellcheck \
|
||||
&& npm i -g wrangler \
|
||||
&& git -C ~/.pyenv pull origin master
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
checkoutLocation: tildeweb-ajhalili2006
|
||||
|
||||
image: ghcr.io/ajhalili2006/ajhalili2006.github.io/devenv:commit-b9683f870d90ffe1a6c2d4d22c69fb8e99322e17
|
||||
image: quay.io/ajhalili2006/mkdocs-material-build-ci:commit-f1a2adaa1d977fe66e4f1791436027539fe187b8
|
||||
|
||||
tasks:
|
||||
- init: |
|
||||
pipenv install
|
||||
pipenv sync --verbose
|
||||
command: |
|
||||
FF_ENABLE_COMMIT_DATA=true pipenv run -- mkdocs serve --watch overrides --watch-theme --livereload
|
||||
name: site-localdev
|
||||
|
|
|
@ -11,8 +11,16 @@ build:
|
|||
python: "3.11"
|
||||
#nodejs: 18
|
||||
jobs:
|
||||
post_checkout:
|
||||
# Needed for some plugins/extensions to work
|
||||
- git fetch --unshallow || true
|
||||
post_build:
|
||||
- cp -rv markdown/.well-known $READTHEDOCS_OUTPUT/html/.well-known
|
||||
- |
|
||||
mkdir $READTHEDOCS_OUTPUT/api
|
||||
git rev-parse HEAD > $READTHEDOCS_OUTPUT/api/commit
|
||||
- |
|
||||
cp -rv markdown/.well-known $READTHEDOCS_OUTPUT/html/.well-known
|
||||
cp $READTHEDOCS_OUTPUT/html/assets/images/favicon.png $READTHEDOCS_OUTPUT/favicon.ico
|
||||
apt_packages:
|
||||
- libcairo2-dev
|
||||
- libfreetype6-dev
|
||||
|
@ -24,6 +32,7 @@ build:
|
|||
|
||||
mkdocs:
|
||||
configuration: mkdocs.readthedocs.yml
|
||||
fail_on_warning: false
|
||||
|
||||
# Optionally declare the Python requirements required to build your docs
|
||||
python:
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
python 3.12.0
|
|
@ -23,5 +23,14 @@
|
|||
"conventionalCommits.autoCommit": false,
|
||||
"conventionalCommits.promptCI": true,
|
||||
"git.alwaysSignOff": true,
|
||||
"gitlens.remotes": [{ "domain": "mau.dev", "type": "GitLab" }]
|
||||
"gitlens.remotes": [
|
||||
{
|
||||
"domain": "mau.dev",
|
||||
"type": "GitLab"
|
||||
}
|
||||
],
|
||||
"foam.edit.linkReferenceDefinitions": "withExtensions",
|
||||
"foam.files.ignore": [
|
||||
".github/**"
|
||||
]
|
||||
}
|
9
Pipfile
|
@ -12,8 +12,15 @@ pillow = "*"
|
|||
cairosvg = "*"
|
||||
mkdocs-rss-plugin = "*"
|
||||
mkdocs-git-committers-plugin-2 = "*"
|
||||
mkdocs-autolinks-plugin = "*"
|
||||
|
||||
[dev-packages]
|
||||
|
||||
[requires]
|
||||
python_version = "3.11"
|
||||
python_version = "3.12"
|
||||
|
||||
[scripts]
|
||||
dev = "mkdocs serve --watch overrides --watch-theme --livereload"
|
||||
build = "bash bin/build.sh"
|
||||
build-staging = "bash bin/build.sh mkdocs.readthedocs.yml"
|
||||
build-tilde-ctrlc = "bash bin/build.sh mkdocs.tilde.yml"
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "293e5d98fc5927ea141a41b7eabeace50841eaeb6eb42f5840517a15250934fb"
|
||||
"sha256": "f87d557d02966cbcde3572eae1a8d848cab1ba152503baeb1c06254ec2ecd511"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
"python_version": "3.11"
|
||||
"python_version": "3.12"
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
|
@ -18,11 +18,11 @@
|
|||
"default": {
|
||||
"babel": {
|
||||
"hashes": [
|
||||
"sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610",
|
||||
"sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"
|
||||
"sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210",
|
||||
"sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2.12.1"
|
||||
"version": "==2.13.0"
|
||||
},
|
||||
"beautifulsoup4": {
|
||||
"hashes": [
|
||||
|
@ -46,6 +46,7 @@
|
|||
"sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.5'",
|
||||
"version": "==2.7.1"
|
||||
},
|
||||
"certifi": {
|
||||
|
@ -58,153 +59,157 @@
|
|||
},
|
||||
"cffi": {
|
||||
"hashes": [
|
||||
"sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5",
|
||||
"sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef",
|
||||
"sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104",
|
||||
"sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426",
|
||||
"sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405",
|
||||
"sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375",
|
||||
"sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a",
|
||||
"sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e",
|
||||
"sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc",
|
||||
"sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf",
|
||||
"sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185",
|
||||
"sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497",
|
||||
"sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3",
|
||||
"sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35",
|
||||
"sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c",
|
||||
"sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83",
|
||||
"sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21",
|
||||
"sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca",
|
||||
"sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984",
|
||||
"sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac",
|
||||
"sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd",
|
||||
"sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee",
|
||||
"sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a",
|
||||
"sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2",
|
||||
"sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192",
|
||||
"sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7",
|
||||
"sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585",
|
||||
"sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f",
|
||||
"sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e",
|
||||
"sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27",
|
||||
"sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b",
|
||||
"sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e",
|
||||
"sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e",
|
||||
"sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d",
|
||||
"sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c",
|
||||
"sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415",
|
||||
"sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82",
|
||||
"sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02",
|
||||
"sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314",
|
||||
"sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325",
|
||||
"sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c",
|
||||
"sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3",
|
||||
"sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914",
|
||||
"sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045",
|
||||
"sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d",
|
||||
"sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9",
|
||||
"sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5",
|
||||
"sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2",
|
||||
"sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c",
|
||||
"sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3",
|
||||
"sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2",
|
||||
"sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8",
|
||||
"sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d",
|
||||
"sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d",
|
||||
"sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9",
|
||||
"sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162",
|
||||
"sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76",
|
||||
"sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4",
|
||||
"sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e",
|
||||
"sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9",
|
||||
"sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6",
|
||||
"sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b",
|
||||
"sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01",
|
||||
"sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"
|
||||
"sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc",
|
||||
"sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a",
|
||||
"sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417",
|
||||
"sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab",
|
||||
"sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520",
|
||||
"sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36",
|
||||
"sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743",
|
||||
"sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8",
|
||||
"sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed",
|
||||
"sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684",
|
||||
"sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56",
|
||||
"sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324",
|
||||
"sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d",
|
||||
"sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235",
|
||||
"sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e",
|
||||
"sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088",
|
||||
"sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000",
|
||||
"sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7",
|
||||
"sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e",
|
||||
"sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673",
|
||||
"sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c",
|
||||
"sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe",
|
||||
"sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2",
|
||||
"sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098",
|
||||
"sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8",
|
||||
"sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a",
|
||||
"sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0",
|
||||
"sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b",
|
||||
"sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896",
|
||||
"sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e",
|
||||
"sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9",
|
||||
"sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2",
|
||||
"sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b",
|
||||
"sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6",
|
||||
"sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404",
|
||||
"sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f",
|
||||
"sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0",
|
||||
"sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4",
|
||||
"sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc",
|
||||
"sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936",
|
||||
"sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba",
|
||||
"sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872",
|
||||
"sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb",
|
||||
"sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614",
|
||||
"sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1",
|
||||
"sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d",
|
||||
"sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969",
|
||||
"sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b",
|
||||
"sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4",
|
||||
"sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627",
|
||||
"sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956",
|
||||
"sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"
|
||||
],
|
||||
"version": "==1.15.1"
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==1.16.0"
|
||||
},
|
||||
"charset-normalizer": {
|
||||
"hashes": [
|
||||
"sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96",
|
||||
"sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c",
|
||||
"sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710",
|
||||
"sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706",
|
||||
"sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020",
|
||||
"sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252",
|
||||
"sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad",
|
||||
"sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329",
|
||||
"sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a",
|
||||
"sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f",
|
||||
"sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6",
|
||||
"sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4",
|
||||
"sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a",
|
||||
"sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46",
|
||||
"sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2",
|
||||
"sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23",
|
||||
"sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace",
|
||||
"sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd",
|
||||
"sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982",
|
||||
"sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10",
|
||||
"sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2",
|
||||
"sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea",
|
||||
"sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09",
|
||||
"sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5",
|
||||
"sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149",
|
||||
"sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489",
|
||||
"sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9",
|
||||
"sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80",
|
||||
"sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592",
|
||||
"sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3",
|
||||
"sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6",
|
||||
"sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed",
|
||||
"sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c",
|
||||
"sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200",
|
||||
"sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a",
|
||||
"sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e",
|
||||
"sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d",
|
||||
"sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6",
|
||||
"sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623",
|
||||
"sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669",
|
||||
"sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3",
|
||||
"sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa",
|
||||
"sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9",
|
||||
"sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2",
|
||||
"sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f",
|
||||
"sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1",
|
||||
"sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4",
|
||||
"sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a",
|
||||
"sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8",
|
||||
"sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3",
|
||||
"sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029",
|
||||
"sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f",
|
||||
"sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959",
|
||||
"sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22",
|
||||
"sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7",
|
||||
"sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952",
|
||||
"sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346",
|
||||
"sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e",
|
||||
"sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d",
|
||||
"sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299",
|
||||
"sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd",
|
||||
"sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a",
|
||||
"sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3",
|
||||
"sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037",
|
||||
"sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94",
|
||||
"sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c",
|
||||
"sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858",
|
||||
"sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a",
|
||||
"sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449",
|
||||
"sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c",
|
||||
"sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918",
|
||||
"sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1",
|
||||
"sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c",
|
||||
"sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac",
|
||||
"sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"
|
||||
"sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843",
|
||||
"sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786",
|
||||
"sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e",
|
||||
"sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8",
|
||||
"sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4",
|
||||
"sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa",
|
||||
"sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d",
|
||||
"sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82",
|
||||
"sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7",
|
||||
"sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895",
|
||||
"sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d",
|
||||
"sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a",
|
||||
"sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382",
|
||||
"sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678",
|
||||
"sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b",
|
||||
"sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e",
|
||||
"sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741",
|
||||
"sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4",
|
||||
"sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596",
|
||||
"sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9",
|
||||
"sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69",
|
||||
"sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c",
|
||||
"sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77",
|
||||
"sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13",
|
||||
"sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459",
|
||||
"sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e",
|
||||
"sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7",
|
||||
"sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908",
|
||||
"sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a",
|
||||
"sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f",
|
||||
"sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8",
|
||||
"sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482",
|
||||
"sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d",
|
||||
"sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d",
|
||||
"sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545",
|
||||
"sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34",
|
||||
"sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86",
|
||||
"sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6",
|
||||
"sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe",
|
||||
"sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e",
|
||||
"sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc",
|
||||
"sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7",
|
||||
"sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd",
|
||||
"sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c",
|
||||
"sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557",
|
||||
"sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a",
|
||||
"sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89",
|
||||
"sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078",
|
||||
"sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e",
|
||||
"sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4",
|
||||
"sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403",
|
||||
"sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0",
|
||||
"sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89",
|
||||
"sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115",
|
||||
"sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9",
|
||||
"sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05",
|
||||
"sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a",
|
||||
"sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec",
|
||||
"sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56",
|
||||
"sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38",
|
||||
"sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479",
|
||||
"sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c",
|
||||
"sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e",
|
||||
"sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd",
|
||||
"sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186",
|
||||
"sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455",
|
||||
"sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c",
|
||||
"sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65",
|
||||
"sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78",
|
||||
"sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287",
|
||||
"sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df",
|
||||
"sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43",
|
||||
"sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1",
|
||||
"sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7",
|
||||
"sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989",
|
||||
"sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a",
|
||||
"sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63",
|
||||
"sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884",
|
||||
"sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649",
|
||||
"sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810",
|
||||
"sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828",
|
||||
"sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4",
|
||||
"sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2",
|
||||
"sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd",
|
||||
"sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5",
|
||||
"sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe",
|
||||
"sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293",
|
||||
"sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e",
|
||||
"sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e",
|
||||
"sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"
|
||||
],
|
||||
"markers": "python_full_version >= '3.7.0'",
|
||||
"version": "==3.2.0"
|
||||
"version": "==3.3.0"
|
||||
},
|
||||
"click": {
|
||||
"hashes": [
|
||||
|
@ -395,11 +400,11 @@
|
|||
},
|
||||
"markdown": {
|
||||
"hashes": [
|
||||
"sha256:225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6",
|
||||
"sha256:a4c1b65c0957b4bd9e7d86ddc7b3c9868fb9670660f6f99f6d1bca8954d5a941"
|
||||
"sha256:4afb124395ce5fc34e6d9886dab977fd9ae987fc6e85689f08278cf0c69d4bf3",
|
||||
"sha256:a807eb2e4778d9156c8f07876c6e4d50b5494c5665c4834f67b06459dfd877b3"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==3.4.4"
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==3.5"
|
||||
},
|
||||
"markupsafe": {
|
||||
"hashes": [
|
||||
|
@ -483,12 +488,22 @@
|
|||
"markers": "python_version >= '3.7'",
|
||||
"version": "==1.5.3"
|
||||
},
|
||||
"mkdocs-autolinks-plugin": {
|
||||
"hashes": [
|
||||
"sha256:445ddb9b417b7795856c30801bb430773186c1daf210bdeecf8305f55a47d151",
|
||||
"sha256:5c6c17f6649b68e79a9ef0b2648d59f3072e18002b90ee1586a64c505f11ab12"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.4'",
|
||||
"version": "==0.7.1"
|
||||
},
|
||||
"mkdocs-git-committers-plugin-2": {
|
||||
"hashes": [
|
||||
"sha256:0bb5d71cdd9d43fec0dec16e52a9aad2784256b0fa6ef9bb0cceffc36c081ab3",
|
||||
"sha256:921da26b3f4393e6c170279ac34089151dfc22cd29ec4fbce3506218541685c8"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.8' and python_version < '4'",
|
||||
"version": "==1.2.0"
|
||||
},
|
||||
"mkdocs-git-revision-date-localized-plugin": {
|
||||
|
@ -497,15 +512,17 @@
|
|||
"sha256:7752edd7c4dcaa9383e9a5b6a4f729831a62d604b0c43b319331127720c6a2bf"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==1.2.0"
|
||||
},
|
||||
"mkdocs-material": {
|
||||
"hashes": [
|
||||
"sha256:8651ff451f84681df9d2e3388906eee63c866576d98d6bb542826f83a091b289",
|
||||
"sha256:d53b17d058e70efd04c281f9b384ca10fb1f0bfecfe85dacdadad891bb826e3d"
|
||||
"sha256:09665e60df7ee9e5ff3a54af173f6d45be718b1ee7dd962bcff3102b81fb0c14",
|
||||
"sha256:78802035d5768a78139c84ad7dce0c6493e8f7dc4861727d36ed91d1520a54da"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==9.4.2"
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==9.4.6"
|
||||
},
|
||||
"mkdocs-material-extensions": {
|
||||
"hashes": [
|
||||
|
@ -521,6 +538,7 @@
|
|||
"sha256:6abf8f5a0fddb476bddd38faba28390fd8c41ab63b0d7202e3ce3deeb9ab98cb"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==0.7.1"
|
||||
},
|
||||
"mkdocs-redirects": {
|
||||
|
@ -528,6 +546,7 @@
|
|||
"sha256:9420066d70e2a6bb357adf86e67023dcdca1857f97f07c7fe450f8f1fb42f861"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==1.2.1"
|
||||
},
|
||||
"mkdocs-rss-plugin": {
|
||||
|
@ -536,15 +555,16 @@
|
|||
"sha256:475bf4ea05cbe786af38d519b55352b1b2eb87597ad680fcbc309056864ed5c4"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.8' and python_version < '4'",
|
||||
"version": "==1.8.0"
|
||||
},
|
||||
"packaging": {
|
||||
"hashes": [
|
||||
"sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61",
|
||||
"sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"
|
||||
"sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5",
|
||||
"sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==23.1"
|
||||
"version": "==23.2"
|
||||
},
|
||||
"paginate": {
|
||||
"hashes": [
|
||||
|
@ -618,15 +638,16 @@
|
|||
"sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==10.0.1"
|
||||
},
|
||||
"platformdirs": {
|
||||
"hashes": [
|
||||
"sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d",
|
||||
"sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"
|
||||
"sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3",
|
||||
"sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==3.10.0"
|
||||
"version": "==3.11.0"
|
||||
},
|
||||
"pycparser": {
|
||||
"hashes": [
|
||||
|
@ -732,97 +753,97 @@
|
|||
},
|
||||
"regex": {
|
||||
"hashes": [
|
||||
"sha256:0085da0f6c6393428bf0d9c08d8b1874d805bb55e17cb1dfa5ddb7cfb11140bf",
|
||||
"sha256:06c57e14ac723b04458df5956cfb7e2d9caa6e9d353c0b4c7d5d54fcb1325c46",
|
||||
"sha256:09b7f4c66aa9d1522b06e31a54f15581c37286237208df1345108fcf4e050c18",
|
||||
"sha256:0c59122ceccb905a941fb23b087b8eafc5290bf983ebcb14d2301febcbe199c7",
|
||||
"sha256:1005c60ed7037be0d9dea1f9c53cc42f836188227366370867222bda4c3c6bd7",
|
||||
"sha256:14898830f0a0eb67cae2bbbc787c1a7d6e34ecc06fbd39d3af5fe29a4468e2c9",
|
||||
"sha256:14dc6f2d88192a67d708341f3085df6a4f5a0c7b03dec08d763ca2cd86e9f559",
|
||||
"sha256:1e7d84d64c84ad97bf06f3c8cb5e48941f135ace28f450d86af6b6512f1c9a71",
|
||||
"sha256:2162ae2eb8b079622176a81b65d486ba50b888271302190870b8cc488587d280",
|
||||
"sha256:22283c769a7b01c8ac355d5be0715bf6929b6267619505e289f792b01304d898",
|
||||
"sha256:239c3c2a339d3b3ddd51c2daef10874410917cd2b998f043c13e2084cb191684",
|
||||
"sha256:293352710172239bf579c90a9864d0df57340b6fd21272345222fb6371bf82b3",
|
||||
"sha256:2ae54a338191e1356253e7883d9d19f8679b6143703086245fb14d1f20196be9",
|
||||
"sha256:2e73e5243af12d9cd6a9d6a45a43570dbe2e5b1cdfc862f5ae2b031e44dd95a8",
|
||||
"sha256:2e9216e0d2cdce7dbc9be48cb3eacb962740a09b011a116fd7af8c832ab116ca",
|
||||
"sha256:3026cbcf11d79095a32d9a13bbc572a458727bd5b1ca332df4a79faecd45281c",
|
||||
"sha256:3611576aff55918af2697410ff0293d6071b7e00f4b09e005d614686ac4cd57c",
|
||||
"sha256:3ae646c35cb9f820491760ac62c25b6d6b496757fda2d51be429e0e7b67ae0ab",
|
||||
"sha256:3b8e6ea6be6d64104d8e9afc34c151926f8182f84e7ac290a93925c0db004bfd",
|
||||
"sha256:3d370ff652323c5307d9c8e4c62efd1956fb08051b0e9210212bc51168b4ff56",
|
||||
"sha256:3f7454aa427b8ab9101f3787eb178057c5250478e39b99540cfc2b889c7d0586",
|
||||
"sha256:40f029d73b10fac448c73d6eb33d57b34607f40116e9f6e9f0d32e9229b147d7",
|
||||
"sha256:423adfa872b4908843ac3e7a30f957f5d5282944b81ca0a3b8a7ccbbfaa06103",
|
||||
"sha256:4873ef92e03a4309b3ccd8281454801b291b689f6ad45ef8c3658b6fa761d7ac",
|
||||
"sha256:48c640b99213643d141550326f34f0502fedb1798adb3c9eb79650b1ecb2f177",
|
||||
"sha256:4ae594c66f4a7e1ea67232a0846649a7c94c188d6c071ac0210c3e86a5f92109",
|
||||
"sha256:4b694430b3f00eb02c594ff5a16db30e054c1b9589a043fe9174584c6efa8033",
|
||||
"sha256:51d8ea2a3a1a8fe4f67de21b8b93757005213e8ac3917567872f2865185fa7fb",
|
||||
"sha256:54de2619f5ea58474f2ac211ceea6b615af2d7e4306220d4f3fe690c91988a61",
|
||||
"sha256:551ad543fa19e94943c5b2cebc54c73353ffff08228ee5f3376bd27b3d5b9800",
|
||||
"sha256:5543c055d8ec7801901e1193a51570643d6a6ab8751b1f7dd9af71af467538bb",
|
||||
"sha256:5cd9cd7170459b9223c5e592ac036e0704bee765706445c353d96f2890e816c8",
|
||||
"sha256:5ec4b3f0aebbbe2fc0134ee30a791af522a92ad9f164858805a77442d7d18570",
|
||||
"sha256:67ecd894e56a0c6108ec5ab1d8fa8418ec0cff45844a855966b875d1039a2e34",
|
||||
"sha256:6ab2ed84bf0137927846b37e882745a827458689eb969028af8032b1b3dac78e",
|
||||
"sha256:704f63b774218207b8ccc6c47fcef5340741e5d839d11d606f70af93ee78e4d4",
|
||||
"sha256:7098c524ba9f20717a56a8d551d2ed491ea89cbf37e540759ed3b776a4f8d6eb",
|
||||
"sha256:7aed90a72fc3654fba9bc4b7f851571dcc368120432ad68b226bd593f3f6c0b7",
|
||||
"sha256:7ce606c14bb195b0e5108544b540e2c5faed6843367e4ab3deb5c6aa5e681208",
|
||||
"sha256:7eb95fe8222932c10d4436e7a6f7c99991e3fdd9f36c949eff16a69246dee2dc",
|
||||
"sha256:80b80b889cb767cc47f31d2b2f3dec2db8126fbcd0cff31b3925b4dc6609dcdb",
|
||||
"sha256:82cd0a69cd28f6cc3789cc6adeb1027f79526b1ab50b1f6062bbc3a0ccb2dbc3",
|
||||
"sha256:83215147121e15d5f3a45d99abeed9cf1fe16869d5c233b08c56cdf75f43a504",
|
||||
"sha256:88900f521c645f784260a8d346e12a1590f79e96403971241e64c3a265c8ecdb",
|
||||
"sha256:91129ff1bb0619bc1f4ad19485718cc623a2dc433dff95baadbf89405c7f6b57",
|
||||
"sha256:920974009fb37b20d32afcdf0227a2e707eb83fe418713f7a8b7de038b870d0b",
|
||||
"sha256:9233ac249b354c54146e392e8a451e465dd2d967fc773690811d3a8c240ac601",
|
||||
"sha256:941460db8fe3bd613db52f05259c9336f5a47ccae7d7def44cc277184030a116",
|
||||
"sha256:942f8b1f3b223638b02df7df79140646c03938d488fbfb771824f3d05fc083a8",
|
||||
"sha256:964b16dcc10c79a4a2be9f1273fcc2684a9eedb3906439720598029a797b46e6",
|
||||
"sha256:9691a549c19c22d26a4f3b948071e93517bdf86e41b81d8c6ac8a964bb71e5a6",
|
||||
"sha256:96979d753b1dc3b2169003e1854dc67bfc86edf93c01e84757927f810b8c3c93",
|
||||
"sha256:987b9ac04d0b38ef4f89fbc035e84a7efad9cdd5f1e29024f9289182c8d99e09",
|
||||
"sha256:988631b9d78b546e284478c2ec15c8a85960e262e247b35ca5eaf7ee22f6050a",
|
||||
"sha256:9a96edd79661e93327cfeac4edec72a4046e14550a1d22aa0dd2e3ca52aec921",
|
||||
"sha256:9b7408511fca48a82a119d78a77c2f5eb1b22fe88b0d2450ed0756d194fe7a9a",
|
||||
"sha256:9dd6082f4e2aec9b6a0927202c85bc1b09dcab113f97265127c1dc20e2e32495",
|
||||
"sha256:a2ad5add903eb7cdde2b7c64aaca405f3957ab34f16594d2b78d53b8b1a6a7d6",
|
||||
"sha256:a8c65c17aed7e15a0c824cdc63a6b104dfc530f6fa8cb6ac51c437af52b481c7",
|
||||
"sha256:aadf28046e77a72f30dcc1ab185639e8de7f4104b8cb5c6dfa5d8ed860e57236",
|
||||
"sha256:b076da1ed19dc37788f6a934c60adf97bd02c7eea461b73730513921a85d4235",
|
||||
"sha256:b2aeab3895d778155054abea5238d0eb9a72e9242bd4b43f42fd911ef9a13470",
|
||||
"sha256:b82edc98d107cbc7357da7a5a695901b47d6eb0420e587256ba3ad24b80b7d0b",
|
||||
"sha256:b8a0ccc8f2698f120e9e5742f4b38dc944c38744d4bdfc427616f3a163dd9de5",
|
||||
"sha256:b993b6f524d1e274a5062488a43e3f9f8764ee9745ccd8e8193df743dbe5ee61",
|
||||
"sha256:bb34d1605f96a245fc39790a117ac1bac8de84ab7691637b26ab2c5efb8f228c",
|
||||
"sha256:bd3366aceedf274f765a3a4bc95d6cd97b130d1dda524d8f25225d14123c01db",
|
||||
"sha256:c12f6f67495ea05c3d542d119d270007090bad5b843f642d418eb601ec0fa7be",
|
||||
"sha256:c662a4cbdd6280ee56f841f14620787215a171c4e2d1744c9528bed8f5816c96",
|
||||
"sha256:c884d1a59e69e03b93cf0dfee8794c63d7de0ee8f7ffb76e5f75be8131b6400a",
|
||||
"sha256:ca339088839582d01654e6f83a637a4b8194d0960477b9769d2ff2cfa0fa36d2",
|
||||
"sha256:cd2b6c5dfe0929b6c23dde9624483380b170b6e34ed79054ad131b20203a1a63",
|
||||
"sha256:ce0f9fbe7d295f9922c0424a3637b88c6c472b75eafeaff6f910494a1fa719ef",
|
||||
"sha256:cf0633e4a1b667bfe0bb10b5e53fe0d5f34a6243ea2530eb342491f1adf4f739",
|
||||
"sha256:cf9273e96f3ee2ac89ffcb17627a78f78e7516b08f94dc435844ae72576a276e",
|
||||
"sha256:d909b5a3fff619dc7e48b6b1bedc2f30ec43033ba7af32f936c10839e81b9217",
|
||||
"sha256:d9b6627408021452dcd0d2cdf8da0534e19d93d070bfa8b6b4176f99711e7f90",
|
||||
"sha256:de35342190deb7b866ad6ba5cbcccb2d22c0487ee0cbb251efef0843d705f0d4",
|
||||
"sha256:e51c80c168074faa793685656c38eb7a06cbad7774c8cbc3ea05552d615393d8",
|
||||
"sha256:e6bd1e9b95bc5614a7a9c9c44fde9539cba1c823b43a9f7bc11266446dd568e3",
|
||||
"sha256:e7a9aaa5a1267125eef22cef3b63484c3241aaec6f48949b366d26c7250e0357",
|
||||
"sha256:e951d1a8e9963ea51efd7f150450803e3b95db5939f994ad3d5edac2b6f6e2b4",
|
||||
"sha256:e9941a4ada58f6218694f382e43fdd256e97615db9da135e77359da257a7168b",
|
||||
"sha256:f0640913d2c1044d97e30d7c41728195fc37e54d190c5385eacb52115127b882",
|
||||
"sha256:f0ccf3e01afeb412a1a9993049cb160d0352dba635bbca7762b2dc722aa5742a",
|
||||
"sha256:f2181c20ef18747d5f4a7ea513e09ea03bdd50884a11ce46066bb90fe4213675",
|
||||
"sha256:f2200e00b62568cfd920127782c61bc1c546062a879cdc741cfcc6976668dfcf",
|
||||
"sha256:fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"
|
||||
"sha256:00ba3c9818e33f1fa974693fb55d24cdc8ebafcb2e4207680669d8f8d7cca79a",
|
||||
"sha256:00e871d83a45eee2f8688d7e6849609c2ca2a04a6d48fba3dff4deef35d14f07",
|
||||
"sha256:06e9abc0e4c9ab4779c74ad99c3fc10d3967d03114449acc2c2762ad4472b8ca",
|
||||
"sha256:0b9ac09853b2a3e0d0082104036579809679e7715671cfbf89d83c1cb2a30f58",
|
||||
"sha256:0d47840dc05e0ba04fe2e26f15126de7c755496d5a8aae4a08bda4dd8d646c54",
|
||||
"sha256:0f649fa32fe734c4abdfd4edbb8381c74abf5f34bc0b3271ce687b23729299ed",
|
||||
"sha256:107ac60d1bfdc3edb53be75e2a52aff7481b92817cfdddd9b4519ccf0e54a6ff",
|
||||
"sha256:11175910f62b2b8c055f2b089e0fedd694fe2be3941b3e2633653bc51064c528",
|
||||
"sha256:12bd4bc2c632742c7ce20db48e0d99afdc05e03f0b4c1af90542e05b809a03d9",
|
||||
"sha256:16f8740eb6dbacc7113e3097b0a36065a02e37b47c936b551805d40340fb9971",
|
||||
"sha256:1c0e8fae5b27caa34177bdfa5a960c46ff2f78ee2d45c6db15ae3f64ecadde14",
|
||||
"sha256:2c54e23836650bdf2c18222c87f6f840d4943944146ca479858404fedeb9f9af",
|
||||
"sha256:3367007ad1951fde612bf65b0dffc8fd681a4ab98ac86957d16491400d661302",
|
||||
"sha256:36362386b813fa6c9146da6149a001b7bd063dabc4d49522a1f7aa65b725c7ec",
|
||||
"sha256:39807cbcbe406efca2a233884e169d056c35aa7e9f343d4e78665246a332f597",
|
||||
"sha256:39cdf8d141d6d44e8d5a12a8569d5a227f645c87df4f92179bd06e2e2705e76b",
|
||||
"sha256:3b2c3502603fab52d7619b882c25a6850b766ebd1b18de3df23b2f939360e1bd",
|
||||
"sha256:3ccf2716add72f80714b9a63899b67fa711b654be3fcdd34fa391d2d274ce767",
|
||||
"sha256:3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f",
|
||||
"sha256:4023e2efc35a30e66e938de5aef42b520c20e7eda7bb5fb12c35e5d09a4c43f6",
|
||||
"sha256:4a3ee019a9befe84fa3e917a2dd378807e423d013377a884c1970a3c2792d293",
|
||||
"sha256:4a8bf76e3182797c6b1afa5b822d1d5802ff30284abe4599e1247be4fd6b03be",
|
||||
"sha256:4a992f702c9be9c72fa46f01ca6e18d131906a7180950958f766c2aa294d4b41",
|
||||
"sha256:4c34d4f73ea738223a094d8e0ffd6d2c1a1b4c175da34d6b0de3d8d69bee6bcc",
|
||||
"sha256:4cd1bccf99d3ef1ab6ba835308ad85be040e6a11b0977ef7ea8c8005f01a3c29",
|
||||
"sha256:4ef80829117a8061f974b2fda8ec799717242353bff55f8a29411794d635d964",
|
||||
"sha256:58837f9d221744d4c92d2cf7201c6acd19623b50c643b56992cbd2b745485d3d",
|
||||
"sha256:5a8f91c64f390ecee09ff793319f30a0f32492e99f5dc1c72bc361f23ccd0a9a",
|
||||
"sha256:5addc9d0209a9afca5fc070f93b726bf7003bd63a427f65ef797a931782e7edc",
|
||||
"sha256:6239d4e2e0b52c8bd38c51b760cd870069f0bdf99700a62cd509d7a031749a55",
|
||||
"sha256:66e2fe786ef28da2b28e222c89502b2af984858091675044d93cb50e6f46d7af",
|
||||
"sha256:69c0771ca5653c7d4b65203cbfc5e66db9375f1078689459fe196fe08b7b4930",
|
||||
"sha256:6ac965a998e1388e6ff2e9781f499ad1eaa41e962a40d11c7823c9952c77123e",
|
||||
"sha256:6c56c3d47da04f921b73ff9415fbaa939f684d47293f071aa9cbb13c94afc17d",
|
||||
"sha256:6f85739e80d13644b981a88f529d79c5bdf646b460ba190bffcaf6d57b2a9863",
|
||||
"sha256:706e7b739fdd17cb89e1fbf712d9dc21311fc2333f6d435eac2d4ee81985098c",
|
||||
"sha256:741ba2f511cc9626b7561a440f87d658aabb3d6b744a86a3c025f866b4d19e7f",
|
||||
"sha256:7434a61b158be563c1362d9071358f8ab91b8d928728cd2882af060481244c9e",
|
||||
"sha256:76066d7ff61ba6bf3cb5efe2428fc82aac91802844c022d849a1f0f53820502d",
|
||||
"sha256:7979b834ec7a33aafae34a90aad9f914c41fd6eaa8474e66953f3f6f7cbd4368",
|
||||
"sha256:7eece6fbd3eae4a92d7c748ae825cbc1ee41a89bb1c3db05b5578ed3cfcfd7cb",
|
||||
"sha256:7ef1e014eed78ab650bef9a6a9cbe50b052c0aebe553fb2881e0453717573f52",
|
||||
"sha256:81dce2ddc9f6e8f543d94b05d56e70d03a0774d32f6cca53e978dc01e4fc75b8",
|
||||
"sha256:82fcc1f1cc3ff1ab8a57ba619b149b907072e750815c5ba63e7aa2e1163384a4",
|
||||
"sha256:8d1f21af4c1539051049796a0f50aa342f9a27cde57318f2fc41ed50b0dbc4ac",
|
||||
"sha256:90a79bce019c442604662d17bf69df99090e24cdc6ad95b18b6725c2988a490e",
|
||||
"sha256:9145f092b5d1977ec8c0ab46e7b3381b2fd069957b9862a43bd383e5c01d18c2",
|
||||
"sha256:91dc1d531f80c862441d7b66c4505cd6ea9d312f01fb2f4654f40c6fdf5cc37a",
|
||||
"sha256:979c24cbefaf2420c4e377ecd1f165ea08cc3d1fbb44bdc51bccbbf7c66a2cb4",
|
||||
"sha256:994645a46c6a740ee8ce8df7911d4aee458d9b1bc5639bc968226763d07f00fa",
|
||||
"sha256:9b98b7681a9437262947f41c7fac567c7e1f6eddd94b0483596d320092004533",
|
||||
"sha256:9c6b4d23c04831e3ab61717a707a5d763b300213db49ca680edf8bf13ab5d91b",
|
||||
"sha256:9c6d0ced3c06d0f183b73d3c5920727268d2201aa0fe6d55c60d68c792ff3588",
|
||||
"sha256:9fd88f373cb71e6b59b7fa597e47e518282455c2734fd4306a05ca219a1991b0",
|
||||
"sha256:a8f4e49fc3ce020f65411432183e6775f24e02dff617281094ba6ab079ef0915",
|
||||
"sha256:a9e908ef5889cda4de038892b9accc36d33d72fb3e12c747e2799a0e806ec841",
|
||||
"sha256:ad08a69728ff3c79866d729b095872afe1e0557251da4abb2c5faff15a91d19a",
|
||||
"sha256:adbccd17dcaff65704c856bd29951c58a1bd4b2b0f8ad6b826dbd543fe740988",
|
||||
"sha256:b0c7d2f698e83f15228ba41c135501cfe7d5740181d5903e250e47f617eb4292",
|
||||
"sha256:b3ab05a182c7937fb374f7e946f04fb23a0c0699c0450e9fb02ef567412d2fa3",
|
||||
"sha256:b6104f9a46bd8743e4f738afef69b153c4b8b592d35ae46db07fc28ae3d5fb7c",
|
||||
"sha256:ba7cd6dc4d585ea544c1412019921570ebd8a597fabf475acc4528210d7c4a6f",
|
||||
"sha256:bc72c231f5449d86d6c7d9cc7cd819b6eb30134bb770b8cfdc0765e48ef9c420",
|
||||
"sha256:bce8814b076f0ce5766dc87d5a056b0e9437b8e0cd351b9a6c4e1134a7dfbda9",
|
||||
"sha256:be5e22bbb67924dea15039c3282fa4cc6cdfbe0cbbd1c0515f9223186fc2ec5f",
|
||||
"sha256:be6b7b8d42d3090b6c80793524fa66c57ad7ee3fe9722b258aec6d0672543fd0",
|
||||
"sha256:bfe50b61bab1b1ec260fa7cd91106fa9fece57e6beba05630afe27c71259c59b",
|
||||
"sha256:bff507ae210371d4b1fe316d03433ac099f184d570a1a611e541923f78f05037",
|
||||
"sha256:c148bec483cc4b421562b4bcedb8e28a3b84fcc8f0aa4418e10898f3c2c0eb9b",
|
||||
"sha256:c15ad0aee158a15e17e0495e1e18741573d04eb6da06d8b84af726cfc1ed02ee",
|
||||
"sha256:c2169b2dcabf4e608416f7f9468737583ce5f0a6e8677c4efbf795ce81109d7c",
|
||||
"sha256:c55853684fe08d4897c37dfc5faeff70607a5f1806c8be148f1695be4a63414b",
|
||||
"sha256:c65a3b5330b54103e7d21cac3f6bf3900d46f6d50138d73343d9e5b2900b2353",
|
||||
"sha256:c7964c2183c3e6cce3f497e3a9f49d182e969f2dc3aeeadfa18945ff7bdd7051",
|
||||
"sha256:cc3f1c053b73f20c7ad88b0d1d23be7e7b3901229ce89f5000a8399746a6e039",
|
||||
"sha256:ce615c92d90df8373d9e13acddd154152645c0dc060871abf6bd43809673d20a",
|
||||
"sha256:d29338556a59423d9ff7b6eb0cb89ead2b0875e08fe522f3e068b955c3e7b59b",
|
||||
"sha256:d8a993c0a0ffd5f2d3bda23d0cd75e7086736f8f8268de8a82fbc4bd0ac6791e",
|
||||
"sha256:d9c727bbcf0065cbb20f39d2b4f932f8fa1631c3e01fcedc979bd4f51fe051c5",
|
||||
"sha256:dac37cf08fcf2094159922edc7a2784cfcc5c70f8354469f79ed085f0328ebdf",
|
||||
"sha256:dd829712de97753367153ed84f2de752b86cd1f7a88b55a3a775eb52eafe8a94",
|
||||
"sha256:e54ddd0bb8fb626aa1f9ba7b36629564544954fff9669b15da3610c22b9a0991",
|
||||
"sha256:e77c90ab5997e85901da85131fd36acd0ed2221368199b65f0d11bca44549711",
|
||||
"sha256:ebedc192abbc7fd13c5ee800e83a6df252bec691eb2c4bedc9f8b2e2903f5e2a",
|
||||
"sha256:ef71561f82a89af6cfcbee47f0fabfdb6e63788a9258e913955d89fdd96902ab",
|
||||
"sha256:f0a47efb1dbef13af9c9a54a94a0b814902e547b7f21acb29434504d18f36e3a",
|
||||
"sha256:f4f2ca6df64cbdd27f27b34f35adb640b5d2d77264228554e68deda54456eb11",
|
||||
"sha256:fb02e4257376ae25c6dd95a5aec377f9b18c09be6ebdefa7ad209b9137b73d48"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2023.8.8"
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2023.10.3"
|
||||
},
|
||||
"requests": {
|
||||
"hashes": [
|
||||
|
@ -866,11 +887,11 @@
|
|||
},
|
||||
"urllib3": {
|
||||
"hashes": [
|
||||
"sha256:13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594",
|
||||
"sha256:ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e"
|
||||
"sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2",
|
||||
"sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2.0.5"
|
||||
"version": "==2.0.6"
|
||||
},
|
||||
"watchdog": {
|
||||
"hashes": [
|
||||
|
|
98
README.md
|
@ -3,54 +3,82 @@
|
|||
[![Hosted on pages.dev](https://img.shields.io/badge/hosted%20on-pages.dev-orange?style=flat-square&logo=cloudflare)](https://pages.dev)
|
||||
[![GitLab last commit](https://img.shields.io/gitlab/last-commit/andreijiroh.dev/website?gitlab_url=https%3A%2F%2Fmau.dev&style=flat-square)](https://mau.dev/andreijiroh.dev/website/commits)
|
||||
[![Staging builds on Read The Docs Community](https://readthedocs.org/projects/ajhalili2006/badge/?version=latest&style=flat-square)](https://readthedocs.org/projects/ajhalili2006/)
|
||||
[![Docker CI](https://github.com/ajhalili2006/ajhalili2006.github.io/actions/workflows/docker.yml/badge.svg?event=schedule&style=flat-badge)](https://github.com/ajhalili2006/ajhalili2006.github.io/actions/workflows/docker.yml?query=event%3Aschedule)
|
||||
[![pipeline status](https://mau.dev/andreijiroh.dev/website/badges/main/pipeline.svg?style=flat-square)](https://mau.dev/andreijiroh.dev/website/-/pipelines)
|
||||
[![Docker CI](https://github.com/ajhalili2006/website/actions/workflows/docker.yml/badge.svg?event=schedule&style=flat-badge)](https://github.com/ajhalili2006/website/actions/workflows/docker.yml?query=event%3Aschedule)
|
||||
[![GitLab CI status](https://mau.dev/andreijiroh.dev/website/badges/main/pipeline.svg?style=flat-square)](https://mau.dev/andreijiroh.dev/website/-/pipelines)
|
||||
|
||||
This is my sources for both [`andreijiroh.(eu.org|dev)`](https://andreijiroh.eu.org) and tilde userpages in Ctrl-C Club and ~vern,
|
||||
built with Mkdocs + [Material theme](https://go.andreijiroh.eu.org/mkdocs-material) by [~squidfunk](https://go.andreijiroh.eu.org/squidfunk).
|
||||
(Sources for Gemini version of the website is available at `gmi` directory.)
|
||||
This is my sources for both [`andreijiroh.(eu.org|dev)`](https://andreijiroh.eu.org) and tilde userpages,
|
||||
built with Mkdocs + [Material theme](https://go.andreijiroh.eu.org/mkdocs-material) by
|
||||
[~squidfunk](https://github.com/squidfunk). Sources for Gemini version of the website is
|
||||
available at `gmi` directory.
|
||||
|
||||
## Information for people wishing to use this repository
|
||||
|
||||
While this is fairly just static site (with CI configs and even Cloudflare Pages references)
|
||||
and not licensed under the Zlib license ([context from Xe/site repo][zlib-chaos]), please don't
|
||||
just fork this repo unless you know what you're REALLY doing.
|
||||
|
||||
[zlib-chaos]: https://github.com/Xe/site/blob/HEAD/README.md#information-for-people-wishing-to-use-this-code
|
||||
|
||||
If you're pretty serious, please keep several things in mind:
|
||||
|
||||
- You must heavily edit the Markdown content of the website. Make your own personal user manual and portfolio,
|
||||
or heck even go nuts on the homepage.[^1]
|
||||
- Blog posts I written in Gemini version are licensed under CC-BY-SA-4.0,
|
||||
[as mentioned below](#legalese) unless specified otherwise.
|
||||
But [for the love of god], please use your own blog posts when writing for
|
||||
Gemini users instead.
|
||||
- For the favicon, use your own profile picture or pick/make another one.
|
||||
|
||||
[for the love of god]: https://english.stackexchange.com/questions/351296/what-exactly-does-for-the-love-of-god-mean#351326
|
||||
[^1]: Please keep it SFW, since you don't want to get that censored by the MTRCB, right?
|
||||
|
||||
**Looking for a template instead with same Mkdocs theme?** No problem! [I contributed one at lorebooks.wiki's GitHub org](https://github.com/lorebooks-wiki/mkdocs-material-template)
|
||||
with some fine defaults, alongside a blog section if you prefer.
|
||||
|
||||
## Mirrors
|
||||
|
||||
Canonically developed at [mau.dev](https://mau.dev/andreijiroh.dev/website.git) where the deployments happen, with the following mirrors being maintained:
|
||||
|
||||
* GitHub: <https://github.com/ajhalili2006/ajhalili2006.github.io.git>, where Docker image builds happen
|
||||
* Jetbrains Space (personal): <https://ajhalili2006.jetbrains.space/p/web/repositories/andreijiroh.dev/files/README.md>
|
||||
* Sourcehut: <https://git.sr.ht/~ajhalili2006/tildeweb>
|
||||
* GitHub: <https://github.com/ajhalili2006/website>, where Docker image builds happen
|
||||
* Jetbrains Space (personal): <https://ajhalili2006.jetbrains.space/p/web/repositories/andreijiroh.dev> (repository clone URL: `git.jetbrains.space/ajhalili2006/web/andreijiroh.dev.git`)
|
||||
* Sourcehut: <https://git.sr.ht/~ajhalili2006/web>
|
||||
|
||||
## Development
|
||||
## Site Development
|
||||
|
||||
Use the clone links from either the canonical repository URL or its mirrors
|
||||
[as mentioned above](#mirrors) or open this repo in a cloud development
|
||||
environment using these links:
|
||||
|
||||
[![Open in Gitpod](https://img.shields.io/badge/open%20in-Gitpod-orange?style=flat-square&logo=gitpod)](https://gitpod.io/#https://mau.dev/andreijiroh.dev/website)
|
||||
[![Open in Codespaces](https://img.shields.io/badge/open%20in-Codespaces-black?style=flat-square&logo=github)](https://codespaces.new/ajhalili2006/ajhalili2006.github.io)
|
||||
|
||||
### Building from source
|
||||
|
||||
```bash
|
||||
# clone the repo
|
||||
# pick one on the clone URLs
|
||||
glab repo clone https://mau.dev/ajhalili2006/tildeverse-web
|
||||
gh repo clone ajhalili2006/ajhalili2006.github.com
|
||||
git clone git@git.sr.ht:~ajhalili2006/tildeweb
|
||||
|
||||
# maybe do this on a feature branch
|
||||
git switch -c your-git-username/your-suggestion-here
|
||||
|
||||
# install deps via venv
|
||||
python3 -m venv venv
|
||||
source ./venv/bin/activate
|
||||
pip3 install -r requirements.txt
|
||||
# install deps via pipenv...
|
||||
pipenv install
|
||||
# ...or via pip3 with --user -flag (generated from "pipenv requirements" and sending its output
|
||||
# to requirements.txt)
|
||||
pip install -r requirements.txt --user
|
||||
|
||||
# preview site and edit in another session
|
||||
mkdocs serve
|
||||
nano markdown/path-to-file.md
|
||||
mkdocs serve --watch overrides --watch-theme --livereload
|
||||
```
|
||||
|
||||
# done?
|
||||
git stage . && git commit --signoff
|
||||
### Sending patches
|
||||
|
||||
|
||||
```bash
|
||||
# send patches via GitLab or GitHub through the CLI
|
||||
glab auth login --host "https://mau.dev" # authenticate CLI
|
||||
glab -R https://mau.dev/ajhalili2006/tildeverse-web mr create --allow-collaboration -b main
|
||||
gh auth login # authenticate CLI, GitHub.com edition
|
||||
glab -R https://mau.dev/andreijiroh.dev/website mr create --allow-collaboration -b main
|
||||
gh -R ajhalili2006/tildeverse-web pr create # might automatically closes PR due to mirror status
|
||||
|
||||
# or via my public inbox on sourcehut
|
||||
# see https://git-send-email.io for setup and guide
|
||||
git config sendemail.to "~ajhalili2006/public-inbox@lists.sr.ht" # NOT my personal email
|
||||
git config format.subjectPrefix "PATCH tildeweb" # identification in archives + builds.sr.ht
|
||||
git config format.subjectPrefix "PATCH web" # identification in archives + builds.sr.ht
|
||||
git config --global sendemail.annotate yes
|
||||
git config --global format.signOff true # needed for compliance with Linux DCO
|
||||
git send-email HEAD^
|
||||
|
@ -63,9 +91,15 @@ Please be reminded that while this is a personal open-source project, please exp
|
|||
times during pathc reviews and don't be disappointed when I disagree on stuff and chose not to merge
|
||||
the patches for any reasons, including mental health breaks.
|
||||
|
||||
## License
|
||||
## Legalese
|
||||
|
||||
Unless otherwise noted, source code is licensed under the MPl-2.0 while website content (text-only)
|
||||
is under CC BY-SA 4.0
|
||||
Unless otherwise noted, source code is licensed under the MPL-2.0 while website content (text-only)
|
||||
is under CC BY-SA 4.0.
|
||||
|
||||
The only thing that's not covered by this is [the favicon version](markdown/assets/images/favicon.png) of my profile picture.
|
||||
The only thing that's not covered by this is [the favicon version](markdown/assets/images/favicon.png)
|
||||
of my (current) profile picture.
|
||||
|
||||
### Third-party code
|
||||
|
||||
* [OpenWeb Icons Set](https://iconduck.com/sets/openweb-icons-set) ([source code](https://github.com/pfefferle/openwebicons?ref=iconduck.com))- [SIL Open Font License 1.1](https://github.com/pfefferle/openwebicons/blob/main/License.txt)
|
||||
* Upstream template code from Material for Mkdocs for overrides directory - MIT
|
||||
|
|
16
bin/build.sh
|
@ -5,17 +5,23 @@ TARGET_DIR=${TARGET_DIR:-"$PWD/public"}
|
|||
FF_OFFLINE_MKDOCS_PLUGIN=${FF_OFFLINE_MKDOCS_PLUGIN:-"false"}
|
||||
FF_ENABLE_COMMIT_DATA=${FF_ENABLE_COMMIT_DATA:-"true"}
|
||||
FF_GENERATE_SOCIAL_CARDS=${FF_GENERATE_SOCIAL_CARDS:-"true"}
|
||||
TARGET_BUILD_CONFIG=${1:-"mkdocs.yml"}
|
||||
|
||||
if [[ ! -d "$PWD/.venv" && $SKIP_VENV_SETUP == "" ]]; then
|
||||
pipenv install -r requirements.txt
|
||||
pipenv run -- mkdocs build -d "$TARGET_DIR"
|
||||
if [[ ! -d "$TARGET_DIR" ]]; then
|
||||
mkdir "$TARGET_DIR" -pv
|
||||
fi
|
||||
|
||||
if [[ $SKIP_VENV_SETUP == "" ]] || [[ $CI == "" ]]; then
|
||||
pipenv install --ignore-pipfile --deploy --verbose
|
||||
pipenv run -- mkdocs build -d "$TARGET_DIR" -f ${TARGET_BUILD_CONFIG}
|
||||
else
|
||||
pip3 install -r requirements.txt --upgrade
|
||||
mkdocs build -d "$TARGET_DIR"
|
||||
pip3 install -r requirements.txt --upgrade --user
|
||||
mkdocs build -d "$TARGET_DIR" -f ${TARGET_BUILD_CONFIG}
|
||||
fi
|
||||
|
||||
mkdir "$TARGET_DIR/api"
|
||||
git rev-parse HEAD > "$TARGET_DIR/api/commit"
|
||||
cp "$TARGET_DIR/assets/images/favicon.png" "$TARGET_DIR/favicon.ico"
|
||||
cp markdown/.well-known "$TARGET_DIR/.well-known" -rv
|
||||
|
||||
set +xe
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#!/usr/bin/env bash
|
||||
set -xe
|
||||
|
||||
PRIVATE_SSH_KEY=${PRIVATE_SSH_KEY:-"/run/secrets/passwordless"}
|
||||
SOURCEHUT_USERNAME=${SOURCEHUT_PAGES_SUBDOMAIN:-"ajhalili2006"}
|
||||
SOURCEHUT_PAGES_TOKEN=${SOURCEHUT_PAGES_TOKEN}
|
||||
GEMINI_CUSTOM_DOMAIN=${GEMINI_CUSTOM_DOMAIN:-"gemini.andreijiroh.eu.org"}
|
||||
|
||||
if [[ $SOURCEHUT_PAGES_TOKEN == "" ]]; then
|
||||
|
@ -11,13 +12,16 @@ fi
|
|||
|
||||
mkdir "gmi/api"
|
||||
git rev-parse HEAD > "gmi/api/commit"
|
||||
tar -C gmi -cvz . -f site.tar.gz
|
||||
tar -C gmi -cvz . -f gemini-site.tar.gz
|
||||
|
||||
curl --oauth2-bearer "$SOURCEHUT_PAGES_TOKEN" \
|
||||
-Fcontent=@site.tar.gz \
|
||||
-Fcontent=@gemini-site.tar.gz \
|
||||
-Fprotocol=GEMINI \
|
||||
"https://pages.sr.ht/publish/${SOURCEHUT_USERNAME}.srht.site"
|
||||
curl --oauth2-bearer "$SOURCEHUT_PAGES_TOKEN" \
|
||||
-Fcontent=@site.tar.gz \
|
||||
-Fcontent=@gemini-site.tar.gz \
|
||||
-Fprotocol=GEMINI \
|
||||
"https://pages.sr.ht/publish/${GEMINI_CUSTOM_DOMAIN}"
|
||||
|
||||
rsync -rP -e "ssh -i ${PRIVATE_SSH_KEY} -o StrictHostKeyChecking=no" gmi/ ajhalili2006@p.projectsegfau.lt:/home/ajhalili2006/public_gemini
|
||||
rsync -rP -e "ssh -i ${PRIVATE_SSH_KEY} -o StrictHostKeyChecking=no" gmi/ ajhalili2006@s1.dimension.sh:/home/ajhalili2006/public_gemini
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# URL prefixes for updating remote URLs
|
||||
JETBRAINS_SPACE_REPO="git.jetbrains.space/ajhalili2006/web/andreijiroh.dev.git"
|
||||
SOURCEHUT_GIT_REPO="git.sr.ht/~ajhalili2006/web"
|
||||
GITHUB_REPO="github.com/ajhalili2006/ajhalili2006.github.io"
|
||||
GITLAB_REPO="mau.dev/andreijiroh.dev/website"
|
||||
|
||||
useHttps() {
|
||||
|
||||
}
|
||||
|
||||
useSsh() {
|
||||
|
||||
}
|
|
@ -1,20 +1,17 @@
|
|||
# syntax=docker/dockerfile:1
|
||||
FROM ghcr.io/hadolint/hadolint:latest-alpine AS hadolint-binary
|
||||
|
||||
# Since we're building against edge at risk, it is important to note
|
||||
# that anything might go wrong.
|
||||
FROM alpine:edge AS buildkit
|
||||
# Instead of using Alpine base image and then installing Python from pkgs.al.o,
|
||||
# we'll go with the official images instead.
|
||||
FROM python:3.12-alpine AS buildkit
|
||||
|
||||
# Since hadolint isn't in the package repos for Alpine yet, we'll copying from the offical
|
||||
# Docker image instead.
|
||||
COPY --from=hadolint-binary /bin/hadolint /usr/bin/hadolint
|
||||
COPY --from=ghcr.io/hadolint/hadolint:latest-alpine /bin/hadolint /usr/bin/hadolint
|
||||
|
||||
ENV PACKAGES=/usr/local/lib/python3.11/site-packages
|
||||
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.local/bin
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
COPY --from=hadolint-binary /bin/hadolint /usr/bin/hadolint
|
||||
ENV PACKAGES=/usr/local/lib/python3.11/site-packages PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.local/bin PYTHONDONTWRITEBYTECODE=1
|
||||
LABEL org.opencontainers.image.description="GitLab CI image for custom mkdocs-material Docker image, alongside tools @ajhalili2006 use."
|
||||
|
||||
# https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#linux but for Alpine
|
||||
# Also installs Doppler CLI for accessing secrets securely within CI
|
||||
# hadolint ignore=DL3018,DL3013
|
||||
RUN apk add --no-cache \
|
||||
cairo-dev \
|
||||
|
@ -25,10 +22,6 @@ RUN apk add --no-cache \
|
|||
zlib-dev \
|
||||
bash \
|
||||
coreutils \
|
||||
python3 \
|
||||
py3-pip \
|
||||
pipx \
|
||||
py3-wheel \
|
||||
shellcheck \
|
||||
gcc \
|
||||
libffi-dev \
|
||||
|
@ -37,17 +30,19 @@ RUN apk add --no-cache \
|
|||
npm \
|
||||
yarn \
|
||||
git \
|
||||
git-email \
|
||||
git-lfs \
|
||||
git-fast-import \
|
||||
openssh \
|
||||
gnupg \
|
||||
curl \
|
||||
rsync \
|
||||
&& curl -Ls --tlsv1.2 --proto "=https" --retry 3 https://cli.doppler.com/install.sh \
|
||||
| sh
|
||||
# The "--break-system-packages" is added so I don't need to do requirements.txt workaround,
|
||||
# although I also consider using pipx if we wanted to.
|
||||
# See also https://www.jeffgeerling.com/blog/2023/how-solve-error-externally-managed-environment-when-installing-pip3
|
||||
RUN rm -rv /usr/lib/python3*/EXTERNALLY-MANAGED \
|
||||
&& pip install --no-cache \
|
||||
|
||||
# See https://www.jeffgeerling.com/blog/2023/how-solve-error-externally-managed-environment-when-installing-pip3
|
||||
# for context behind removing the EXTERNALLY-MANAGED file on distribution-built CPython binary releases
|
||||
RUN pip install --no-cache \
|
||||
mkdocs-material \
|
||||
mkdocs-git-committers-plugin-2 \
|
||||
mkdocs-git-revision-date-localized-plugin \
|
||||
|
@ -56,7 +51,8 @@ RUN rm -rv /usr/lib/python3*/EXTERNALLY-MANAGED \
|
|||
mkdocs-rss-plugin \
|
||||
pillow \
|
||||
cairosvg \
|
||||
pipenv
|
||||
pipenv \
|
||||
pipx
|
||||
|
||||
# Trust directory, required for git >= 2.35.2
|
||||
# Follows the docs for the Docker-based site build setup
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
# CI image for GitLab CI deploys
|
||||
# Custom `mkdocs-material` CI image
|
||||
|
||||
This directory contains the necessary files to build a container image for the website deployments.
|
||||
Builds on Alpine edge, mostly used by @ajhalili2006 to deploy
|
||||
builds over GitLab Ci.
|
||||
|
||||
## How to build
|
||||
## Build from source
|
||||
|
||||
Just run the script to build locally
|
||||
|
||||
```bash
|
||||
./docker/build.sh
|
||||
```
|
||||
After cloning [Andrei Jiroh's website sources](https://mau.dev/andreijiroh.dev/website), you can run the `build.sh` script
|
||||
(see script source for available options)
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
# Canonical URI
|
||||
Canonical: https://andreijiroh.eu.org/.well-known/security.txt
|
||||
|
||||
|
@ -17,3 +20,19 @@ Policy: https://andreijiroh.eu.org/security
|
|||
Acknowledgments: https://andreijiroh.eu.org/security/#thanks
|
||||
|
||||
Expires: 2024-09-26T15:59:00.000Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAEBCgAdFiEETV5jF1jLnMRZQbHOZ7/JGz2hK+gFAmUYYfQACgkQZ7/JGz2h
|
||||
K+iMzxAA61jw4SFVKroBHkO/uGThq1wWLPNRDchc1Fx6vQh6Z9TKCYNMgZ3T/Btn
|
||||
ILZLg/R1lsgylOJdJihesYKFrVTMO3nxdptTSwh9I5avxCEHf8zn3LEHOSMdhO8O
|
||||
u3cPHIvFw/EVTgdkYAj6UvzI9K9I+L7DaqEb5fOUuBXeQS/DQuvEs9nceCFEkQcq
|
||||
pjAWjlLHO/ZrKgNRMgVZ+t8a/nxWXRBa7Y17hii9WxkgrMcnmFpius/U0yjn2ax0
|
||||
gbYic/VesjVq67i4DaxmQNgGmZvvuIXyjyVJvVyUlSmBNj68gRd5vOx0XiEwtaIt
|
||||
R/6YWSmVRGo3HuXwqX6LIjdyOEc9gv0TxozKIO3KzRYg44drhtt8PDK24+/KBXMn
|
||||
xmE0InhF9Y5DCZDEfZ3g1IIlHxcfXnNKpbD7QAVv+J89rgn79jcsVPyVvGigkijH
|
||||
LogCG6a9yvvOp6aK+EwioCh0F/f5ABTqZOzA6ZmVjO4xdrKmiQPbw/gSSzoT6SVL
|
||||
fbGj7+n9KI+Fv+9nfeRTnL+lbwAh4cwSuIt8rdHMvQhFCvGCSUwqRRIEiKUD+X21
|
||||
dKGt1Z52ySC8nuNfstg+MtspTv6X+Rz1XI1a26UMjYzBZIty+ZblM8YJkv7Cm34N
|
||||
C/2qcB4pxMJsaEcrvpkUnhQZe30cLw0yjRQj6C0uggfLQMru1PI=
|
||||
=xIeM
|
||||
-----END PGP SIGNATURE-----
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# Canonical URI
|
||||
Canonical: https://andreijiroh.eu.org/.well-known/security.txt
|
||||
|
||||
# Contact details
|
||||
Contact: mailto:ajhalili2006@andreijiroh.eu.org
|
||||
Contact: https://andreijiroh.eu.org/contact/security
|
||||
Contact: https://keybase.io/ajhalili2006
|
||||
|
||||
Preferred-Languages: en
|
||||
|
||||
# Use my PGP keys on the website or at Keybase
|
||||
Encryption: https://keybase.io/ajhalili2006/pgp_keys.asc
|
||||
Encryption: https://andreijiroh.eu.org/keys/pgp.asc
|
||||
|
||||
# Security Policy and acknowledgments
|
||||
Policy: https://andreijiroh.eu.org/security
|
||||
Acknowledgments: https://andreijiroh.eu.org/security/#thanks
|
||||
|
||||
Expires: 2024-09-26T15:59:00.000Z
|
|
@ -1,6 +1,5 @@
|
|||
# internal redirects
|
||||
/resume /user-manual/resume
|
||||
#/portfolio /user-manual/resume
|
||||
/dni /user-manual/dni
|
||||
|
||||
# external redirects
|
||||
|
@ -21,3 +20,6 @@
|
|||
|
||||
# this is obvious, right?
|
||||
/favicon.ico /assets/images/favicon.png
|
||||
|
||||
# plaintext redirects
|
||||
/security.txt /.well-known/security.txt
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
# Contacting ~ajhalili2006
|
||||
|
||||
There are so many ways you can contact Andrei Jiroh, but please respect his boundaries, time and mental health.
|
||||
|
||||
## Rules of communication
|
||||
|
||||
_Last updated: 2023-07-17_
|
||||
|
||||
> This is a copy of <https://t.me/ajhalili2006_bio/4>, along with some changes since then. I'll revamp this pretty soon.
|
||||
|
||||
TL;DR: [Don't be a dick.](https://www.psychologytoday.com/us/blog/the-author-speaks/201909/don-t-be-dick)[^1] The rest are to cover "whataboutism" from every edge case I could cover.
|
||||
|
||||
- Check [my user manual](/user-manual/index.md) and FAQs before contacting via DMs.
|
||||
- For sensitive manners (like reporting security related issues), use Keybase, Session or Matrix (make sure to enable EE2E when initiating an one-to-one chat with me). If you want to connect through Session, I’ll provide my public ID when needed.
|
||||
- No crypto nonsense (even I use mirror.xyz and some other dapps), self promo hellscape, doxxing, death/swatting threats or calls to violence towards me or anybody.
|
||||
- Don’t dare even send me NSFW/CACP.
|
||||
- Future employers and recruiters: Please contact via email or LinkedIn only.
|
||||
- I WILL NOT RESPOND FROM ANYBODY ON FACEBOOK MESSENGER. This applies to both my main and alternative personal profiles,
|
||||
unless you're either know me IRL or for official business at school and work and your org policies does only allow
|
||||
communications on Facebook Messenger/WhatsApp.
|
||||
|
||||
[^1]: Explainer from admins and mods at `hachyderm.io`: <https://community.hachyderm.io/docs/rule-explainer/#dont-be-a-dick>
|
||||
|
||||
## via email
|
||||
|
||||
Visit also <https://wiki.andreijiroh.eu.org/wiki/Email> for list of email addresses.
|
||||
|
||||
## via socials
|
||||
|
||||
Some of my socials are mentioned at my homepage and on my start.page page, but I'll also list them here:
|
||||
|
||||
TBD
|
|
@ -0,0 +1,40 @@
|
|||
# All of Andrei Jiroh's contact details
|
||||
|
||||
[Go back to "Anything else"](./else.md){ .md-button }
|
||||
[Go back to main contact page](./index.md){ .md-button }
|
||||
|
||||
!!! warning "Horribly work-in-progress, apologies for missing/incompelete content."
|
||||
|
||||
This page contains all of Andrei Jiroh's contact details for convenience, though you should not
|
||||
abuse them (or else get blocked).
|
||||
|
||||
## Email
|
||||
|
||||
!!! info "Please just use one email address when sending messages privately."
|
||||
Don't send your email to multiple addresses (even as BCC or CC), it might cause duplication.
|
||||
|
||||
The most preferred address to use is either [:e-mail: **ajhalili2006@andreijiroh.eu.org**](mailto:ajhalili2006@andreijiroh.eu.org) or [:e-mail: **ajhalili2006@crew.recaptime.eu.org**](mailto:ajhalili2006@crew.recaptime.eu.org),
|
||||
although if VK WorkMail has flagged your mail as spam and you don't want to fill up not-spam forms,
|
||||
[use this Tally form](https://tally.so/r/nrB4o2) as an alternative.
|
||||
|
||||
* **Gmail user?** You could try sending mail to [:e-mail: ajhalili2006@gmail.com](mailto:ajhalili2006@gmail.com)
|
||||
(sharing docs and files over Google Drive are fun but please no spam).
|
||||
* If you're using Microsoft 365 (personally), you may also try sending (or sharing OneDrive files) to [:e-mail: ajhalili2006@outlook.ph](mailto:ajhalili2006@outlook.ph).
|
||||
For work-related file sharing, please use my `@crew.recaptime.eu.org` email address instead.
|
||||
|
||||
## Over at socials
|
||||
|
||||
For the full list, see [:simple-buffer: my Buffer start.page](https://ajhalili2006.start.page).
|
||||
You can obviously ping/tag me, but please be careful, especially when replying to others' posts.
|
||||
|
||||
If you want to slide into DMs, only slide via my main account and not any of my alternate accounts (although
|
||||
I may look into them but reply on my main).
|
||||
The following are my main accounts across the internet, in order of preference:
|
||||
|
||||
* :openweb-icons-fediverse: [@ajhalili2006@tilde.zone](https://tilde.zone/@ajhalili2006) or [@ajhalili2006@verified.coop](https://verified.coop/@ajhalili2006)
|
||||
* :material-twitter: [@ajhalili2006@twitter.com](https://twitter.com/@ajhalili2006) (or `@ajhalili2006@x.com` if you're pedantic)
|
||||
* :simple-tumblr: [@ajhalili2006@tumblr.com](https://tumblr.com/ajhalili2006) ([askbox](https://www.tumblr.com/new/ask/ajhalili2006))
|
||||
* :simple-linkedin: [@ajhalili2006@linkedin.com](https://linkedin.com/in/ajhalili2006)
|
||||
* :simple-messenger: [@ajhalili2006](https://m.me/ajhalili2006) [^1]
|
||||
|
||||
[^1]: Only used at school and for IRL friends and family members
|
|
@ -0,0 +1,30 @@
|
|||
# Contact Andrei Jiroh about anything else
|
||||
|
||||
[Go back to contact page](./index.md){ .md-button }
|
||||
|
||||
---
|
||||
|
||||
!!! info "Thanks for getting in touch! Before you write, here's a few things to remind before you go:"
|
||||
* Please [read my boundaries](../user-manual/boundaries.md), as well as [general communication policy](../user-manual/communications.md),
|
||||
[Do Not Interact list](../user-manual/dni.md) and [on neurodivergence and disability](../user-manual/neurodivergence-and-disability.md) before you scroll down.
|
||||
NOT following them will result in moderation actions, up to and including reporting as spam and blocks.
|
||||
* If you have a burning question, check other pages in the [main contact page](./index.md) or in the [FAQs](../faq.md).
|
||||
You may try also use your favorite search engine, forum, or even ask a real-life librarian for help since I can't do
|
||||
research for you.
|
||||
* Open source dev/maintainer needing a helping hand for your project? I'm up on [DevSecOps and Infra](../devops.md), [code reviews](../code-reviews.md),
|
||||
and [community moderation](../community-management.md), although if you're a company, [consider hiring me full-time](./work.md) for maintaining your OSS projects (not open-core or anything under non-OSI approved ones like the BUSL).
|
||||
|
||||
If your inquiry isn't answered anywhere in this site or not covered on the main contact page,
|
||||
I'm reachable at the following contact methods (also on [:simple-buffer: my Buffer start.page](https://ajhalili2006.start.page)):
|
||||
|
||||
* :mailbox: personally via [:e-mail: **ajhalili2006@andreijiroh.eu.org**](mailto:ajhalili2006@andreijiroh.eu.org) or via my
|
||||
Recap Time Squad staff address at [:e-mail: **ajhalili2006@crew.recaptime.eu.org**](mailto:ajhalili2006@crew.recaptime.eu.org)
|
||||
* :speech_balloon: over at Matrix at [:simple-matrix: @ajhalili2006 on ~environments](https://matrix.to/#/@ajhalili2006:envs.net)
|
||||
or on [:simple-zulip: our Zulip chat (or via DMs)](https://recaptime-dev.zulipchat.com/#streams/405458/ajhalili2006)
|
||||
* :information_source: If you want all the contact details, please see [this page](./details.md). Please don't use this to stalk or even spam me.
|
||||
|
||||
I do try to reply to messages if we can, but unfortunately workload and time limitations mean that it’s
|
||||
often not possible to send personal responses — I’m sorry about that. And since I do not read emails most
|
||||
of the time (apologies, my exective functioning issues cause me to scare my inbox a lot),
|
||||
please reach me out over at Matrix/Zulip first so I can dig over spam folders (contact VK Support
|
||||
or Google for help if you got the bounce mail for spam).
|
|
@ -0,0 +1,28 @@
|
|||
# Contact Andrei Jiroh
|
||||
|
||||
Helllo! **What would you like to talk about**?
|
||||
|
||||
!!! warning ""
|
||||
This page is being revamped similarly to [Tom Scott's contact page](https://www.tomscott.com/contact),
|
||||
so some links may be broken while being written.
|
||||
|
||||
This is also work-in-progress, so use **Anything else** link below and I'll look into it.
|
||||
|
||||
## Open-source work and Recap Time Squad
|
||||
|
||||
* [💻 Code reviews and pair programming](./code-reviews.md)
|
||||
* [⚙ DevSecOps and Infra](./devops.md)
|
||||
* [🛡 Security related](./security.md)
|
||||
* [💼 Hiring to your company / Contracting](work.md)
|
||||
|
||||
## Advertising and public relations
|
||||
|
||||
* [📦 Reviewing products](product-reviews.md)
|
||||
|
||||
## Collabs and business partnerships
|
||||
|
||||
Currently not available yet for that, but come back soon if I may changed my mind.
|
||||
|
||||
## Miscellaneous
|
||||
|
||||
* [🌍 Anything else](./else.md)
|
|
@ -0,0 +1,10 @@
|
|||
# Product Reviews
|
||||
|
||||
[Go back to contact page](./index.md){ .md-button }
|
||||
|
||||
---
|
||||
|
||||
_Adopted from [Tom Scott's contact page](https://tomscott.com/contact/reviews)_
|
||||
|
||||
I don't review products. Please do not ask me to review products. (If I do in the future, I
|
||||
may only review products I personally use.)
|
|
@ -0,0 +1,28 @@
|
|||
# Security related communications
|
||||
|
||||
[Go back to main contact page](./index.md){ .md-button }
|
||||
|
||||
---
|
||||
|
||||
Please consult [my general security policy](../security.md) and any project
|
||||
or org/project-specific policies (via its own `SECURITY.md` file) before proceeding here.
|
||||
Otherwise, you'll be ignored at best or blocked/muted and reported as spam at worst.
|
||||
|
||||
## Looking for PGP keys?
|
||||
|
||||
If you're looking for my PGP keys, please [visit this page](../keys/index.md).
|
||||
|
||||
## Submitting security patches
|
||||
|
||||
If you also want to submit a security patch, please DO NOT mention about the vunlerability
|
||||
within the patch.
|
||||
|
||||
### via email
|
||||
|
||||
Please send security patches at [`~ajhalili2006/security@lists.sr.ht`](mailto:~ajhalili2006/security@lists.sr.ht)
|
||||
instead of the public inbox if you using email.
|
||||
|
||||
## See also
|
||||
|
||||
* [Encrypted Communications](../user-manual/encrypted-communications.md) for additional guidance
|
||||
regarding using PGP and EE2E chat over Matrix
|
|
@ -1,3 +1,55 @@
|
|||
# Frequently Asked Questions
|
||||
|
||||
Working on it soon.
|
||||
_Last updated: 2023-10-TBD_
|
||||
|
||||
[Last updated]: https://mau.dev/andreijiroh.dev/website/-/commits/main/markdown/faq.md
|
||||
|
||||
!!! warning "This page is a working draft"
|
||||
I'll be compiling some more answers to frequently asked questions about me in the future. In the meanwhile, if your
|
||||
answer is not here, [let me know](./contact/index.md) or
|
||||
search the internet.
|
||||
|
||||
## Disability and neurodivergence
|
||||
|
||||
!!! note "Dive deeper"
|
||||
I may expect to get questions about autism in general, so I compile these resources ahead of time.
|
||||
|
||||
* **Personal user manual**: [Neurodivergence and Disability](./user-manual/neurodivergence-and-disability.md)
|
||||
* **Community resources**: [Public Neurodiversity Support Center (PNDSC)](https://coda.io/@mykola-bilokonsky/public-neurodiversity-support-center), plus resources at [Awesome Neurodiversity](https://linktr.ee/AwesomeND) list
|
||||
|
||||
_This section will be updated as soon as things are being ironed out behind the scenes._
|
||||
|
||||
## Personal
|
||||
|
||||
### Pronouns?
|
||||
|
||||
My pronouns are he/they, but I'm more than welcome to use gender-neutral pronouns instead.
|
||||
|
||||
### Can I send you a physical letter or gift?
|
||||
|
||||
For privacy reasons, I can't publish my home address for obvious privacy reasons, but
|
||||
I'll reconsider it in the future. If you still want to, options are:
|
||||
|
||||
* covering purchases on my wishlist on [Gift App](https://giftapp.com/ajhalili2006)
|
||||
|
||||
## All things free/libre and open-source
|
||||
|
||||
### Are you an open-source/free software absolutist?
|
||||
|
||||
Not necessary as hard as RMS, though I still have to do my own homework on its culture, among other things like self-hosting and defense in depth in terms of security and privacy.
|
||||
|
||||
The only problems here why I can't go full in would be the toxicity of the tech/open-source spaces and the same reason
|
||||
why you still need to use Windows solely at work (bless anyone setting their dev environments in Windows containers).
|
||||
|
||||
### Why haven't you reviewed my merge request or email patch?
|
||||
|
||||
By the way, please don't harass me over DMs like Duo for not reviewing your patch (although in case of emergency patches like seucrity-related ones,
|
||||
please be respectful).
|
||||
|
||||
## The Bloody Hell PH
|
||||
|
||||
### Do you plan to dig anyone's grave (past in this case) to get them cancelled to hell and back?
|
||||
|
||||
Wish I could say no thanks on doing a lot of OSINT, but Twitter's (now X) been a hot mess lately and
|
||||
while writing every single internet shitfuckery (not just people getting cancelled) costs more spoons than in school while masking hard. Sure, I may cover some of them,
|
||||
but there's a lot of stuff happening across the interwebs and I can't do the homework alone.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Home
|
||||
description: |
|
||||
Welcome to Andrei Jiroh's website! #ActuallyAutistic Filipino web dev,
|
||||
#ActuallyAutistic Filipino web dev,
|
||||
open-source maintainer, sometimes writer, always multifandom.
|
||||
---
|
||||
|
||||
|
@ -11,7 +11,7 @@ description: |
|
|||
|
||||
I'm Andrei Jiroh Halili, an future web dev from the Philippines, currently an high school student at day and self-assigned BDFL
|
||||
and lead open-source maintainer at [Recap Time Squad](https://recaptime.eu.org)[^1]
|
||||
and writer for my personal blog and The Bloody Hell PH,
|
||||
and writer for my personal blog and [The Bloody Hell PH](https://fromthebshq.carrd.co),
|
||||
sometimes I'm contributing to open-source projects.
|
||||
|
||||
It might be not obvious for most of you, but behind the scenes I'm neurodivegent,
|
||||
|
@ -20,6 +20,7 @@ not only for my mental health.
|
|||
|
||||
## Learn more about me
|
||||
|
||||
* [**FAQs about me**](./faq.md) - Read this before sending me emails.
|
||||
* [**Resume**](./user-manual/resume.md) and [**portfolio**](./portfolio/index.md) for those who want to hire me in the future
|
||||
* [**Personal user manual**](./user-manual/index.md) - Go deeper into the source and
|
||||
learn more about me than a good ol' profile README.
|
||||
|
@ -32,16 +33,22 @@ learn more about me than a good ol' profile README.
|
|||
!!! info "This list is nonexhaustive"
|
||||
Consider visiting [my "all-the-links" page](https://ajhalili2006.start.page) for the full list.
|
||||
|
||||
* **Code forges**: [![mau.dev](https://img.shields.io/badge/%40ajhalili2006%40mau.dev-6E49CB?&style=flat-square&logo=gitlab)](https://mau.dev/ajhalili2006)
|
||||
<!--
|
||||
|
||||
TODO(ajhalili2006): rework on this similarly to https://aphyr.com/about
|
||||
|
||||
-->
|
||||
|
||||
* **Code forges** for my open-source, sometimes working-in-public personal projects: [![mau.dev](https://img.shields.io/badge/%40ajhalili2006%40mau.dev-6E49CB?&style=flat-square&logo=gitlab)](https://mau.dev/ajhalili2006)
|
||||
[![sr.ht](https://img.shields.io/badge/sr.ht-~ajhalili2006-black?style=flat-square)](https://sr.ht/~ajhalili2006)
|
||||
[![GitLab SaaS](https://img.shields.io/badge/%40ajhalili2006%40gitlab.com-6E49CB?&style=flat-square&logo=gitlab)](https://gitlab.com/ajhalili2006)
|
||||
[![GitHub](https://img.shields.io/github/followers/ajhalili2006?label=%40ajhalili2006%40github.com&logo=github&style=flat-square)](https://github.com/ajhalili2006)
|
||||
[![codeberg](https://img.shields.io/badge/%40ajhalili2006%40codeberg.oeg-blue?style=flat-square&logo=codeberg&logoColor=white)](https://codeberg.org/ajhalili2006)
|
||||
[![tildegit](https://img.shields.io/badge/%40ajhalili2006%40tildegit.org-green?logo=gitea&logoColor=white)](https://tildegit.org/ajhalili2006)
|
||||
[![codeberg](https://img.shields.io/badge/%40ajhalili2006%40codeberg.org-blue?style=flat-square&logo=codeberg&logoColor=white)](https://codeberg.org/ajhalili2006)
|
||||
[![tildegit](https://img.shields.io/badge/%40ajhalili2006%40tildegit.org-green?logo=gitea&logoColor=white&style=flat-square)](https://tildegit.org/ajhalili2006)
|
||||
* **Twitter/X**: [![Twitter](https://img.shields.io/twitter/follow/ajhalili2006?color=blue&label=%40ajhalili2006%40twitter.com&logo=twitter&style=flat-square)](https://twitter.com/ajhalili2006)
|
||||
* **Reddit**: [![Reddit](https://img.shields.io/reddit/user-karma/combined/andreihalili?label=andreihalili&logo=reddit&style=flat-square)](https://reddit.com/user/andreihalili)
|
||||
* **Fediverse**: [![Mastodon Follow](https://img.shields.io/mastodon/follow/108807402634952369?color=blue&domain=https%3A%2F%2Ftilde.zone&label=%40ajhalili2006%40tilde.zone&logo=mastodon&style=flat-square)](https://tilde.zone/@ajhalili2006)
|
||||
[![Static Badge](https://img.shields.io/badge/%40JirohsMind%40the.usualsuspects.lol-blue?style=flat-square&logo=fediverse)](https://the.usualsuspects.lol/@JirohsMind)
|
||||
* **Fediverse**: [![Main on tildeverse](https://img.shields.io/mastodon/follow/108807402634952369?color=blue&domain=https%3A%2F%2Ftilde.zone&label=%40ajhalili2006%40tilde.zone&logo=mastodon&style=flat-square)](https://tilde.zone/@ajhalili2006)
|
||||
[![Alt account](https://img.shields.io/badge/%40JirohsMind%40the.usualsuspects.lol-blue?style=flat-square&logo=fediverse)](https://the.usualsuspects.lol/@JirohsMind)
|
||||
* **Substack**: [![Substack](https://img.shields.io/badge/%40ajhalili2006%20on%20substack-FF6719?style=flat-square&logo=substack&logoColor=white)](https://substack.com/@ajhalili2006)
|
||||
* **Chat**: [![Matrix](https://img.shields.io/badge/%40ajhalili2006:envs.net-black?&style=flat-square&logo=matrix&logoColor=white)](https://matrix.to/#/@ajhalili2006:envs.net)
|
||||
[![chat with ~ajhalili2006 on Recap Time Squad's Zulip server](https://img.shields.io/badge/zulip%20chat-%23ajhalili2006%3Arecaptime--dev.zulipchat.com-blue?style=flat-square&logo=zulip)](https://recaptime-dev.zulipchat.com/#narrow/stream/405458-ajhalili2006)
|
||||
|
@ -55,7 +62,8 @@ learn more about me than a good ol' profile README.
|
|||
|
||||
* [`storj://ajhalili2006-files/archive`](https://static.rtdevcdn.net.eu.org/ajhalili2006/) - usually screenshots and personal snippet hosting stuff
|
||||
* [**Digital garden**](https://anagora.org/@ajhalili2006) - usually written with Obsidian.md app or Foam VS Code extension
|
||||
* [**Gemini version of site**](gemini://gemini.andreijiroh.eu.org) ([view via proxy](https://gp.p.psf.lt/gemini/gemini.andreijiroh.eu.org)) - plaintext edition of website
|
||||
* [**Jiroh's Kooky Insane Stuff**](https://kookyinsanestuff.andreijiroh.eu.org) - More unhinged version of my digital garden, based on Nori's Kooky Insane Stuff in Murder Drones.
|
||||
* [**Gemini version of site**](gemini://gemini.andreijiroh.eu.org) ([view via proxy](https://gp.p.psf.lt/gemini/gemini.andreijiroh.eu.org)) - plaintext edition of website, hosted on [sourcehut pages](https://gp.p.psf.lt/gemini/srht.site)
|
||||
|
||||
[^1]: Not an company, as mentioned in my GitHub and GitLab profiles
|
||||
[^2]: There are many great resources from the autistic community (and also the wider neurodiversity and disability rights community), especially from [Neuroclastic](https://neuroclastic.com/autism-101-resources-from-the-autistic-community/), if you want to be an ally or simply want to help make inclusivity across intersections mainstream.
|
||||
|
|
|
@ -5,23 +5,15 @@ This page contains all the cryptographic public keys I use for different purpose
|
|||
encryption and decryption to signing Git commits and even identity verification without requiring
|
||||
an government-issued ID.
|
||||
|
||||
## Key-signing ceremories
|
||||
## Keysigning ceremories
|
||||
|
||||
If you would like to build your web of trust with me (and probably with your friends), let me know
|
||||
(via [my meeting booking form](https://calendar.app.google/P8dvgAsvrtqi8mPR9) ([alternative link](https://coda.io/form/Schedule-a-meeting-with-ajhalili2006_deaLq2my-OX)),
|
||||
or via regular chat venues).
|
||||
Due to my current schedule as a high school student, I'm only accept asynchorous key-signing ceremories
|
||||
for the moment.
|
||||
|
||||
For asynchorous ceremories, I recommend doing it publicly through [this repo](https://go.recaptime.eu.org/keysigning-ceremory)
|
||||
and [`#keysigning-ceremories.recaptime.dev:envs.net`](https://matrix.to/#/#keysigning-ceremories.recaptime.dev:envs.net). In case
|
||||
of in-person ceremories, taking a picture with yours truly (with your own list of PGP fingerprints on a piece of paper) is enough.
|
||||
_This is moved to [Encrypted communications](../user-manual/encrypted-communications.md#key-signing-ceremories)._
|
||||
|
||||
## GPG Keys
|
||||
|
||||
You can get all the GPG keys I use publicly, including the 2021 key (as shown on Keybase) and
|
||||
ProtonMail-specific encryption key in one file [here](./pgp.asc). Make sure to check the fingerpints
|
||||
and/or key IDs against [this list]($keys-i-use) to ensure its the right key.
|
||||
and/or key IDs against [this list](#keys-i-use) to ensure its the right key.
|
||||
|
||||
```bash
|
||||
# one-liner import from my website (or via ajhalili2006.vern.cc and ctrl-c.club/~ajhalili2006)
|
||||
|
@ -50,7 +42,9 @@ gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys \
|
|||
(primary email: `ajhalili2006@gmail.com`)
|
||||
* `0527234A430387EA5695D824A30EBE40AD856D88` - the Feburary 2021 PGP key, as shown on my Keybase profile
|
||||
(primary email: `andreijiroheugeniohalili24680@gmail.com`)
|
||||
* `EA957E7086E934F8DB9CAD21940047813E9D641C` - spare signing key for software release, especially on my own Debian package repos/Launchpad PPAs.
|
||||
* `A715100E58CF60500EE159652F384539C700B263` - Recap Time Squad specific key
|
||||
* `EA957E7086E934F8DB9CAD21940047813E9D641C` - spare signing key for software release, especially on my own
|
||||
Debian package repos/Launchpad PPAs.
|
||||
* `5D69E717C5BC95731C2AD8BD120C218ED2291996` - ProtonMail specific encryption key (`ajhalili2006@proton.me`)
|
||||
|
||||
## SSH Keys
|
||||
|
|
|
@ -4,18 +4,22 @@ title: Portfolio
|
|||
|
||||
!!! info "Looking for the chronological version of this?"
|
||||
|
||||
*Last updated: 2023-03-21* ([Looking for my resume?](./user-manual/resume.md))
|
||||
*Last updated: 2023-10-01* ([Looking for my resume?](../user-manual/resume.md))
|
||||
|
||||
## work
|
||||
|
||||
* [**Recap Time Squad**](https://recaptime.eu.org), *since 2018 as The Pins Team (although started way earlier than that)* - not (officially) an company where I host most of my projects, especially:
|
||||
* [Community Radar (also known as `radar.community`)](https://communityradar.substack.com), our official newsletter although also inactive due to
|
||||
* [**Recap Time Squad**](https://recaptime.eu.org), *since 2018 as The Pins Team (although started way earlier than that)* - not (officially)
|
||||
an company[^1] where I host most of my open-source projects, especially:
|
||||
* [Community Radar (also known as `radar.community`)](https://communityradar.substack.com), our official newsletter
|
||||
although also inactive due to
|
||||
* [Community Lores (also known as `lorebooks.wiki`)](https://lorebooks.eu.org), the documentation arc of the org, mostly hosts documentation projects and stuff
|
||||
* and various projects I could list here but it might be long
|
||||
* [**The Bloody Hell PH**](https://fromthebshq.substack.com), *since 2022 as
|
||||
[`@shitfuckery-at-bullshit-dot-hq@tumblr.com`](https://tumblr.com/shitfuckery-at-bullshit-dot-hq)* - talking about politics a la TheJuiceMedia's Honest Government Ads, multifandom discussions, and then random musings and ramblings
|
||||
* [**~ajhalili2006's blog**](https://ajhalili2006.substack.com), formerly on [WordPress.com](https://ajhalili2006.wordpress.com) - life updates and personal stuff
|
||||
|
||||
[^1]: See <https://mau.dev/recaptime-dev/squad/issue-tracker/-/issues/9> for details.
|
||||
|
||||
## community
|
||||
|
||||
* honorable mention in Gitpod's [credits to security researchers](https://www.gitpod.io/security/thanks) page per [`gh:gitpod-io/workspace-images#540`](https://github.com/gitpod-io/workspace-images/pull/540)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# ~ajhalili2006's projects
|
||||
|
||||
!!! warning "Coming soon"
|
||||
I'm currently drafting this sometime in the future, but in meanwhile see my [nowpage](/now).
|
||||
I'm currently drafting this sometime in the future, but in meanwhile see my [nowpage](../now.md).
|
||||
|
|
|
@ -49,7 +49,7 @@ In participating in our vulnerability disclosure program in good faith, we ask t
|
|||
|
||||
## Official Channels
|
||||
|
||||
Please report security issues via `security@andreijiroh.eu.org` or <https://andreijiroh.eu.org/contact/security>, providing all relevant information. The more details you provide, the easier it will be for us to triage and fix the issue.
|
||||
Please report security issues via `ajhalili2006@andreijiroh.eu.org` or <https://andreijiroh.eu.org/contact/security>, providing all relevant information. The more details you provide, the easier it will be for us to triage and fix the issue.
|
||||
|
||||
## Safe Harbor
|
||||
|
||||
|
|
|
@ -1,28 +1,34 @@
|
|||
# Communications
|
||||
|
||||
!!! info "Visit the Coda version of this page for up-to-date content"
|
||||
[:octicons-link-external-16: Open in Coda](https://coda.io/@ajhalili2006/readme/personal-and-professional-boundaries-9){ .md-button }
|
||||
[:octicons-report-16: Report inconsistencies between versions](https://go.andreijiroh.eu.org/website-feedback/coda){ .md-button }
|
||||
This page contains documentation on how to communicate with people in the neurodiversity and the wider disability communities in mind and also on gender neutral communication.
|
||||
|
||||
---
|
||||
|
||||
!!! info
|
||||
This page contains documentation on how to communicate with people in the neurodiversity and the wider disability communities in mind and also on gender neutral communication.
|
||||
|
||||
Suggestions and feedback to improve this content are welcome and encouraged. Note that these docs might be not applicable to your case if you’re considering writing your own personal user manual and I don’t speak for anyone else.
|
||||
Suggestions and feedback to improve this content are welcome and encouraged.
|
||||
Note that these docs might be not applicable to your case if you’re considering writing your own
|
||||
personal user manual and I don’t speak for anyone else.
|
||||
|
||||
## TL;DR
|
||||
|
||||
1. [Don’t be a dick](https://www.psychologytoday.com/us/blog/the-author-speaks/201909/don-t-be-dick) (aka violent, discriminatory, disrespectful or even disturbing in any way).
|
||||
> Some of them were copied from <https://t.me/ajhalili2006_bio/4> in part for when sliding into DMs.
|
||||
|
||||
1. [Don’t be a dick](https://www.psychologytoday.com/us/blog/the-author-speaks/201909/don-t-be-dick) (aka violent, discriminatory, disrespectful or even disturbing in any way).[^1]
|
||||
2. Respect my preferred pronouns and avoid PFL (person-first language) in most cases.
|
||||
3. Don’t @ me during downtime, sleep and day-offs. In case of emergencies, call me over my personal phone number that I provided or through TBD.
|
||||
3. Don’t @ me during downtime, sleep and day-offs. In case of emergencies, call me over my personal phone number that I provided or through provided contact methods.
|
||||
For sensitive manners (like reporting security related issues), use Keybase, Session or Matrix (make sure to enable EE2E when initiating an one-to-one chat with me). If you want to connect through Session, I’ll provide my public ID when needed.
|
||||
4. No crypto nonsense (even I use mirror.xyz and some other dapps), self promo hellscape, doxxing, death/swatting threats or calls to violence towards me or anybody.
|
||||
5. Don’t dare even send me NSFW/CACP.
|
||||
6. Future employers and recruiters: Please contact via email or LinkedIn only.
|
||||
7. I WILL NOT RESPOND FROM ANYBODY ON FACEBOOK MESSENGER. This applies to both my main and alternative personal profiles,
|
||||
unless you're either know me IRL or for official business at school and work and your org policies does only allow
|
||||
communications on Facebook Messenger/WhatsApp.
|
||||
|
||||
[^1]: Explainer from admins and mods at `hachyderm.io`: <https://community.hachyderm.io/docs/rule-explainer/#dont-be-a-dick>
|
||||
|
||||
## Pronouns and Language
|
||||
|
||||
My pronouns is `he/they` (technically `he/him/they/them` for long version), although `they/them` is much preferred even if I chose to be identified to my gender at birth.
|
||||
|
||||
In terms of discussing about things relating to neurodiversity and disability, I prefer identity first
|
||||
, especially when discussing about my disability and things like neurodiversity, since I mostly frame ableism and other issues related to these under both social and human rights models of disability.
|
||||
In terms of discussing about things relating to neurodiversity and disability, I prefer identity first, especially when discussing about my disability and things like neurodiversity,
|
||||
since I mostly frame ableism and other issues related to these under both social and human rights models of disability.
|
||||
You might check the [note on disabled and disability](https://www.thesaurus.com/e/writing/person-first-vs-identity-first-language/#note-on-disabled-and-disability) at thesaurus.com,
|
||||
especially when discussing accessibility across the community. I don’t usually gatekeep language relating to disability, although I might do when discrimination and bullying happens or when clarification is needed.
|
||||
|
||||
|
@ -51,7 +57,9 @@ Generally, I’m not a fan of sync meetings, especially if iot is scheduled outs
|
|||
|
||||
* Work-related stuff should be discussed in Recap Time Squad’s chatrooms (either public or staff-only, although anything confidential/internal should be stay in staff-only chat).
|
||||
* Ping me when only needed. Also, DO NOT ping @everyone.
|
||||
* I don't usually read email, but if you sent me some important emails (via my `@crew.recaptime.eu.org` )
|
||||
* I don't usually read email, but if you sent me some important emails
|
||||
(via my `@crew.recaptime.eu.org` or personal addresses),
|
||||
please proactively reach me out via other contact methods.
|
||||
|
||||
## Additional resources
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
# Encrypted communications
|
||||
|
||||
## Key-signing ceremories
|
||||
|
||||
If you would like to build your web of trust with me (and probably with your friends), let me know
|
||||
(via [my meeting booking form](https://calendar.app.google/P8dvgAsvrtqi8mPR9) ([alternative link](https://coda.io/form/Schedule-a-meeting-with-ajhalili2006_deaLq2my-OX)),
|
||||
or via regular chat venues).
|
||||
Due to my current schedule as a high school student, I'm only accept asynchorous key-signing ceremories
|
||||
for the moment.
|
||||
|
||||
For asynchorous ceremories, I recommend doing it publicly through [this repo](https://go.recaptime.eu.org/keysigning-ceremory)
|
||||
and [`#keysigning-ceremories.recaptime.dev:envs.net`](https://matrix.to/#/#keysigning-ceremories.recaptime.dev:envs.net). In case
|
||||
of in-person ceremories, taking a picture with yours truly (with your own list of PGP fingerprints on a piece of paper) is enough.
|
|
@ -3,7 +3,7 @@
|
|||
This page contains the link to my resume for future employers and those who are
|
||||
curious on what kind of work I'm doing in the past and present and then some notes from yours truly on how to use them.
|
||||
|
||||
[*(Looking for my portfolio? Hop in here.)*](../portfolio.md)
|
||||
[*(Looking for my portfolio? Hop in here.)*](../portfolio/index.md)
|
||||
|
||||
## The basics
|
||||
|
||||
|
@ -12,4 +12,4 @@ me on [LinkedIn](https://linkedin.com/in/ajhalili2006) if you do.
|
|||
|
||||
## Need customized ones?
|
||||
|
||||
[Contact ~ajhalili2006](../contact.md) over chat or email, especially if you need his phone number and home address.
|
||||
[Contact ~ajhalili2006](../contact/index.md) over chat or email, especially if you need his phone number and home address.
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
INHERIT: mkdocs.yml
|
||||
site_name: ~ajhalili2006 on tildeverse
|
||||
site_url: !ENV [TILDE_PUBLIC_HTML_BASE, "https://ctrl-c.club/~ajhalili2006/"]
|
||||
docs_dir: markdown
|
||||
site_dir: public_html
|
||||
extra:
|
||||
deployment: tilde # for the announcement banner
|
27
mkdocs.yml
|
@ -19,27 +19,34 @@ repo_name: source code
|
|||
|
||||
# navbar
|
||||
nav:
|
||||
- Main Hub:
|
||||
- Home:
|
||||
- index.md
|
||||
- nowpage: now.md
|
||||
- Contact: contact.md
|
||||
- Contact: contact/index.md
|
||||
- PGP and SSH keys: keys/index.md
|
||||
- "All my links": "https://ajhalili2006.start.page"
|
||||
- Legal:
|
||||
- Security policy: security.md
|
||||
- Personal user manual:
|
||||
- Manual Homepage: user-manual/index.md
|
||||
- Resume: user-manual/resume.md
|
||||
- Personals:
|
||||
- FAQs about me: faq.md
|
||||
- Flaws and Quirks: user-manual/flaws-and-quirks.md
|
||||
- Neurodivergence and Disability: user-manual/neurodivergence-and-disability.md
|
||||
- Community:
|
||||
- DNI List: user-manual/dni.md
|
||||
- Boundaries: user-manual/boundaries.md
|
||||
- Neurodivergence and Disability: user-manual/neurodivergence-and-disability.md
|
||||
- Communications: user-manual/communications.md
|
||||
- Do Not Interact List: user-manual/dni.md
|
||||
- Encrypted communications and keys: keys/index.md
|
||||
- Social Media Policy: user-manual/socials.md
|
||||
- On Roleplaying: user-manual/roleplaying-hellscape.md
|
||||
- Communications:
|
||||
- General Communications Policy: user-manual/communications.md
|
||||
- Encrypted communications: user-manual/encrypted-communications.md
|
||||
- Portfolio:
|
||||
- portfolio/index.md
|
||||
- Projects: portfolio/projects.md
|
||||
- Communities: portfolio/communities.md
|
||||
- Tildes: portfolio/tildes.md
|
||||
- Resume: user-manual/resume.md
|
||||
- Blog: "https://blog.andreijiroh.eu.org" # todo: point to substack
|
||||
|
||||
# theme settings
|
||||
|
@ -121,10 +128,11 @@ plugins:
|
|||
"communities.md": "portfolio/communities.md"
|
||||
"tildes.md": "portfolio/tildes.md"
|
||||
"projects.md": "portfolio/projects.md"
|
||||
#"contact.md": "contact/index.md"
|
||||
# debugging/bug reporting purposes only, proceed with caution
|
||||
#- info
|
||||
- git-revision-date-localized:
|
||||
enabled: !ENV [FF_ENABLE_COMMIT_DATA, false]
|
||||
enabled: true
|
||||
fallback_to_build_date: true
|
||||
enable_creation_date: true
|
||||
# TODO: Get Insiders for contributors and authors
|
||||
|
@ -144,6 +152,9 @@ markdown_extensions:
|
|||
- pymdownx.emoji:
|
||||
emoji_index: !!python/name:materialx.emoji.twemoji
|
||||
emoji_generator: !!python/name:materialx.emoji.to_svg
|
||||
options:
|
||||
custom_icons:
|
||||
- overrides/.icons
|
||||
- footnotes
|
||||
- md_in_html
|
||||
- admonition
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 0 1034 1024">
|
||||
<path fill="currentColor"
|
||||
d="M499 228q-165 0 -281 116q-118 120 -118 284t118.5 282t280.5 118q165 0 287 -119q114 -112 114 -280.5t-116 -284.5t-285 -116zM501 300q135 0 231 96t96 232q0 139 -94 229q-100 98 -234 98t-231 -97t-97 -229.5t98 -232.5q94 -96 231 -96zM500 370q-56 0 -56 56t56 56
|
||||
t56 -56t-56 -56zM418 503q-11 0 -18.5 7.5t-7.5 18.5v163h46v195h124v-195h46v-163q0 -11 -8 -18.5t-18 -7.5h-164z" />
|
||||
</svg>
|
After Width: | Height: | Size: 666 B |
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 0 1034 1024">
|
||||
<path fill="currentColor"
|
||||
d="M499 228q-165 0 -281 117q-118 120 -118 284t118.5 281.5t280.5 117.5q166 0 287 -118q114 -114 114 -281.5t-116.5 -284t-284.5 -116.5zM501 300q136 0 231 97q96 94 96 231.5t-94 229.5q-100 97 -234 97t-231 -96.5t-97 -229.5t98 -232q94 -97 231 -96v-1zM498 418
|
||||
q-69 0 -116.5 40t-59.5 114h-31l79 79l79 -79h-29q10 -71 90 -71q44 0 67.5 33.5t23.5 96.5q0 61 -25.5 97.5t-67.5 36.5q-84 0 -88 -73h-101q10 75 59.5 115.5t117.5 40.5q92 0 150 -61t58 -153q0 -95 -56 -155.5t-150 -60.5z" />
|
||||
</svg>
|
After Width: | Height: | Size: 764 B |
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 0 1034 1024">
|
||||
<path fill="currentColor"
|
||||
d="M499 226q-166 0 -280 117q-58 58 -88.5 131t-30.5 152.5t30 152t87.5 130t130 87.5t152 30t153.5 -30.5t133 -88.5q56 -55 85 -127t29 -153.5t-29.5 -154t-85.5 -128.5q-118 -118 -286 -118zM501 299q135 0 232 96q46 47 70.5 106t24.5 125q0 138 -94 230
|
||||
q-48 47 -108.5 72t-125 25t-124 -24.5t-106.5 -71.5t-72.5 -106.5t-25.5 -124.5t25.5 -124.5t72.5 -107.5q94 -95 231 -95zM389 502q-50 0 -83.5 33.5t-33.5 91.5t33 91t86 33q34 0 62 -17t43 -46l-49 -25q-14 34 -49 34q-27 0 -40.5 -19t-13.5 -52q0 -70 54 -70
|
||||
q11 0 23.5 7t20.5 25l54 -28q-32 -58 -107 -58zM621 502q-51 0 -84 33.5t-33 91.5t32.5 91t86.5 33q33 0 60.5 -17t44.5 -46l-50 -25q-14 34 -49 34q-27 0 -40.5 -19t-13.5 -52q0 -70 54 -70q11 0 23.5 7t21.5 25l52 -28q-31 -58 -105 -58z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1009 B |
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 0 1034 1024">
|
||||
<path fill="currentColor"
|
||||
d="M455 226q-22 0 -40 8q-26 10 -40 32.5t-15 53.5q-1 52 36 107l1 1q-22 -46 -13 -85t45 -54q27 -10 62 -2.5t68.5 31.5t56.5 58q27 40 30.5 79.5t-16.5 64.5q25 -16 34.5 -46t1.5 -66.5t-33 -73.5q-33 -49 -82.5 -78.5t-95.5 -29.5zM505 368q-19 0 -35 12t-22 31.5t1 38.5
|
||||
l-104 76q7 6 12 13t8 15l104 -76q16 13 36.5 13t37.5 -12q21 -15 25 -40t-11 -46q-9 -12 -22 -18.5t-27 -6.5h-3zM820 381q-23 0 -47 12q-47 24 -78 83q30 -41 68.5 -51t68.5 15q22 19 31.5 53.5t4 75t-24.5 77.5q-14 25 -32 44l1 2q10 8 18 19q34 -25 57 -68.5t29.5 -90.5
|
||||
t-4.5 -87.5t-37 -62.5q-24 -21 -55 -21zM298 416q-49 0 -100 32q-42 25 -71 62.5t-40 77.5t0 73q9 26 31 41.5t52 17.5q53 3 109 -31l1 -1q-47 20 -85.5 9.5t-51.5 -47.5q-9 -28 0 -62.5t34.5 -67t60.5 -53.5q42 -25 81.5 -27t63.5 19q-12 -20 -33 -31t-49 -12h-3zM525 512
|
||||
q-17 4 -34 0v87q-10 3 -19 9q-21 15 -25 40t11 46q12 17 31.5 23t38.5 -1l67 92q-8 9 -11 21l-1 4l-1 15l2 16q3 9 9 18q15 20 40.5 24t46 -11t24.5 -40t-11 -46q-9 -12 -21.5 -18.5t-27.5 -6.5q-11 0 -21 3l-67 -91q13 -16 13.5 -36.5t-12 -37.5t-32.5 -23v-87zM725 526
|
||||
q-19 1 -35 12q-12 9 -19 22.5t-6 28.5l-84 27q9 16 11 33l52 -17l32 -8q15 21 40.5 25t46 -11t24.5 -40.5t-11 -45.5q-9 -12 -21.5 -19t-27.5 -7h-2zM287 527q-19 1 -35 12q-21 15 -25 40t11 46t40.5 25t46 -11t24.5 -40t-11 -46q-9 -12 -22 -18.5t-27 -7.5h-2zM728 689
|
||||
q-7 1 -15 1q-52 7 -101 52v0q42 -28 82 -25t59 37q15 26 12 61.5t-21.5 72t-49.5 64.5q-36 32 -74.5 41t-66.5 -7q20 23 50.5 28t66 -8.5t68.5 -42.5q35 -33 57 -75t25.5 -83.5t-14.5 -71.5q-12 -22 -32.5 -33t-45.5 -11zM445 715l-38 54q16 7 28 20l39 -54q-17 -7 -29 -20z
|
||||
M266 734h-5q-10 1 -19 2q-30 5 -50.5 22.5t-27.5 44.5q-7 34 7.5 72.5t47.5 73t77 55.5q39 19 76.5 21.5t66 -11t40.5 -40.5q-22 24 -61.5 26t-83.5 -19q-37 -18 -65.5 -47.5t-41 -63t-5.5 -62.5q8 -37 45.5 -51.5t86.5 0.5l-1 -1q-45 -21 -87 -22zM371 785q-19 0 -34 11
|
||||
q-21 15 -25 40.5t11 46t40 24.5t46 -11q17 -12 23 -32h129l-2 -22q0 -6 1 -13h-128q-3 -10 -9 -19l-10 -10l-20 -12q-10 -3 -19 -3h-3z" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 0 1034 1024">
|
||||
<path fill="currentColor"
|
||||
d="M539 176q-32 0 -55 22t-25 55t20.5 58t56 27t58.5 -20.5t27 -56t-20.5 -59t-56.5 -26.5h-5zM452 271l-232 118q20 20 25 48l231 -118q-19 -20 -24 -48zM619 298q-13 25 -38 38l183 184q13 -25 39 -38zM477 320l-135 265l40 40l143 -280q-28 -5 -48 -25zM581 336
|
||||
q-22 11 -46 10l-8 -1l21 132l56 9zM155 370q-32 0 -55 22.5t-25 55t20.5 58t56.5 27t59 -21t26.5 -56t-21 -58.5t-55.5 -27h-6zM245 438q1 9 1 18q-1 19 -10 35l132 21l26 -50zM470 474l-26 51l311 49q-1 -8 -1 -17q1 -19 10 -36zM842 480q-32 1 -55 23t-24.5 55t21 58
|
||||
t56 27t58.5 -20.5t27 -56.5t-20.5 -59t-56.5 -27h-6zM236 493q-13 25 -39 38l210 210l51 -25zM196 531q-21 11 -44 10l-9 -1l40 256q21 -10 45 -9l8 1zM560 553l48 311q21 -10 44 -9l10 1l-46 -294zM755 576l-118 60l8 56l135 -68q-20 -20 -25 -48zM781 625l-119 231
|
||||
q28 5 48 25l119 -231q-28 -5 -48 -25zM306 654l-68 134q28 5 48 25l60 -119zM568 671l-281 143q19 20 24 48l265 -135zM513 771l-51 25l106 107q13 -25 39 -38zM222 795q-32 0 -55.5 22.5t-25 55t21 57.5t56 27t58.5 -20.5t27 -56t-20.5 -58.5t-56.5 -27h-5zM311 863
|
||||
q2 9 1 18q-1 19 -9 35l256 41q-1 -9 -1 -18q1 -18 10 -35zM646 863q-32 0 -55 22.5t-24.5 55t20.5 58t56 27t59 -21t27 -56t-20.5 -58.5t-56.5 -27h-6z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-28 0 1056 1024">
|
||||
<path fill="currentColor"
|
||||
d="M500 177l-518 301h145v549h746v-549h145zM624 421q30 0 58 11t49 32.5t32.5 49t11.5 57.5q0 41 -20.5 75.5t-55 54.5t-75.5 20q-8 0 -17 -1l-17 79q23 9 36.5 28.5t13.5 43.5q0 33 -23 55.5t-55 22.5t-55 -22.5t-23 -55.5q0 -16 7 -31l-88 -57q-15 17 -35.5 27t-43.5 10
|
||||
q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5q26 0 49 13t38 35l73 -36q-10 -26 -10 -53q0 -30 11.5 -57.5t32.5 -49t48.5 -32.5t57.5 -11zM495 648l-73 35q5 16 5 33q0 24 -10 45l88 58q23 -25 57 -25h3l16 -79q-27 -8 -49 -25.5t-37 -41.5z" />
|
||||
</svg>
|
After Width: | Height: | Size: 790 B |
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 0 1034 1024">
|
||||
<path fill="currentColor"
|
||||
d="M499 112q-93 1 -166 11q-81 11 -128 33l-14 8q-16 10 -32 25q-22 21 -38 47q-21 33 -32 73q-14 47 -14 103v37q0 77 1 119q3 113 18 188q19 95 62 154q50 67 134 89q109 29 210 24q46 -3 88 -12q30 -7 55 -17l19 -8l-4 -75l-22 6q-28 6 -57 10q-41 6 -78 4q-53 -1 -80 -7
|
||||
q-43 -8 -67 -30q-29 -25 -35 -72q-2 -14 -2 -29l25 6q31 6 65 10q48 7 93 9q42 2 92 -2q32 -2 88 -9t107 -30q49 -23 81.5 -54.5t38.5 -63.5q9 -45 13 -109q4 -46 5 -97v-41q0 -56 -14 -103q-11 -40 -32 -73q-16 -26 -38 -47q-15 -15 -32 -25q-12 -8 -14 -8
|
||||
q-46 -22 -127 -33q-74 -10 -166 -11h-3zM367 267q73 0 109 56l24 39l24 -39q36 -56 109 -56q63 0 101 43t38 117v239h-95v-232q0 -74 -61 -74q-69 0 -69 88v127h-94v-127q0 -88 -69 -88q-61 0 -61 74v232h-95v-239q0 -74 38 -117t101 -43z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1018 B |
|
@ -7,10 +7,24 @@
|
|||
{% extends "main.html" %}
|
||||
{% block content %}
|
||||
<h1>404 - Not found</h1>
|
||||
<p>Either the URL has been moved without redirects, taken down for any reasons, or it doesn't exist (yet).</p>
|
||||
<p>
|
||||
Either the URL has been moved without redirects, taken down for any reasons, or it doesn't exist (yet).
|
||||
</p>
|
||||
<p>
|
||||
If this is not intended to happen, please report this as a bug in the webiste's issue tracker. Otherwise, you can press back
|
||||
on your browser or go back to homepage.
|
||||
</p>
|
||||
<a class="md-button" href="https://mau.dev/andreijiroh.dev/website/-/issues/new/?issue[title]=Broken link in <URL>">Report this broken link</a>
|
||||
<a class="md-button" href="/">Go back home</a>
|
||||
<h2>Troubleshooting tips</h2>
|
||||
<p>Try checking the URL for any misspellings or improper use of dashes, underscores and periods.</p>
|
||||
<p>If you're working in this site and you hit an URL configured for redirects (at Cloudflare Pages or similiar), try <a href="https://pypi.org/project/mkdocs-redirects/">configuring redirects in the Mkdocs config first</a>.</p>
|
||||
<p>Depending on the site version you're viewing, you may need to switch between <a href="https://andreijiroh.eu.org">production</a>
|
||||
and <a href="https://staging.andreijiroh.eu.org">staging</a> versions of the website.</p>
|
||||
<p>
|
||||
If you're working in this site and you hit an URL configured for redirects (at Cloudflare Pages or similiar),
|
||||
try <a href="https://pypi.org/project/mkdocs-redirects/">configuring redirects in the Mkdocs config first</a>.
|
||||
</p>
|
||||
<p>
|
||||
Depending on the site version you're viewing, you may need to switch between <a href="https://andreijiroh.eu.org">production</a>
|
||||
and <a href="https://staging.andreijiroh.eu.org">staging</a> versions of the website. (The tilde versions of the site may be
|
||||
may lag behind Cloudflare Pages deploys.)
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"version":3,"sources":["src/overrides/assets/stylesheets/custom/_typeset.scss","../../../../src/overrides/assets/stylesheets/custom.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/custom/layout/_banner.scss","src/overrides/assets/stylesheets/custom/layout/_hero.scss","src/overrides/assets/stylesheets/custom/layout/_iconsearch.scss","src/overrides/assets/stylesheets/custom/layout/_sponsorship.scss"],"names":[],"mappings":"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","file":"custom.css"}
|
||||
{"version":3,"sources":["src/overrides/assets/stylesheets/custom/_typeset.scss","../../../../src/overrides/assets/stylesheets/custom.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/custom/layout/_banner.scss","src/overrides/assets/stylesheets/custom/layout/_hero.scss","src/overrides/assets/stylesheets/custom/layout/_iconsearch.scss","src/overrides/assets/stylesheets/custom/layout/_sponsorship.scss"],"names":[],"mappings":"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","file":"custom.css"}
|
|
@ -7,26 +7,32 @@ SPDX-License-Identifier: MIT
|
|||
{% extends "base.html" %}
|
||||
{% block extrahead %}
|
||||
<link rel="stylesheet" href="{{ 'assets/stylesheets/mkdocs-material-styling.css' | url }}">
|
||||
<script src="https://hypothes.is/embed.js" async></script>
|
||||
{% endblock %}
|
||||
<!-- Staging build -->
|
||||
{% block announce %}
|
||||
{% if config.extra.deployment == "staging" %}
|
||||
You're previewig the staging build of @ajhalili2006's website on <a href="https://readthedocs.org">RTD Community</a>. <strong><a href="https://andreijiroh.eu.org">Go back to production</a></strong>
|
||||
{% else %}
|
||||
For updates follow <strong>@ajhalili2006</strong> on
|
||||
<a rel="me" href="https://tilde.zone/@ajhalili2006">
|
||||
For updates follow <strong>@ajhalili2006</strong> on
|
||||
<a rel="me" href="https://tilde.zone/@ajhalili2006">
|
||||
<span class="twemoji mastodon">
|
||||
{% include ".icons/fontawesome/brands/mastodon.svg" %}
|
||||
</span>
|
||||
<strong>the tildeverse</strong>
|
||||
</a>
|
||||
and
|
||||
<a href="https://substack.com/@ajhalili2006">
|
||||
<strong>the tildeverse</strong>
|
||||
</a>
|
||||
and
|
||||
<a href="https://substack.com/@ajhalili2006">
|
||||
<span class="twemoji substack">
|
||||
{% include ".icons/simple/substack.svg" %}
|
||||
</span>
|
||||
<strong>Substack</strong>
|
||||
</a>
|
||||
{% endif %}
|
||||
</a>
|
||||
{% endblock %}
|
||||
{% block container %}
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
{% block content %}
|
||||
{% include "partials/content.html" %}
|
||||
{% endblock %}
|
||||
</article>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
{% if config.extra.deployment %}
|
||||
<div class="admonition info">
|
||||
{% if config.extra.deployment == "staging" %}
|
||||
<p class="admonition-title">
|
||||
You're previewing the staging build of @ajhalili2006's website on <a href="https://readthedocs.org/projects/ajhalili2006/builds">RTD Community</a>.
|
||||
</p>
|
||||
<p>
|
||||
Deploys might be a bit faster there, but it may contain content not yet ready for production deployment or
|
||||
we might skipped GitLab CI for the latest commit.
|
||||
</p>
|
||||
{% elif config.extra.deployment == "tilde" %}
|
||||
<p class="admonition-title">You're viewing ~ajhalili2006's website from the tildeverse.</p>
|
||||
<p>
|
||||
This site build's content might be outdated due to failing CI, delayed synchorizations and local cache, among other reasons.
|
||||
</p>
|
||||
{% endif %}
|
||||
<a class="md-button" href="https://andreijiroh.eu.org">Go back to production</a>
|
||||
<a class="md-button" href="https://garden.andreijiroh.eu.org">Why am I seeing this?</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if "material/tags" in config.plugins and tags %}
|
||||
{% include "partials/tags.html" %}
|
||||
{% endif %}
|
||||
{% include "partials/actions.html" %}
|
||||
{% if "\x3ch1" not in page.content %}
|
||||
<h1>{{ page.title | d(config.site_name, true)}}</h1>
|
||||
{% endif %}
|
||||
{{ page.content }}
|
||||
{% if page.meta and (
|
||||
page.meta.git_revision_date_localized or
|
||||
page.meta.revision_date
|
||||
) %}
|
||||
{% include "partials/source-file.html" %}
|
||||
{% endif %}
|
||||
{% include "partials/feedback.html" %}
|
||||
{% include "partials/comments.html" %}
|
||||
|