Updated docs
All checks were successful
Ascently - Docs Deploy / build-and-push (push) Successful in 5m18s

This commit is contained in:
2025-12-12 22:42:31 -07:00
parent abb76e454b
commit 0cc576bb12
4 changed files with 179 additions and 184 deletions

View File

@@ -26,8 +26,8 @@
},
"dependencies": {
"@astrojs/node": "^9.5.1",
"@astrojs/starlight": "^0.37.0",
"astro": "^5.16.3",
"@astrojs/starlight": "^0.37.1",
"astro": "^5.16.5",
"qrcode": "^1.5.4",
"sharp": "^0.34.5"
},

245
docs/pnpm-lock.yaml generated
View File

@@ -10,13 +10,13 @@ importers:
dependencies:
'@astrojs/node':
specifier: ^9.5.1
version: 9.5.1(astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))
version: 9.5.1(astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3))
'@astrojs/starlight':
specifier: ^0.37.0
version: 0.37.0(astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))
specifier: ^0.37.1
version: 0.37.1(astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3))
astro:
specifier: ^5.16.3
version: 5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)
specifier: ^5.16.5
version: 5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3)
qrcode:
specifier: ^1.5.4
version: 1.5.4
@@ -36,11 +36,11 @@ packages:
'@astrojs/internal-helpers@0.7.5':
resolution: {integrity: sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==}
'@astrojs/markdown-remark@6.3.9':
resolution: {integrity: sha512-hX2cLC/KW74Io1zIbn92kI482j9J7LleBLGCVU9EP3BeH5MVrnFawOnqD0t/q6D1Z+ZNeQG2gNKMslCcO36wng==}
'@astrojs/markdown-remark@6.3.10':
resolution: {integrity: sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==}
'@astrojs/mdx@4.3.12':
resolution: {integrity: sha512-pL3CVPtuQrPnDhWjy7zqbOibNyPaxP4VpQS8T8spwKqKzauJ4yoKyNkVTD8jrP7EAJHmBhZ7PTmUGZqOpKKp8g==}
'@astrojs/mdx@4.3.13':
resolution: {integrity: sha512-IHDHVKz0JfKBy3//52JSiyWv089b7GVSChIXLrlUOoTLWowG3wr2/8hkaEgEyd/vysvNQvGk+QhysXpJW5ve6Q==}
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
peerDependencies:
astro: ^5.0.0
@@ -57,8 +57,8 @@ packages:
'@astrojs/sitemap@3.6.0':
resolution: {integrity: sha512-4aHkvcOZBWJigRmMIAJwRQXBS+ayoP5z40OklTXYXhUDhwusz+DyDl+nSshY6y9DvkVEavwNcFO8FD81iGhXjg==}
'@astrojs/starlight@0.37.0':
resolution: {integrity: sha512-1AlaEjYYRO+5o6P5maPUBQZr6Q3wtuhMQTmsDQExI07wJVwe7EC2wGhXnFo+jpCjwHv/Bdg33PQheY4UhMj01g==}
'@astrojs/starlight@0.37.1':
resolution: {integrity: sha512-STNsR5PaDoiW4IgcX17Fp42FfyqwuweWPts/EWEMcFPAeg9Nvpu3UvVCorasYrgfJgaJTeydsOV++0ACA1KYDA==}
peerDependencies:
astro: ^5.5.0
@@ -254,17 +254,17 @@ packages:
cpu: [x64]
os: [win32]
'@expressive-code/core@0.41.3':
resolution: {integrity: sha512-9qzohqU7O0+JwMEEgQhnBPOw5DtsQRBXhW++5fvEywsuX44vCGGof1SL5OvPElvNgaWZ4pFZAFSlkNOkGyLwSQ==}
'@expressive-code/core@0.41.4':
resolution: {integrity: sha512-4eDiyq3hI3vJ0KnwIqonh9evy9p8aNixsf5wwnvDWcoPfYU3LGB6Nkb6WDdYS4z52tODCvN5gMRy1DtRopcxXg==}
'@expressive-code/plugin-frames@0.41.3':
resolution: {integrity: sha512-rFQtmf/3N2CK3Cq/uERweMTYZnBu+CwxBdHuOftEmfA9iBE7gTVvwpbh82P9ZxkPLvc40UMhYt7uNuAZexycRQ==}
'@expressive-code/plugin-frames@0.41.4':
resolution: {integrity: sha512-W9jZW8LsPS8fW5T5CQyXUyyCrMxb7qfl6oxlLZB1rW74qM572Id4CWEXOM/7fFDcd1pW2fUxMoGzJMh0T2Awhg==}
'@expressive-code/plugin-shiki@0.41.3':
resolution: {integrity: sha512-RlTARoopzhFJIOVHLGvuXJ8DCEme/hjV+ZnRJBIxzxsKVpGPW4Oshqg9xGhWTYdHstTsxO663s0cdBLzZj9TQA==}
'@expressive-code/plugin-shiki@0.41.4':
resolution: {integrity: sha512-zOc0tfWISODHnnpfRJyssTvSWVVe+gj08GcFYiR2a6M8fKF1w5CJkpgf7tTvnoUTuVmL1DHRmiQFUnpGjtRGog==}
'@expressive-code/plugin-text-markers@0.41.3':
resolution: {integrity: sha512-SN8tkIzDpA0HLAscEYD2IVrfLiid6qEdE9QLlGVSxO1KEw7qYvjpbNBQjUjMr5/jvTJ7ys6zysU2vLPHE0sb2g==}
'@expressive-code/plugin-text-markers@0.41.4':
resolution: {integrity: sha512-lGqbjtIuiY+UZ+z61kKIJAZtF7H5xoT8lkxANmeoVaat+H47O5A+rr5WLmD45ezprO/NTogxHsaMfqRCuQ4vlw==}
'@img/colour@1.0.0':
resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
@@ -564,23 +564,23 @@ packages:
cpu: [x64]
os: [win32]
'@shikijs/core@3.17.1':
resolution: {integrity: sha512-VWsduykcibGU0WMi66PflThDWyqEeTOiWdCRa3wmsZuishh+1PDSOh5gGxHdSrOtS+v1pmYaxodk/JNzwusElA==}
'@shikijs/core@3.20.0':
resolution: {integrity: sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g==}
'@shikijs/engine-javascript@3.17.1':
resolution: {integrity: sha512-Ars0DVJITQrkOl5Swwy+94NL/BlOi/w1NSFbPGkcsln7Dv+M2qHaVpNHwdtWCC4/arzvjuHbyWBUsWExDHPDLw==}
'@shikijs/engine-javascript@3.20.0':
resolution: {integrity: sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg==}
'@shikijs/engine-oniguruma@3.17.1':
resolution: {integrity: sha512-fsXPy4va/4iblEGS+22nP5V08IwwBcM+8xHUzSON0QmHm29/AJRghA95w9VDnxuwp9wOdJxEhfPkKp6vqcsN+w==}
'@shikijs/engine-oniguruma@3.20.0':
resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==}
'@shikijs/langs@3.17.1':
resolution: {integrity: sha512-YTBVN+L2j7zBuOVjNZ2XiSNQEkm/7wZ1TSc5UO77GJPcg7Rk25WSscWA7y8pW7Bo25JIU0EWchUkq/UQjOJlJA==}
'@shikijs/langs@3.20.0':
resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==}
'@shikijs/themes@3.17.1':
resolution: {integrity: sha512-aohwwqNUB5h2ATfgrqYRPl8vyazqCiQ2wIV4xq+UzaBRHpqLMGSemkasK+vIEpl0YaendoaKUsDfpwhCqyHIaQ==}
'@shikijs/themes@3.20.0':
resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==}
'@shikijs/types@3.17.1':
resolution: {integrity: sha512-yUFLiCnZHHJ16KbVbt3B1EzBUadU3OVpq0PEyb301m5BbuFKApQYBzJGhrK48hH/tYWSjzwcj7BSmYbBc0zntQ==}
'@shikijs/types@3.20.0':
resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==}
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
@@ -621,8 +621,8 @@ packages:
'@types/node@17.0.45':
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
'@types/node@24.10.1':
resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==}
'@types/node@25.0.1':
resolution: {integrity: sha512-czWPzKIAXucn9PtsttxmumiQ9N0ok9FrBwgRWrwmVLlp86BrMExzvXRLFYRJ+Ex3g6yqj+KuaxfX1JTgV2lpfg==}
'@types/qrcode@1.5.6':
resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==}
@@ -689,13 +689,13 @@ packages:
resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
hasBin: true
astro-expressive-code@0.41.3:
resolution: {integrity: sha512-u+zHMqo/QNLE2eqYRCrK3+XMlKakv33Bzuz+56V1gs8H0y6TZ0hIi3VNbIxeTn51NLn+mJfUV/A0kMNfE4rANw==}
astro-expressive-code@0.41.4:
resolution: {integrity: sha512-LK6EcK/hIHfOSo9zqapzu4CbTC0YBtMOVdvWjInpB2SgYtxiF22aZDqdpejN8J28mWPqPLQwSqdl2lWuirNXmw==}
peerDependencies:
astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0
astro@5.16.3:
resolution: {integrity: sha512-KzDk41F9Dspf5fM/Ls4XZhV4/csjJcWBrlenbnp5V3NGwU1zEaJz/HIyrdKdf5yw+FgwCeD2+Yos1Xkx9gnI0A==}
astro@5.16.5:
resolution: {integrity: sha512-QeuM4xzTR0QuXFDNlGVW0BW7rcquKFIkylaPeM4ufii0/RRiPTYtwxDYVZ3KfiMRuuc+nbLD0214kMKTvz/yvQ==}
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
hasBin: true
@@ -873,8 +873,8 @@ packages:
resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==}
engines: {node: '>=18'}
devalue@5.5.0:
resolution: {integrity: sha512-69sM5yrHfFLJt0AZ9QqZXGCPfJ7fQjvpln3Rq5+PS03LD32Ost1Q9N+eEnaQwGRIriKkMImXD56ocjQmfjbV3w==}
devalue@5.6.1:
resolution: {integrity: sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==}
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
@@ -986,8 +986,8 @@ packages:
eventemitter3@5.0.1:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
expressive-code@0.41.3:
resolution: {integrity: sha512-YLnD62jfgBZYrXIPQcJ0a51Afv9h8VlWqEGK9uU2T5nL/5rb8SnA86+7+mgCZe5D34Tff5RNEA5hjNVJYHzrFg==}
expressive-code@0.41.4:
resolution: {integrity: sha512-A9aFLhgqLkL6VSfqYkPqkJVMtA90/bhCLmUO7L3/a1xWISNMcHoCS6d6i8ePwi8HvHr3xRLswHTNt6NheTjdXA==}
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -1086,8 +1086,8 @@ packages:
hast-util-to-jsx-runtime@2.3.6:
resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
hast-util-to-parse5@8.0.0:
resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
hast-util-to-parse5@8.0.1:
resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==}
hast-util-to-string@3.0.1:
resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
@@ -1399,8 +1399,8 @@ packages:
node-fetch-native@1.6.7:
resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
node-mock-http@1.0.3:
resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==}
node-mock-http@1.0.4:
resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==}
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -1512,9 +1512,6 @@ packages:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
property-information@6.5.0:
resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
property-information@7.1.0:
resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
@@ -1554,11 +1551,11 @@ packages:
regex-utilities@2.3.0:
resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
regex@6.0.1:
resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
regex@6.1.0:
resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
rehype-expressive-code@0.41.3:
resolution: {integrity: sha512-8d9Py4c/V6I/Od2VIXFAdpiO2kc0SV2qTJsRAaqSIcM9aruW4ASLNe2kOEo1inXAAkIhpFzAHTc358HKbvpNUg==}
rehype-expressive-code@0.41.4:
resolution: {integrity: sha512-qEUKfh/Aw9VZSUCXnJef41o7lpfnhXmQdXTkP2ZWGibSk4SoJVJ4ra1xN1t+hL1rp0d0GPKZ1CpM3q6bjV0xbg==}
rehype-format@5.0.1:
resolution: {integrity: sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==}
@@ -1652,8 +1649,8 @@ packages:
resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
shiki@3.17.1:
resolution: {integrity: sha512-KbAPJo6pQpfjupOg5HW0fk/OSmeBfzza2IjZ5XbNKbqhZaCoxro/EyOgesaLvTdyDfrsAUDA6L4q14sc+k9i7g==}
shiki@3.20.0:
resolution: {integrity: sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg==}
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
@@ -2009,7 +2006,7 @@ snapshots:
'@astrojs/internal-helpers@0.7.5': {}
'@astrojs/markdown-remark@6.3.9':
'@astrojs/markdown-remark@6.3.10':
dependencies:
'@astrojs/internal-helpers': 0.7.5
'@astrojs/prism': 3.3.0
@@ -2025,7 +2022,7 @@ snapshots:
remark-parse: 11.0.0
remark-rehype: 11.1.2
remark-smartypants: 3.0.2
shiki: 3.17.1
shiki: 3.20.0
smol-toml: 1.5.2
unified: 11.0.5
unist-util-remove-position: 5.0.0
@@ -2035,12 +2032,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@astrojs/mdx@4.3.12(astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))':
'@astrojs/mdx@4.3.13(astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3))':
dependencies:
'@astrojs/markdown-remark': 6.3.9
'@astrojs/markdown-remark': 6.3.10
'@mdx-js/mdx': 3.1.1
acorn: 8.15.0
astro: 5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)
astro: 5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3)
es-module-lexer: 1.7.0
estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5
@@ -2054,10 +2051,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@astrojs/node@9.5.1(astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))':
'@astrojs/node@9.5.1(astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3))':
dependencies:
'@astrojs/internal-helpers': 0.7.5
astro: 5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)
astro: 5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3)
send: 1.2.0
server-destroy: 1.0.1
transitivePeerDependencies:
@@ -2073,17 +2070,17 @@ snapshots:
stream-replace-string: 2.0.0
zod: 3.25.76
'@astrojs/starlight@0.37.0(astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))':
'@astrojs/starlight@0.37.1(astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3))':
dependencies:
'@astrojs/markdown-remark': 6.3.9
'@astrojs/mdx': 4.3.12(astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))
'@astrojs/markdown-remark': 6.3.10
'@astrojs/mdx': 4.3.13(astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3))
'@astrojs/sitemap': 3.6.0
'@pagefind/default-ui': 1.4.0
'@types/hast': 3.0.4
'@types/js-yaml': 4.0.9
'@types/mdast': 4.0.4
astro: 5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)
astro-expressive-code: 0.41.3(astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3))
astro: 5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3)
astro-expressive-code: 0.41.4(astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3))
bcp-47: 2.1.0
hast-util-from-html: 2.0.3
hast-util-select: 6.0.4
@@ -2223,7 +2220,7 @@ snapshots:
'@esbuild/win32-x64@0.25.12':
optional: true
'@expressive-code/core@0.41.3':
'@expressive-code/core@0.41.4':
dependencies:
'@ctrl/tinycolor': 4.2.0
hast-util-select: 6.0.4
@@ -2235,18 +2232,18 @@ snapshots:
unist-util-visit: 5.0.0
unist-util-visit-parents: 6.0.2
'@expressive-code/plugin-frames@0.41.3':
'@expressive-code/plugin-frames@0.41.4':
dependencies:
'@expressive-code/core': 0.41.3
'@expressive-code/core': 0.41.4
'@expressive-code/plugin-shiki@0.41.3':
'@expressive-code/plugin-shiki@0.41.4':
dependencies:
'@expressive-code/core': 0.41.3
shiki: 3.17.1
'@expressive-code/core': 0.41.4
shiki: 3.20.0
'@expressive-code/plugin-text-markers@0.41.3':
'@expressive-code/plugin-text-markers@0.41.4':
dependencies:
'@expressive-code/core': 0.41.3
'@expressive-code/core': 0.41.4
'@img/colour@1.0.0': {}
@@ -2472,33 +2469,33 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.53.3':
optional: true
'@shikijs/core@3.17.1':
'@shikijs/core@3.20.0':
dependencies:
'@shikijs/types': 3.17.1
'@shikijs/types': 3.20.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
'@shikijs/engine-javascript@3.17.1':
'@shikijs/engine-javascript@3.20.0':
dependencies:
'@shikijs/types': 3.17.1
'@shikijs/types': 3.20.0
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.4
'@shikijs/engine-oniguruma@3.17.1':
'@shikijs/engine-oniguruma@3.20.0':
dependencies:
'@shikijs/types': 3.17.1
'@shikijs/types': 3.20.0
'@shikijs/vscode-textmate': 10.0.2
'@shikijs/langs@3.17.1':
'@shikijs/langs@3.20.0':
dependencies:
'@shikijs/types': 3.17.1
'@shikijs/types': 3.20.0
'@shikijs/themes@3.17.1':
'@shikijs/themes@3.20.0':
dependencies:
'@shikijs/types': 3.17.1
'@shikijs/types': 3.20.0
'@shikijs/types@3.17.1':
'@shikijs/types@3.20.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -2521,7 +2518,7 @@ snapshots:
'@types/fontkit@2.0.8':
dependencies:
'@types/node': 24.10.1
'@types/node': 25.0.1
'@types/hast@3.0.4':
dependencies:
@@ -2543,13 +2540,13 @@ snapshots:
'@types/node@17.0.45': {}
'@types/node@24.10.1':
'@types/node@25.0.1':
dependencies:
undici-types: 7.16.0
'@types/qrcode@1.5.6':
dependencies:
'@types/node': 24.10.1
'@types/node': 25.0.1
'@types/sax@1.2.7':
dependencies:
@@ -2596,16 +2593,16 @@ snapshots:
astring@1.9.0: {}
astro-expressive-code@0.41.3(astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)):
astro-expressive-code@0.41.4(astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3)):
dependencies:
astro: 5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)
rehype-expressive-code: 0.41.3
astro: 5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3)
rehype-expressive-code: 0.41.4
astro@5.16.3(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3):
astro@5.16.5(@types/node@25.0.1)(rollup@4.53.3)(typescript@5.9.3):
dependencies:
'@astrojs/compiler': 2.13.0
'@astrojs/internal-helpers': 0.7.5
'@astrojs/markdown-remark': 6.3.9
'@astrojs/markdown-remark': 6.3.10
'@astrojs/telemetry': 3.3.0
'@capsizecss/unpack': 3.0.1
'@oslojs/encoding': 1.1.0
@@ -2621,7 +2618,7 @@ snapshots:
cssesc: 3.0.0
debug: 4.4.3
deterministic-object-hash: 2.0.2
devalue: 5.5.0
devalue: 5.6.1
diff: 5.2.0
dlv: 1.1.3
dset: 3.1.4
@@ -2647,7 +2644,7 @@ snapshots:
prompts: 2.4.2
rehype: 13.0.2
semver: 7.7.3
shiki: 3.17.1
shiki: 3.20.0
smol-toml: 1.5.2
svgo: 4.0.0
tinyexec: 1.0.2
@@ -2658,8 +2655,8 @@ snapshots:
unist-util-visit: 5.0.0
unstorage: 1.17.3
vfile: 6.0.3
vite: 6.4.1(@types/node@24.10.1)
vitefu: 1.1.1(vite@6.4.1(@types/node@24.10.1))
vite: 6.4.1(@types/node@25.0.1)
vitefu: 1.1.1(vite@6.4.1(@types/node@25.0.1))
xxhash-wasm: 1.1.0
yargs-parser: 21.1.1
yocto-spinner: 0.2.3
@@ -2844,7 +2841,7 @@ snapshots:
dependencies:
base-64: 1.0.0
devalue@5.5.0: {}
devalue@5.6.1: {}
devlop@1.1.0:
dependencies:
@@ -2980,12 +2977,12 @@ snapshots:
eventemitter3@5.0.1: {}
expressive-code@0.41.3:
expressive-code@0.41.4:
dependencies:
'@expressive-code/core': 0.41.3
'@expressive-code/plugin-frames': 0.41.3
'@expressive-code/plugin-shiki': 0.41.3
'@expressive-code/plugin-text-markers': 0.41.3
'@expressive-code/core': 0.41.4
'@expressive-code/plugin-frames': 0.41.4
'@expressive-code/plugin-shiki': 0.41.4
'@expressive-code/plugin-text-markers': 0.41.4
extend@3.0.2: {}
@@ -3037,7 +3034,7 @@ snapshots:
defu: 6.1.4
destr: 2.0.5
iron-webcrypto: 1.2.1
node-mock-http: 1.0.3
node-mock-http: 1.0.4
radix3: 1.1.2
ufo: 1.6.1
uncrypto: 0.1.3
@@ -3115,7 +3112,7 @@ snapshots:
'@types/unist': 3.0.3
'@ungap/structured-clone': 1.3.0
hast-util-from-parse5: 8.0.3
hast-util-to-parse5: 8.0.0
hast-util-to-parse5: 8.0.1
html-void-elements: 3.0.0
mdast-util-to-hast: 13.2.1
parse5: 7.3.0
@@ -3198,12 +3195,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
hast-util-to-parse5@8.0.0:
hast-util-to-parse5@8.0.1:
dependencies:
'@types/hast': 3.0.4
comma-separated-tokens: 2.0.3
devlop: 1.1.0
property-information: 6.5.0
property-information: 7.1.0
space-separated-tokens: 2.0.2
web-namespaces: 2.0.1
zwitch: 2.0.4
@@ -3795,7 +3792,7 @@ snapshots:
node-fetch-native@1.6.7: {}
node-mock-http@1.0.3: {}
node-mock-http@1.0.4: {}
normalize-path@3.0.0: {}
@@ -3820,7 +3817,7 @@ snapshots:
oniguruma-to-es@4.3.4:
dependencies:
oniguruma-parser: 0.12.1
regex: 6.0.1
regex: 6.1.0
regex-recursion: 6.0.2
p-limit@2.3.0:
@@ -3915,8 +3912,6 @@ snapshots:
kleur: 3.0.3
sisteransi: 1.0.5
property-information@6.5.0: {}
property-information@7.1.0: {}
qrcode@1.5.4:
@@ -3966,13 +3961,13 @@ snapshots:
regex-utilities@2.3.0: {}
regex@6.0.1:
regex@6.1.0:
dependencies:
regex-utilities: 2.3.0
rehype-expressive-code@0.41.3:
rehype-expressive-code@0.41.4:
dependencies:
expressive-code: 0.41.3
expressive-code: 0.41.4
rehype-format@5.0.1:
dependencies:
@@ -4185,14 +4180,14 @@ snapshots:
'@img/sharp-win32-ia32': 0.34.5
'@img/sharp-win32-x64': 0.34.5
shiki@3.17.1:
shiki@3.20.0:
dependencies:
'@shikijs/core': 3.17.1
'@shikijs/engine-javascript': 3.17.1
'@shikijs/engine-oniguruma': 3.17.1
'@shikijs/langs': 3.17.1
'@shikijs/themes': 3.17.1
'@shikijs/types': 3.17.1
'@shikijs/core': 3.20.0
'@shikijs/engine-javascript': 3.20.0
'@shikijs/engine-oniguruma': 3.20.0
'@shikijs/langs': 3.20.0
'@shikijs/themes': 3.20.0
'@shikijs/types': 3.20.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -4393,7 +4388,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
vite@6.4.1(@types/node@24.10.1):
vite@6.4.1(@types/node@25.0.1):
dependencies:
esbuild: 0.25.12
fdir: 6.5.0(picomatch@4.0.3)
@@ -4402,12 +4397,12 @@ snapshots:
rollup: 4.53.3
tinyglobby: 0.2.15
optionalDependencies:
'@types/node': 24.10.1
'@types/node': 25.0.1
fsevents: 2.3.3
vitefu@1.1.1(vite@6.4.1(@types/node@24.10.1)):
vitefu@1.1.1(vite@6.4.1(@types/node@25.0.1)):
optionalDependencies:
vite: 6.4.1(@types/node@24.10.1)
vite: 6.4.1(@types/node@25.0.1)
web-namespaces@2.0.1: {}

View File

@@ -16,6 +16,62 @@ const hasLink = (link: string | undefined) => link && link.trim() !== "";
---
<Tabs syncKey="platform">
<TabItem label="iOS" icon="apple">
<CardGrid>
{
hasLink(downloadLinks.ios.appStore) && (
<Card title="App Store" icon="rocket">
<p style="text-align: center;">
<LinkButton
href={downloadLinks.ios.appStore}
variant="primary"
icon="external"
>
Download on App Store
</LinkButton>
</p>
{showQR && (
<p style="text-align: center;">
<QRCode
data={downloadLinks.ios.appStore}
size={200}
alt="QR code for App Store"
/>
</p>
)}
</Card>
)
}
{
hasLink(downloadLinks.ios.testFlight) && (
<Card title="TestFlight Beta" icon="warning">
<p style="text-align: center;">
<LinkButton
href={downloadLinks.ios.testFlight}
variant="secondary"
icon="external"
>
Join TestFlight
</LinkButton>
</p>
{showQR && (
<p style="text-align: center;">
<QRCode
data={downloadLinks.ios.testFlight}
size={200}
alt="QR code for TestFlight"
/>
</p>
)}
</Card>
)
}
</CardGrid>
<p><strong>Requirements:</strong> {requirements.ios}</p>
</TabItem>
<TabItem label="Android" icon="star">
<CardGrid>
{
@@ -96,60 +152,4 @@ const hasLink = (link: string | undefined) => link && link.trim() !== "";
<p><strong>Requirements:</strong> {requirements.android}</p>
</TabItem>
<TabItem label="iOS" icon="apple">
<CardGrid>
{
hasLink(downloadLinks.ios.appStore) && (
<Card title="App Store" icon="rocket">
<p style="text-align: center;">
<LinkButton
href={downloadLinks.ios.appStore}
variant="primary"
icon="external"
>
Download on App Store
</LinkButton>
</p>
{showQR && (
<p style="text-align: center;">
<QRCode
data={downloadLinks.ios.appStore}
size={200}
alt="QR code for App Store"
/>
</p>
)}
</Card>
)
}
{
hasLink(downloadLinks.ios.testFlight) && (
<Card title="TestFlight Beta" icon="warning">
<p style="text-align: center;">
<LinkButton
href={downloadLinks.ios.testFlight}
variant="secondary"
icon="external"
>
Join TestFlight
</LinkButton>
</p>
{showQR && (
<p style="text-align: center;">
<QRCode
data={downloadLinks.ios.testFlight}
size={200}
alt="QR code for TestFlight"
/>
</p>
)}
</Card>
)
}
</CardGrid>
<p><strong>Requirements:</strong> {requirements.ios}</p>
</TabItem>
</Tabs>

View File

@@ -42,6 +42,6 @@ Ascently is an **offline-first FOSS** app designed to help climbers track their
---
*Built with ❤️ by Atridad Lahiji*
*Built with ❤️ by [Atridad Lahiji](https://atri.dad)*
*Contact: me@atri.dad*