diff --git a/README.md b/README.md index dfa2df4..ca22f9d 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,23 @@ # MoveToLinux -Move to Linux is an informational website project which allows its user to interactively +Move to Linux is an informational website project which allows its user to interactively learn more about Linux. ## Dependencies This project uses Astro, Tailwind CSS, and Breeze icons. +## Images + +Images, excluding logos, are mostly captured from VMs in this project. You are +free to contribute better images if they can reflect real hardware better. + +Anaconda WebUI compress icon (`./src/assets/icons/fa-compress-arrows-alt.svg`) +sourced from Patternfly Icons. + ## License This project is licensed under MIT License. + +Logos of other projects (such as Linux Distributions, located in `./public/logos`) +belong to their respective owner. diff --git a/astro.config.mjs b/astro.config.mjs index 29227a6..738d887 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,30 +1,40 @@ // @ts-check -import { defineConfig } from 'astro/config'; +import { defineConfig, envField } from 'astro/config'; import tailwindcss from '@tailwindcss/vite'; import { fileURLToPath } from 'node:url'; import solidJs from "@astrojs/solid-js"; +import mdx from "@astrojs/mdx"; + // https://astro.build/config export default defineConfig({ - i18n: { - locales: ["en", "th"], - defaultLocale: "en", - routing: { - prefixDefaultLocale: true, - redirectToDefaultLocale: false - } - }, + i18n: { + locales: ["en", "th"], + defaultLocale: "en", + routing: { + prefixDefaultLocale: true, + redirectToDefaultLocale: false + } + }, - vite: { - plugins: [tailwindcss()], - resolve: { - alias: { - "@": fileURLToPath(new URL("./src", import.meta.url)) - } - } - }, + env: { + schema: { + // Example value: https://movetolinux.example.com + // If unset, code will use Astro.url.host instead, which is most likely "http://localhost:4321" + ORIGIN: envField.string({ context: "server", access: "public", optional: true }) + } + }, - integrations: [solidJs()] + vite: { + plugins: [tailwindcss()], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)) + } + } + }, + + integrations: [solidJs(), mdx()] }); \ No newline at end of file diff --git a/package.json b/package.json index 27651e9..bc7434b 100644 --- a/package.json +++ b/package.json @@ -9,14 +9,19 @@ "astro": "astro" }, "dependencies": { + "@astrojs/mdx": "^4.3.5", "@astrojs/solid-js": "^5.1.1", "@tailwindcss/vite": "^4.1.13", "astro": "^5.13.7", + "party-js": "^2.2.0", + "qrcode-generator": "^2.0.4", + "sharp": "^0.34.3", "solid-js": "^1.9.9", "tailwindcss": "^4.1.13" }, "packageManager": "pnpm@10.15.1+sha512.34e538c329b5553014ca8e8f4535997f96180a1d0f614339357449935350d924e22f8614682191264ec33d1462ac21561aff97f6bb18065351c162c7e8f6de67", "devDependencies": { - "@types/node": "^24.3.1" + "@types/node": "^24.3.1", + "wrangler": "^4.37.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ebea1e8..83089e3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@astrojs/mdx': + specifier: ^4.3.5 + version: 4.3.5(astro@5.13.7(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.50.1)(typescript@5.9.2)) '@astrojs/solid-js': specifier: ^5.1.1 version: 5.1.1(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(solid-js@1.9.9) @@ -17,6 +20,15 @@ importers: astro: specifier: ^5.13.7 version: 5.13.7(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.50.1)(typescript@5.9.2) + party-js: + specifier: ^2.2.0 + version: 2.2.0 + qrcode-generator: + specifier: ^2.0.4 + version: 2.0.4 + sharp: + specifier: ^0.34.3 + version: 0.34.3 solid-js: specifier: ^1.9.9 version: 1.9.9 @@ -27,6 +39,9 @@ importers: '@types/node': specifier: ^24.3.1 version: 24.3.1 + wrangler: + specifier: ^4.37.0 + version: 4.37.0 packages: @@ -39,6 +54,12 @@ packages: '@astrojs/markdown-remark@6.3.6': resolution: {integrity: sha512-bwylYktCTsLMVoCOEHbn2GSUA3c5KT/qilekBKA3CBng0bo1TYjNZPr761vxumRk9kJGqTOtU+fgCAp5Vwokug==} + '@astrojs/mdx@4.3.5': + resolution: {integrity: sha512-YB3Hhsvl1BxyY0ARe1OrnVzLNKDPXAz9epYvmL+MQ8A85duSsSLQaO3GHB6/qZJKNoLmP6PptOtCONCKkbhPeQ==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} + peerDependencies: + astro: ^5.0.0 + '@astrojs/prism@3.3.0': resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} @@ -141,129 +162,302 @@ packages: '@capsizecss/unpack@2.4.0': resolution: {integrity: sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==} + '@cloudflare/kv-asset-handler@0.4.0': + resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} + engines: {node: '>=18.0.0'} + + '@cloudflare/unenv-preset@2.7.3': + resolution: {integrity: sha512-tsQQagBKjvpd9baa6nWVIv399ejiqcrUBBW6SZx6Z22+ymm+Odv5+cFimyuCsD/fC1fQTwfRmwXBNpzvHSeGCw==} + peerDependencies: + unenv: 2.0.0-rc.21 + workerd: ^1.20250828.1 + peerDependenciesMeta: + workerd: + optional: true + + '@cloudflare/workerd-darwin-64@1.20250906.0': + resolution: {integrity: sha512-E+X/YYH9BmX0ew2j/mAWFif2z05NMNuhCTlNYEGLkqMe99K15UewBqajL9pMcMUKxylnlrEoK3VNxl33DkbnPA==} + engines: {node: '>=16'} + cpu: [x64] + os: [darwin] + + '@cloudflare/workerd-darwin-arm64@1.20250906.0': + resolution: {integrity: sha512-X5apsZ1SFW4FYTM19ISHf8005FJMPfrcf4U5rO0tdj+TeJgQgXuZ57IG0WeW7SpLVeBo8hM6WC8CovZh41AfnA==} + engines: {node: '>=16'} + cpu: [arm64] + os: [darwin] + + '@cloudflare/workerd-linux-64@1.20250906.0': + resolution: {integrity: sha512-rlKzWgsLnlQ5Nt9W69YBJKcmTmZbOGu0edUsenXPmc6wzULUxoQpi7ZE9k3TfTonJx4WoQsQlzCUamRYFsX+0Q==} + engines: {node: '>=16'} + cpu: [x64] + os: [linux] + + '@cloudflare/workerd-linux-arm64@1.20250906.0': + resolution: {integrity: sha512-DdedhiQ+SeLzpg7BpcLrIPEZ33QKioJQ1wvL4X7nuLzEB9rWzS37NNNahQzc1+44rhG4fyiHbXBPOeox4B9XVA==} + engines: {node: '>=16'} + cpu: [arm64] + os: [linux] + + '@cloudflare/workerd-windows-64@1.20250906.0': + resolution: {integrity: sha512-Q8Qjfs8jGVILnZL6vUpQ90q/8MTCYaGR3d1LGxZMBqte8Vr7xF3KFHPEy7tFs0j0mMjnqCYzlofmPNY+9ZaDRg==} + engines: {node: '>=16'} + cpu: [x64] + os: [win32] + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + '@emnapi/runtime@1.5.0': resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} + '@esbuild/aix-ppc64@0.25.4': + resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.25.9': resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.25.4': + resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.25.9': resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.25.4': + resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.25.9': resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.25.4': + resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.25.9': resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.25.4': + resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.25.9': resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.25.4': + resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.25.9': resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.25.4': + resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.25.9': resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.4': + resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.9': resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.25.4': + resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.25.9': resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.25.4': + resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.25.9': resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.25.4': + resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.25.9': resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.25.4': + resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.25.9': resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.25.4': + resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.25.9': resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.25.4': + resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.25.9': resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.25.4': + resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.25.9': resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.25.4': + resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.25.9': resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.25.4': + resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.25.9': resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/netbsd-arm64@0.25.4': + resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-arm64@0.25.9': resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.4': + resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.9': resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/openbsd-arm64@0.25.4': + resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-arm64@0.25.9': resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.4': + resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.9': resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} engines: {node: '>=18'} @@ -276,57 +470,113 @@ packages: cpu: [arm64] os: [openharmony] + '@esbuild/sunos-x64@0.25.4': + resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.25.9': resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.25.4': + resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.25.9': resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.25.4': + resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.25.9': resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.25.4': + resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.25.9': resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + '@img/sharp-darwin-arm64@0.34.3': resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + '@img/sharp-darwin-x64@0.34.3': resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.2.0': resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==} cpu: [arm64] os: [darwin] + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + '@img/sharp-libvips-darwin-x64@1.2.0': resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==} cpu: [x64] os: [darwin] + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + '@img/sharp-libvips-linux-arm64@1.2.0': resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==} cpu: [arm64] os: [linux] + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + '@img/sharp-libvips-linux-arm@1.2.0': resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==} cpu: [arm] @@ -337,32 +587,64 @@ packages: cpu: [ppc64] os: [linux] + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + '@img/sharp-libvips-linux-s390x@1.2.0': resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==} cpu: [s390x] os: [linux] + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + '@img/sharp-libvips-linux-x64@1.2.0': resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==} cpu: [x64] os: [linux] + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + '@img/sharp-libvips-linuxmusl-arm64@1.2.0': resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==} cpu: [arm64] os: [linux] + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + '@img/sharp-libvips-linuxmusl-x64@1.2.0': resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==} cpu: [x64] os: [linux] + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + '@img/sharp-linux-arm64@0.34.3': resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + '@img/sharp-linux-arm@0.34.3': resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -375,30 +657,59 @@ packages: cpu: [ppc64] os: [linux] + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + '@img/sharp-linux-s390x@0.34.3': resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + '@img/sharp-linux-x64@0.34.3': resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + '@img/sharp-linuxmusl-arm64@0.34.3': resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + '@img/sharp-linuxmusl-x64@0.34.3': resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + '@img/sharp-wasm32@0.34.3': resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -410,12 +721,24 @@ packages: cpu: [arm64] os: [win32] + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + '@img/sharp-win32-ia32@0.34.3': resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@img/sharp-win32-x64@0.34.3': resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -442,9 +765,24 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} + '@poppinss/colors@4.1.5': + resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==} + + '@poppinss/dumper@0.6.4': + resolution: {integrity: sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==} + + '@poppinss/exception@1.2.2': + resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} + '@rollup/pluginutils@5.3.0': resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} @@ -580,6 +918,13 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@sindresorhus/is@7.1.0': + resolution: {integrity: sha512-7F/yz2IphV39hiS2zB4QYVkivrptHHh0K8qJJd9HhuWSdvf8AN7NpebW3CcDZDBQsUPMoDKWsY2WWgW7bqOcfA==} + engines: {node: '>=18'} + + '@speed-highlight/core@1.2.7': + resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==} + '@swc/helpers@0.5.17': resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} @@ -688,6 +1033,9 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -700,6 +1048,9 @@ packages: '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} @@ -709,12 +1060,29 @@ packages: '@types/node@24.3.1': resolution: {integrity: sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==} + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -749,6 +1117,10 @@ packages: array-iterate@2.0.1: resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + astro@5.13.7: resolution: {integrity: sha512-Of2tST7ErbE4y1dVb4aWDXaQSIRBAfraJ4jDqaA3PzPRJOn6Ina36+tQ+8BezjYqiWwRRJdOEE07PRAJXnsddw==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} @@ -781,6 +1153,9 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + blake3-wasm@2.1.5: + resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} + blob-to-buffer@1.2.9: resolution: {integrity: sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==} @@ -819,6 +1194,9 @@ packages: character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -843,6 +1221,9 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -958,9 +1339,23 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} + error-stack-parser-es@1.0.5: + resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} + es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + esbuild@0.25.4: + resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} + engines: {node: '>=18'} + hasBin: true + esbuild@0.25.9: resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} engines: {node: '>=18'} @@ -974,6 +1369,24 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -983,6 +1396,13 @@ packages: eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + exit-hook@2.2.1: + resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} + engines: {node: '>=6'} + + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -1024,6 +1444,9 @@ packages: github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1045,9 +1468,15 @@ packages: hast-util-raw@9.1.0: resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + hast-util-to-html@9.0.5: resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + 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==} @@ -1075,12 +1504,24 @@ packages: import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1090,6 +1531,9 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -1215,6 +1659,10 @@ packages: magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -1245,6 +1693,18 @@ packages: mdast-util-gfm@3.1.0: resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} @@ -1288,12 +1748,30 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + micromark-factory-destination@2.0.1: resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} micromark-factory-label@2.0.1: resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + micromark-factory-space@2.0.1: resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} @@ -1324,6 +1802,9 @@ packages: micromark-util-encode@2.0.1: resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + micromark-util-html-tag-name@2.0.1: resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} @@ -1348,6 +1829,16 @@ packages: micromark@4.0.2: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + miniflare@4.20250906.2: + resolution: {integrity: sha512-SXGv8Rdd91b6UXZ5eW3rde/gSJM6WVLItMNFV7u9axUVhACvpT4CB5p80OBfi2OOsGfOuFQ6M6s8tMxJbzioVw==} + engines: {node: '>=18.0.0'} + hasBin: true + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} @@ -1432,12 +1923,24 @@ packages: pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + parse-latin@7.0.0: resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + party-js@2.2.0: + resolution: {integrity: sha512-50hGuALCpvDTrQLPQ1fgUgxKIWAH28ShVkmeK/3zhO0YJyCqkhrZhQEkWPxDYLvbFJ7YAXyROmFEu35gKpZLtQ==} + + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1467,6 +1970,9 @@ packages: property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + qrcode-generator@2.0.4: + resolution: {integrity: sha512-mZSiP6RnbHl4xL2Ap5HfkjLnmxfKcPWpWe/c+5XxCuetEenqmNFf1FH/ftXPCtFG5/TDobjsjz6sSNL0Sr8Z9g==} + radix3@1.1.2: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} @@ -1474,6 +1980,20 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -1489,6 +2009,9 @@ packages: rehype-raw@7.0.0: resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + rehype-stringify@10.0.1: resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} @@ -1498,6 +2021,9 @@ packages: remark-gfm@4.0.1: resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} + remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} @@ -1550,6 +2076,10 @@ packages: resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==} engines: {node: '>=10'} + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + sharp@0.34.3: resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1579,9 +2109,17 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + stoppable@1.1.0: + resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} + engines: {node: '>=4', npm: '>=6'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1601,6 +2139,16 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} + style-to-js@1.1.17: + resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} + + style-to-object@1.0.9: + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} + + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + tailwindcss@4.1.13: resolution: {integrity: sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==} @@ -1665,6 +2213,13 @@ packages: undici-types@7.10.0: resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + undici@7.14.0: + resolution: {integrity: sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==} + engines: {node: '>=20.18.1'} + + unenv@2.0.0-rc.21: + resolution: {integrity: sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==} + unicode-properties@1.4.1: resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==} @@ -1686,6 +2241,9 @@ packages: unist-util-modify-children@4.0.0: resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} @@ -1859,10 +2417,37 @@ packages: resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} engines: {node: '>=18'} + workerd@1.20250906.0: + resolution: {integrity: sha512-ryVyEaqXPPsr/AxccRmYZZmDAkfQVjhfRqrNTlEeN8aftBk6Ca1u7/VqmfOayjCXrA+O547TauebU+J3IpvFXw==} + engines: {node: '>=16'} + hasBin: true + + wrangler@4.37.0: + resolution: {integrity: sha512-W8IbQohQbUHFn4Hz2kh8gi0SdyFV/jyi9Uus+WrTz0F0Dc9W5qKPCjLbxibeE53+YPHyoI25l65O7nSlwX+Z6Q==} + engines: {node: '>=18.0.0'} + hasBin: true + peerDependencies: + '@cloudflare/workers-types': ^4.20250906.0 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true + wrap-ansi@9.0.2: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xxhash-wasm@1.1.0: resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} @@ -1889,6 +2474,12 @@ packages: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} + youch-core@0.3.3: + resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} + + youch@4.1.0-beta.10: + resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} + zod-to-json-schema@3.24.6: resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} peerDependencies: @@ -1900,6 +2491,9 @@ packages: typescript: ^4.9.4 || ^5.0.2 zod: ^3 + zod@3.22.3: + resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} + zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} @@ -1938,6 +2532,25 @@ snapshots: transitivePeerDependencies: - supports-color + '@astrojs/mdx@4.3.5(astro@5.13.7(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.50.1)(typescript@5.9.2))': + dependencies: + '@astrojs/markdown-remark': 6.3.6 + '@mdx-js/mdx': 3.1.1 + acorn: 8.15.0 + astro: 5.13.7(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.50.1)(typescript@5.9.2) + es-module-lexer: 1.7.0 + estree-util-visit: 2.0.0 + hast-util-to-html: 9.0.5 + kleur: 4.1.5 + rehype-raw: 7.0.0 + remark-gfm: 4.0.1 + remark-smartypants: 3.0.2 + source-map: 0.7.6 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + '@astrojs/prism@3.3.0': dependencies: prismjs: 1.30.0 @@ -2093,131 +2706,279 @@ snapshots: transitivePeerDependencies: - encoding + '@cloudflare/kv-asset-handler@0.4.0': + dependencies: + mime: 3.0.0 + + '@cloudflare/unenv-preset@2.7.3(unenv@2.0.0-rc.21)(workerd@1.20250906.0)': + dependencies: + unenv: 2.0.0-rc.21 + optionalDependencies: + workerd: 1.20250906.0 + + '@cloudflare/workerd-darwin-64@1.20250906.0': + optional: true + + '@cloudflare/workerd-darwin-arm64@1.20250906.0': + optional: true + + '@cloudflare/workerd-linux-64@1.20250906.0': + optional: true + + '@cloudflare/workerd-linux-arm64@1.20250906.0': + optional: true + + '@cloudflare/workerd-windows-64@1.20250906.0': + optional: true + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + '@emnapi/runtime@1.5.0': dependencies: tslib: 2.8.1 optional: true + '@esbuild/aix-ppc64@0.25.4': + optional: true + '@esbuild/aix-ppc64@0.25.9': optional: true + '@esbuild/android-arm64@0.25.4': + optional: true + '@esbuild/android-arm64@0.25.9': optional: true + '@esbuild/android-arm@0.25.4': + optional: true + '@esbuild/android-arm@0.25.9': optional: true + '@esbuild/android-x64@0.25.4': + optional: true + '@esbuild/android-x64@0.25.9': optional: true + '@esbuild/darwin-arm64@0.25.4': + optional: true + '@esbuild/darwin-arm64@0.25.9': optional: true + '@esbuild/darwin-x64@0.25.4': + optional: true + '@esbuild/darwin-x64@0.25.9': optional: true + '@esbuild/freebsd-arm64@0.25.4': + optional: true + '@esbuild/freebsd-arm64@0.25.9': optional: true + '@esbuild/freebsd-x64@0.25.4': + optional: true + '@esbuild/freebsd-x64@0.25.9': optional: true + '@esbuild/linux-arm64@0.25.4': + optional: true + '@esbuild/linux-arm64@0.25.9': optional: true + '@esbuild/linux-arm@0.25.4': + optional: true + '@esbuild/linux-arm@0.25.9': optional: true + '@esbuild/linux-ia32@0.25.4': + optional: true + '@esbuild/linux-ia32@0.25.9': optional: true + '@esbuild/linux-loong64@0.25.4': + optional: true + '@esbuild/linux-loong64@0.25.9': optional: true + '@esbuild/linux-mips64el@0.25.4': + optional: true + '@esbuild/linux-mips64el@0.25.9': optional: true + '@esbuild/linux-ppc64@0.25.4': + optional: true + '@esbuild/linux-ppc64@0.25.9': optional: true + '@esbuild/linux-riscv64@0.25.4': + optional: true + '@esbuild/linux-riscv64@0.25.9': optional: true + '@esbuild/linux-s390x@0.25.4': + optional: true + '@esbuild/linux-s390x@0.25.9': optional: true + '@esbuild/linux-x64@0.25.4': + optional: true + '@esbuild/linux-x64@0.25.9': optional: true + '@esbuild/netbsd-arm64@0.25.4': + optional: true + '@esbuild/netbsd-arm64@0.25.9': optional: true + '@esbuild/netbsd-x64@0.25.4': + optional: true + '@esbuild/netbsd-x64@0.25.9': optional: true + '@esbuild/openbsd-arm64@0.25.4': + optional: true + '@esbuild/openbsd-arm64@0.25.9': optional: true + '@esbuild/openbsd-x64@0.25.4': + optional: true + '@esbuild/openbsd-x64@0.25.9': optional: true '@esbuild/openharmony-arm64@0.25.9': optional: true + '@esbuild/sunos-x64@0.25.4': + optional: true + '@esbuild/sunos-x64@0.25.9': optional: true + '@esbuild/win32-arm64@0.25.4': + optional: true + '@esbuild/win32-arm64@0.25.9': optional: true + '@esbuild/win32-ia32@0.25.4': + optional: true + '@esbuild/win32-ia32@0.25.9': optional: true + '@esbuild/win32-x64@0.25.4': + optional: true + '@esbuild/win32-x64@0.25.9': optional: true + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + '@img/sharp-darwin-arm64@0.34.3': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.2.0 optional: true + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + '@img/sharp-darwin-x64@0.34.3': optionalDependencies: '@img/sharp-libvips-darwin-x64': 1.2.0 optional: true + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + '@img/sharp-libvips-darwin-arm64@1.2.0': optional: true + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + '@img/sharp-libvips-darwin-x64@1.2.0': optional: true + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + '@img/sharp-libvips-linux-arm64@1.2.0': optional: true + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + '@img/sharp-libvips-linux-arm@1.2.0': optional: true '@img/sharp-libvips-linux-ppc64@1.2.0': optional: true + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + '@img/sharp-libvips-linux-s390x@1.2.0': optional: true + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + '@img/sharp-libvips-linux-x64@1.2.0': optional: true + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + '@img/sharp-libvips-linuxmusl-arm64@1.2.0': optional: true + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + '@img/sharp-libvips-linuxmusl-x64@1.2.0': optional: true + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + '@img/sharp-linux-arm64@0.34.3': optionalDependencies: '@img/sharp-libvips-linux-arm64': 1.2.0 optional: true + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + '@img/sharp-linux-arm@0.34.3': optionalDependencies: '@img/sharp-libvips-linux-arm': 1.2.0 @@ -2228,26 +2989,51 @@ snapshots: '@img/sharp-libvips-linux-ppc64': 1.2.0 optional: true + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + '@img/sharp-linux-s390x@0.34.3': optionalDependencies: '@img/sharp-libvips-linux-s390x': 1.2.0 optional: true + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + '@img/sharp-linux-x64@0.34.3': optionalDependencies: '@img/sharp-libvips-linux-x64': 1.2.0 optional: true + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + '@img/sharp-linuxmusl-arm64@0.34.3': optionalDependencies: '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 optional: true + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + '@img/sharp-linuxmusl-x64@0.34.3': optionalDependencies: '@img/sharp-libvips-linuxmusl-x64': 1.2.0 optional: true + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.5.0 + optional: true + '@img/sharp-wasm32@0.34.3': dependencies: '@emnapi/runtime': 1.5.0 @@ -2256,9 +3042,15 @@ snapshots: '@img/sharp-win32-arm64@0.34.3': optional: true + '@img/sharp-win32-ia32@0.33.5': + optional: true + '@img/sharp-win32-ia32@0.34.3': optional: true + '@img/sharp-win32-x64@0.33.5': + optional: true + '@img/sharp-win32-x64@0.34.3': optional: true @@ -2285,8 +3077,55 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@mdx-js/mdx@3.1.1': + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + acorn: 8.15.0 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.15.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.6 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + '@oslojs/encoding@1.1.0': {} + '@poppinss/colors@4.1.5': + dependencies: + kleur: 4.1.5 + + '@poppinss/dumper@0.6.4': + dependencies: + '@poppinss/colors': 4.1.5 + '@sindresorhus/is': 7.1.0 + supports-color: 10.2.2 + + '@poppinss/exception@1.2.2': {} + '@rollup/pluginutils@5.3.0(rollup@4.50.1)': dependencies: '@types/estree': 1.0.8 @@ -2391,6 +3230,10 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} + '@sindresorhus/is@7.1.0': {} + + '@speed-highlight/core@1.2.7': {} + '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 @@ -2491,6 +3334,10 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.8 + '@types/estree@1.0.8': {} '@types/fontkit@2.0.8': @@ -2505,6 +3352,8 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/mdx@2.0.13': {} + '@types/ms@2.1.0': {} '@types/nlcst@2.0.3': @@ -2515,10 +3364,20 @@ snapshots: dependencies: undici-types: 7.10.0 + '@types/unist@2.0.11': {} + '@types/unist@3.0.3': {} '@ungap/structured-clone@1.3.0': {} + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-walk@8.3.2: {} + + acorn@8.14.0: {} + acorn@8.15.0: {} ansi-align@3.0.1: @@ -2542,6 +3401,8 @@ snapshots: array-iterate@2.0.1: {} + astring@1.9.0: {} + astro@5.13.7(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.50.1)(typescript@5.9.2): dependencies: '@astrojs/compiler': 2.12.2 @@ -2669,6 +3530,8 @@ snapshots: base64-js@1.5.1: {} + blake3-wasm@2.1.5: {} + blob-to-buffer@1.2.9: {} boxen@8.0.1: @@ -2707,6 +3570,8 @@ snapshots: character-entities@2.0.2: {} + character-reference-invalid@2.0.1: {} + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -2721,25 +3586,23 @@ snapshots: clsx@2.1.1: {} + collapse-white-space@2.1.0: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - optional: true - color-name@1.1.4: - optional: true + color-name@1.1.4: {} color-string@1.9.1: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 - optional: true color@4.2.3: dependencies: color-convert: 2.0.1 color-string: 1.9.1 - optional: true comma-separated-tokens@2.0.3: {} @@ -2817,8 +3680,52 @@ snapshots: entities@6.0.1: {} + error-stack-parser-es@1.0.5: {} + es-module-lexer@1.7.0: {} + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.15.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 + + esbuild@0.25.4: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.4 + '@esbuild/android-arm': 0.25.4 + '@esbuild/android-arm64': 0.25.4 + '@esbuild/android-x64': 0.25.4 + '@esbuild/darwin-arm64': 0.25.4 + '@esbuild/darwin-x64': 0.25.4 + '@esbuild/freebsd-arm64': 0.25.4 + '@esbuild/freebsd-x64': 0.25.4 + '@esbuild/linux-arm': 0.25.4 + '@esbuild/linux-arm64': 0.25.4 + '@esbuild/linux-ia32': 0.25.4 + '@esbuild/linux-loong64': 0.25.4 + '@esbuild/linux-mips64el': 0.25.4 + '@esbuild/linux-ppc64': 0.25.4 + '@esbuild/linux-riscv64': 0.25.4 + '@esbuild/linux-s390x': 0.25.4 + '@esbuild/linux-x64': 0.25.4 + '@esbuild/netbsd-arm64': 0.25.4 + '@esbuild/netbsd-x64': 0.25.4 + '@esbuild/openbsd-arm64': 0.25.4 + '@esbuild/openbsd-x64': 0.25.4 + '@esbuild/sunos-x64': 0.25.4 + '@esbuild/win32-arm64': 0.25.4 + '@esbuild/win32-ia32': 0.25.4 + '@esbuild/win32-x64': 0.25.4 + esbuild@0.25.9: optionalDependencies: '@esbuild/aix-ppc64': 0.25.9 @@ -2852,6 +3759,35 @@ snapshots: escape-string-regexp@5.0.0: {} + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + estree-walker@2.0.2: {} estree-walker@3.0.3: @@ -2860,6 +3796,10 @@ snapshots: eventemitter3@5.0.1: {} + exit-hook@2.2.1: {} + + exsolve@1.0.7: {} + extend@3.0.2: {} fast-deep-equal@3.1.3: {} @@ -2896,6 +3836,8 @@ snapshots: github-slugger@2.0.0: {} + glob-to-regexp@0.4.1: {} + graceful-fs@4.2.11: {} h3@1.15.4: @@ -2954,6 +3896,27 @@ snapshots: web-namespaces: 2.0.1 zwitch: 2.0.4 + hast-util-to-estree@3.1.3: + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.17 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + hast-util-to-html@9.0.5: dependencies: '@types/hast': 3.0.4 @@ -2968,6 +3931,26 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 + hast-util-to-jsx-runtime@2.3.6: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.17 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + hast-util-to-parse5@8.0.0: dependencies: '@types/hast': 3.0.4 @@ -3007,15 +3990,27 @@ snapshots: import-meta-resolve@4.2.0: {} + inline-style-parser@0.2.4: {} + iron-webcrypto@1.2.1: {} - is-arrayish@0.3.2: - optional: true + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.3.2: {} + + is-decimal@2.0.1: {} is-docker@3.0.0: {} is-fullwidth-code-point@3.0.0: {} + is-hexadecimal@2.0.1: {} + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 @@ -3107,6 +4102,8 @@ snapshots: '@babel/types': 7.28.4 source-map-js: 1.2.1 + markdown-extensions@2.0.0: {} + markdown-table@3.0.4: {} mdast-util-definitions@6.0.0: @@ -3196,6 +4193,55 @@ snapshots: transitivePeerDependencies: - supports-color + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + mdast-util-phrasing@4.1.0: dependencies: '@types/mdast': 4.0.4 @@ -3312,6 +4358,57 @@ snapshots: micromark-util-combine-extensions: 2.0.1 micromark-util-types: 2.0.2 + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + micromark-factory-destination@2.0.1: dependencies: micromark-util-character: 2.1.1 @@ -3325,6 +4422,18 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + micromark-factory-space@2.0.1: dependencies: micromark-util-character: 2.1.1 @@ -3377,6 +4486,16 @@ snapshots: micromark-util-encode@2.0.1: {} + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.8 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + micromark-util-html-tag-name@2.0.1: {} micromark-util-normalize-identifier@2.0.1: @@ -3426,6 +4545,26 @@ snapshots: transitivePeerDependencies: - supports-color + mime@3.0.0: {} + + miniflare@4.20250906.2: + dependencies: + '@cspotcode/source-map-support': 0.8.1 + acorn: 8.14.0 + acorn-walk: 8.3.2 + exit-hook: 2.2.1 + glob-to-regexp: 0.4.1 + sharp: 0.33.5 + stoppable: 1.1.0 + undici: 7.14.0 + workerd: 1.20250906.0 + ws: 8.18.0 + youch: 4.1.0-beta.10 + zod: 3.22.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + minipass@7.1.2: {} minizlib@3.0.2: @@ -3489,6 +4628,16 @@ snapshots: pako@0.2.9: {} + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.2.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + parse-latin@7.0.0: dependencies: '@types/nlcst': 2.0.3 @@ -3502,6 +4651,12 @@ snapshots: dependencies: entities: 6.0.1 + party-js@2.2.0: {} + + path-to-regexp@6.3.0: {} + + pathe@2.0.3: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -3525,10 +4680,41 @@ snapshots: property-information@7.1.0: {} + qrcode-generator@2.0.4: {} + radix3@1.1.2: {} readdirp@4.1.2: {} + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.1(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.8 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -3551,6 +4737,14 @@ snapshots: hast-util-raw: 9.1.0 vfile: 6.0.3 + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.3 + transitivePeerDependencies: + - supports-color + rehype-stringify@10.0.1: dependencies: '@types/hast': 3.0.4 @@ -3575,6 +4769,13 @@ snapshots: transitivePeerDependencies: - supports-color + remark-mdx@3.1.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 @@ -3669,6 +4870,32 @@ snapshots: seroval@1.3.2: {} + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.4 + semver: 7.7.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + sharp@0.34.3: dependencies: color: 4.2.3 @@ -3697,7 +4924,6 @@ snapshots: '@img/sharp-win32-arm64': 0.34.3 '@img/sharp-win32-ia32': 0.34.3 '@img/sharp-win32-x64': 0.34.3 - optional: true shiki@3.12.2: dependencies: @@ -3713,7 +4939,6 @@ snapshots: simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 - optional: true sisteransi@1.0.5: {} @@ -3736,8 +4961,12 @@ snapshots: source-map-js@1.2.1: {} + source-map@0.7.6: {} + space-separated-tokens@2.0.2: {} + stoppable@1.1.0: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -3763,6 +4992,16 @@ snapshots: dependencies: ansi-regex: 6.2.2 + style-to-js@1.1.17: + dependencies: + style-to-object: 1.0.9 + + style-to-object@1.0.9: + dependencies: + inline-style-parser: 0.2.4 + + supports-color@10.2.2: {} + tailwindcss@4.1.13: {} tapable@2.2.3: {} @@ -3809,6 +5048,16 @@ snapshots: undici-types@7.10.0: {} + undici@7.14.0: {} + + unenv@2.0.0-rc.21: + dependencies: + defu: 6.1.4 + exsolve: 1.0.7 + ohash: 2.0.11 + pathe: 2.0.3 + ufo: 1.6.1 + unicode-properties@1.4.1: dependencies: base64-js: 1.5.1 @@ -3849,6 +5098,10 @@ snapshots: '@types/unist': 3.0.3 array-iterate: 2.0.1 + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -3957,12 +5210,38 @@ snapshots: dependencies: string-width: 7.2.0 + workerd@1.20250906.0: + optionalDependencies: + '@cloudflare/workerd-darwin-64': 1.20250906.0 + '@cloudflare/workerd-darwin-arm64': 1.20250906.0 + '@cloudflare/workerd-linux-64': 1.20250906.0 + '@cloudflare/workerd-linux-arm64': 1.20250906.0 + '@cloudflare/workerd-windows-64': 1.20250906.0 + + wrangler@4.37.0: + dependencies: + '@cloudflare/kv-asset-handler': 0.4.0 + '@cloudflare/unenv-preset': 2.7.3(unenv@2.0.0-rc.21)(workerd@1.20250906.0) + blake3-wasm: 2.1.5 + esbuild: 0.25.4 + miniflare: 4.20250906.2 + path-to-regexp: 6.3.0 + unenv: 2.0.0-rc.21 + workerd: 1.20250906.0 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 strip-ansi: 7.1.2 + ws@8.18.0: {} + xxhash-wasm@1.1.0: {} yallist@3.1.1: {} @@ -3979,6 +5258,19 @@ snapshots: yoctocolors@2.1.2: {} + youch-core@0.3.3: + dependencies: + '@poppinss/exception': 1.2.2 + error-stack-parser-es: 1.0.5 + + youch@4.1.0-beta.10: + dependencies: + '@poppinss/colors': 4.1.5 + '@poppinss/dumper': 0.6.4 + '@speed-highlight/core': 1.2.7 + cookie: 1.0.2 + youch-core: 0.3.3 + zod-to-json-schema@3.24.6(zod@3.25.76): dependencies: zod: 3.25.76 @@ -3988,6 +5280,8 @@ snapshots: typescript: 5.9.2 zod: 3.25.76 + zod@3.22.3: {} + zod@3.25.76: {} zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fd050a4..9af3c7d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,5 @@ onlyBuiltDependencies: - '@tailwindcss/oxide' + - esbuild + - sharp + - workerd diff --git a/src/assets/icons/fa-compress-arrows-alt.svg b/src/assets/icons/fa-compress-arrows-alt.svg new file mode 100644 index 0000000..7e09726 --- /dev/null +++ b/src/assets/icons/fa-compress-arrows-alt.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/assets/imgs/Fedora/AfterInstall/OnboardDone.png b/src/assets/imgs/Fedora/AfterInstall/OnboardDone.png new file mode 100644 index 0000000..f72a3e1 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/OnboardDone.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/OnboardDoneCropped.png b/src/assets/imgs/Fedora/AfterInstall/OnboardDoneCropped.png new file mode 100644 index 0000000..6325e86 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/OnboardDoneCropped.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/OptionalTour.png b/src/assets/imgs/Fedora/AfterInstall/OptionalTour.png new file mode 100644 index 0000000..11c1261 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/OptionalTour.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/Password.png b/src/assets/imgs/Fedora/AfterInstall/Password.png new file mode 100644 index 0000000..17a1d2a Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/Password.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/PasswordCropped.png b/src/assets/imgs/Fedora/AfterInstall/PasswordCropped.png new file mode 100644 index 0000000..eb7522f Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/PasswordCropped.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/Privacy.png b/src/assets/imgs/Fedora/AfterInstall/Privacy.png new file mode 100644 index 0000000..7615145 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/Privacy.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/PrivacyCropped.png b/src/assets/imgs/Fedora/AfterInstall/PrivacyCropped.png new file mode 100644 index 0000000..6b9a652 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/PrivacyCropped.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/ThirdPartyRepo.png b/src/assets/imgs/Fedora/AfterInstall/ThirdPartyRepo.png new file mode 100644 index 0000000..1ac416f Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/ThirdPartyRepo.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/ThirdPartyRepoCropped.png b/src/assets/imgs/Fedora/AfterInstall/ThirdPartyRepoCropped.png new file mode 100644 index 0000000..4acae5c Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/ThirdPartyRepoCropped.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/TimeZone.png b/src/assets/imgs/Fedora/AfterInstall/TimeZone.png new file mode 100644 index 0000000..7a98348 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/TimeZone.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/TimeZoneCropped.png b/src/assets/imgs/Fedora/AfterInstall/TimeZoneCropped.png new file mode 100644 index 0000000..0cebd51 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/TimeZoneCropped.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/Typing.png b/src/assets/imgs/Fedora/AfterInstall/Typing.png new file mode 100644 index 0000000..d54ae07 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/Typing.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/TypingCropped.png b/src/assets/imgs/Fedora/AfterInstall/TypingCropped.png new file mode 100644 index 0000000..25def69 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/TypingCropped.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/Username.png b/src/assets/imgs/Fedora/AfterInstall/Username.png new file mode 100644 index 0000000..230c0f6 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/Username.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/UsernameCropped.png b/src/assets/imgs/Fedora/AfterInstall/UsernameCropped.png new file mode 100644 index 0000000..fb1851f Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/UsernameCropped.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/Welcome.png b/src/assets/imgs/Fedora/AfterInstall/Welcome.png new file mode 100644 index 0000000..14844d8 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/Welcome.png differ diff --git a/src/assets/imgs/Fedora/AfterInstall/WelcomeCropped.png b/src/assets/imgs/Fedora/AfterInstall/WelcomeCropped.png new file mode 100644 index 0000000..dc7f748 Binary files /dev/null and b/src/assets/imgs/Fedora/AfterInstall/WelcomeCropped.png differ diff --git a/src/assets/imgs/Fedora/Boot/BootOptionRestoration.png b/src/assets/imgs/Fedora/Boot/BootOptionRestoration.png new file mode 100644 index 0000000..09ef936 Binary files /dev/null and b/src/assets/imgs/Fedora/Boot/BootOptionRestoration.png differ diff --git a/src/assets/imgs/Fedora/Boot/BootOptionRestoration_Cropped.png b/src/assets/imgs/Fedora/Boot/BootOptionRestoration_Cropped.png new file mode 100644 index 0000000..e0cf97a Binary files /dev/null and b/src/assets/imgs/Fedora/Boot/BootOptionRestoration_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Boot/ContinueBootOption.png b/src/assets/imgs/Fedora/Boot/ContinueBootOption.png new file mode 100644 index 0000000..ab85699 Binary files /dev/null and b/src/assets/imgs/Fedora/Boot/ContinueBootOption.png differ diff --git a/src/assets/imgs/Fedora/Boot/ContinueBootOption_Cropped.png b/src/assets/imgs/Fedora/Boot/ContinueBootOption_Cropped.png new file mode 100644 index 0000000..563c18e Binary files /dev/null and b/src/assets/imgs/Fedora/Boot/ContinueBootOption_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Boot/MSIBootMenu.jpg b/src/assets/imgs/Fedora/Boot/MSIBootMenu.jpg new file mode 100644 index 0000000..008e638 Binary files /dev/null and b/src/assets/imgs/Fedora/Boot/MSIBootMenu.jpg differ diff --git a/src/assets/imgs/Fedora/Boot/MSIBootMenu_Cropped.jpg b/src/assets/imgs/Fedora/Boot/MSIBootMenu_Cropped.jpg new file mode 100644 index 0000000..8012c39 Binary files /dev/null and b/src/assets/imgs/Fedora/Boot/MSIBootMenu_Cropped.jpg differ diff --git a/src/assets/imgs/Fedora/FedoraMediaWriter/EraseConfirmation.png b/src/assets/imgs/Fedora/FedoraMediaWriter/EraseConfirmation.png new file mode 100644 index 0000000..0854ea1 Binary files /dev/null and b/src/assets/imgs/Fedora/FedoraMediaWriter/EraseConfirmation.png differ diff --git a/src/assets/imgs/Fedora/FedoraMediaWriter/Finished.png b/src/assets/imgs/Fedora/FedoraMediaWriter/Finished.png new file mode 100644 index 0000000..c701399 Binary files /dev/null and b/src/assets/imgs/Fedora/FedoraMediaWriter/Finished.png differ diff --git a/src/assets/imgs/Fedora/FedoraMediaWriter/RestoreOption.png b/src/assets/imgs/Fedora/FedoraMediaWriter/RestoreOption.png new file mode 100644 index 0000000..afeee5e Binary files /dev/null and b/src/assets/imgs/Fedora/FedoraMediaWriter/RestoreOption.png differ diff --git a/src/assets/imgs/Fedora/FedoraMediaWriter/SelectFedoraRelease_Workstation.png b/src/assets/imgs/Fedora/FedoraMediaWriter/SelectFedoraRelease_Workstation.png new file mode 100644 index 0000000..d7ad7b0 Binary files /dev/null and b/src/assets/imgs/Fedora/FedoraMediaWriter/SelectFedoraRelease_Workstation.png differ diff --git a/src/assets/imgs/Fedora/FedoraMediaWriter/SelectImageSource.png b/src/assets/imgs/Fedora/FedoraMediaWriter/SelectImageSource.png new file mode 100644 index 0000000..e196b8c Binary files /dev/null and b/src/assets/imgs/Fedora/FedoraMediaWriter/SelectImageSource.png differ diff --git a/src/assets/imgs/Fedora/FedoraMediaWriter/WriteOptions.png b/src/assets/imgs/Fedora/FedoraMediaWriter/WriteOptions.png new file mode 100644 index 0000000..d22ec50 Binary files /dev/null and b/src/assets/imgs/Fedora/FedoraMediaWriter/WriteOptions.png differ diff --git a/src/assets/imgs/Fedora/FedoraMediaWriter/Writing.png b/src/assets/imgs/Fedora/FedoraMediaWriter/Writing.png new file mode 100644 index 0000000..c005b83 Binary files /dev/null and b/src/assets/imgs/Fedora/FedoraMediaWriter/Writing.png differ diff --git a/src/assets/imgs/Fedora/Install/Check.png b/src/assets/imgs/Fedora/Install/Check.png new file mode 100644 index 0000000..8645e7c Binary files /dev/null and b/src/assets/imgs/Fedora/Install/Check.png differ diff --git a/src/assets/imgs/Fedora/Install/Check_Cropped.png b/src/assets/imgs/Fedora/Install/Check_Cropped.png new file mode 100644 index 0000000..c65bbb4 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/Check_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/DiskEncryptionUnchecked.png b/src/assets/imgs/Fedora/Install/DiskEncryptionUnchecked.png new file mode 100644 index 0000000..9d73845 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/DiskEncryptionUnchecked.png differ diff --git a/src/assets/imgs/Fedora/Install/DiskEncryptionUnchecked_Cropped.png b/src/assets/imgs/Fedora/Install/DiskEncryptionUnchecked_Cropped.png new file mode 100644 index 0000000..7800175 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/DiskEncryptionUnchecked_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/GRUB.png b/src/assets/imgs/Fedora/Install/GRUB.png new file mode 100644 index 0000000..b7fc6c6 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/GRUB.png differ diff --git a/src/assets/imgs/Fedora/Install/GRUB_Cropped.png b/src/assets/imgs/Fedora/Install/GRUB_Cropped.png new file mode 100644 index 0000000..89d1bf7 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/GRUB_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/Install_Language.png b/src/assets/imgs/Fedora/Install/Install_Language.png new file mode 100644 index 0000000..0065ebd Binary files /dev/null and b/src/assets/imgs/Fedora/Install/Install_Language.png differ diff --git a/src/assets/imgs/Fedora/Install/InstallationFinished.png b/src/assets/imgs/Fedora/Install/InstallationFinished.png new file mode 100644 index 0000000..63fc4d3 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/InstallationFinished.png differ diff --git a/src/assets/imgs/Fedora/Install/InstallationFinished_Cropped.png b/src/assets/imgs/Fedora/Install/InstallationFinished_Cropped.png new file mode 100644 index 0000000..19bf862 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/InstallationFinished_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/InstallationMethod.png b/src/assets/imgs/Fedora/Install/InstallationMethod.png new file mode 100644 index 0000000..b61b514 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/InstallationMethod.png differ diff --git a/src/assets/imgs/Fedora/Install/InstallationMethod_Cropped.png b/src/assets/imgs/Fedora/Install/InstallationMethod_Cropped.png new file mode 100644 index 0000000..afbf0c4 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/InstallationMethod_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/Installing.png b/src/assets/imgs/Fedora/Install/Installing.png new file mode 100644 index 0000000..439aeb5 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/Installing.png differ diff --git a/src/assets/imgs/Fedora/Install/Installing_Cropped.png b/src/assets/imgs/Fedora/Install/Installing_Cropped.png new file mode 100644 index 0000000..ff7b2ec Binary files /dev/null and b/src/assets/imgs/Fedora/Install/Installing_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/Overview.png b/src/assets/imgs/Fedora/Install/Overview.png new file mode 100644 index 0000000..8e56381 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/Overview.png differ diff --git a/src/assets/imgs/Fedora/Install/ReclaimSpace.png b/src/assets/imgs/Fedora/Install/ReclaimSpace.png new file mode 100644 index 0000000..e89b6c8 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/ReclaimSpace.png differ diff --git a/src/assets/imgs/Fedora/Install/ReclaimSpaceDone.png b/src/assets/imgs/Fedora/Install/ReclaimSpaceDone.png new file mode 100644 index 0000000..e073257 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/ReclaimSpaceDone.png differ diff --git a/src/assets/imgs/Fedora/Install/ReclaimSpaceDone_Cropped.png b/src/assets/imgs/Fedora/Install/ReclaimSpaceDone_Cropped.png new file mode 100644 index 0000000..36ab69b Binary files /dev/null and b/src/assets/imgs/Fedora/Install/ReclaimSpaceDone_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/ReclaimSpaceSlider.png b/src/assets/imgs/Fedora/Install/ReclaimSpaceSlider.png new file mode 100644 index 0000000..2131cb8 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/ReclaimSpaceSlider.png differ diff --git a/src/assets/imgs/Fedora/Install/ReclaimSpaceSlider_Cropped.png b/src/assets/imgs/Fedora/Install/ReclaimSpaceSlider_Cropped.png new file mode 100644 index 0000000..be74e5d Binary files /dev/null and b/src/assets/imgs/Fedora/Install/ReclaimSpaceSlider_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/ReclaimSpace_Cropped.png b/src/assets/imgs/Fedora/Install/ReclaimSpace_Cropped.png new file mode 100644 index 0000000..4fdfdbd Binary files /dev/null and b/src/assets/imgs/Fedora/Install/ReclaimSpace_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/RestartMenu.png b/src/assets/imgs/Fedora/Install/RestartMenu.png new file mode 100644 index 0000000..ae62d43 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/RestartMenu.png differ diff --git a/src/assets/imgs/Fedora/Install/RestartMenu_Cropped.png b/src/assets/imgs/Fedora/Install/RestartMenu_Cropped.png new file mode 100644 index 0000000..c22c4f8 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/RestartMenu_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/ReviewAndInstall.png b/src/assets/imgs/Fedora/Install/ReviewAndInstall.png new file mode 100644 index 0000000..9c7e7d1 Binary files /dev/null and b/src/assets/imgs/Fedora/Install/ReviewAndInstall.png differ diff --git a/src/assets/imgs/Fedora/Install/ReviewAndInstall_Cropped.png b/src/assets/imgs/Fedora/Install/ReviewAndInstall_Cropped.png new file mode 100644 index 0000000..c270a1d Binary files /dev/null and b/src/assets/imgs/Fedora/Install/ReviewAndInstall_Cropped.png differ diff --git a/src/assets/imgs/Fedora/Install/Welcome.png b/src/assets/imgs/Fedora/Install/Welcome.png new file mode 100644 index 0000000..31c71af Binary files /dev/null and b/src/assets/imgs/Fedora/Install/Welcome.png differ diff --git a/src/assets/imgs/fedora42_kdeplasma.avif b/src/assets/imgs/Fedora/fedora42_kdeplasma.avif similarity index 99% rename from src/assets/imgs/fedora42_kdeplasma.avif rename to src/assets/imgs/Fedora/fedora42_kdeplasma.avif index b96e0c1..63f02bf 100644 Binary files a/src/assets/imgs/fedora42_kdeplasma.avif and b/src/assets/imgs/Fedora/fedora42_kdeplasma.avif differ diff --git a/src/assets/imgs/fedora42_kdeplasma.png b/src/assets/imgs/Fedora/fedora42_kdeplasma.png similarity index 100% rename from src/assets/imgs/fedora42_kdeplasma.png rename to src/assets/imgs/Fedora/fedora42_kdeplasma.png diff --git a/src/assets/imgs/fedora42_workstation.avif b/src/assets/imgs/Fedora/fedora42_workstation.avif similarity index 99% rename from src/assets/imgs/fedora42_workstation.avif rename to src/assets/imgs/Fedora/fedora42_workstation.avif index e655777..cef1884 100644 Binary files a/src/assets/imgs/fedora42_workstation.avif and b/src/assets/imgs/Fedora/fedora42_workstation.avif differ diff --git a/src/assets/imgs/fedora42_workstation.png b/src/assets/imgs/Fedora/fedora42_workstation.png similarity index 100% rename from src/assets/imgs/fedora42_workstation.png rename to src/assets/imgs/Fedora/fedora42_workstation.png diff --git a/src/assets/imgs/FedoraMediaWriter_SelectFedoraRelease.avif b/src/assets/imgs/FedoraMediaWriter_SelectFedoraRelease.avif deleted file mode 100644 index 497a790..0000000 Binary files a/src/assets/imgs/FedoraMediaWriter_SelectFedoraRelease.avif and /dev/null differ diff --git a/src/assets/imgs/FedoraMediaWriter_SelectImageSource.avif b/src/assets/imgs/FedoraMediaWriter_SelectImageSource.avif deleted file mode 100644 index 34a6aa7..0000000 Binary files a/src/assets/imgs/FedoraMediaWriter_SelectImageSource.avif and /dev/null differ diff --git a/src/components/ChoiceList.astro b/src/components/ChoiceList.astro new file mode 100644 index 0000000..ff0bb2f --- /dev/null +++ b/src/components/ChoiceList.astro @@ -0,0 +1,3 @@ +
+ +
diff --git a/src/components/Party.astro b/src/components/Party.astro new file mode 100644 index 0000000..9d70025 --- /dev/null +++ b/src/components/Party.astro @@ -0,0 +1,8 @@ + diff --git a/src/components/QRCode.astro b/src/components/QRCode.astro new file mode 100644 index 0000000..771e18a --- /dev/null +++ b/src/components/QRCode.astro @@ -0,0 +1,26 @@ +--- +import { ORIGIN } from "astro:env/server"; +import qrcode from "qrcode-generator"; + +const { msg, width, height } = Astro.props; + +const qr = qrcode(0, "M"); + +let data = msg; + +if (msg.startsWith("/")) { + data = (ORIGIN ?? Astro.url.host) + msg; +} + +qr.addData(data); +qr.make(); +let img = qr.createImgTag(); + +if (width !== undefined) { + img = img.replace(/width="[0-9]+"/, `width="${width}"`); +} + +img = img.replace(">", ' style="image-rendering: pixelated;">'); +--- + + diff --git a/src/content.config.ts b/src/content.config.ts new file mode 100644 index 0000000..2940e4c --- /dev/null +++ b/src/content.config.ts @@ -0,0 +1,13 @@ +import { defineCollection, z } from "astro:content"; + +import { glob, file } from "astro/loaders"; + +const distroGuide = defineCollection({ + loader: glob({ pattern: "**/*.mdx", base: "./src/data/distro" }), + schema: z.object({ + title: z.string(), + description: z.string().optional(), + }) +}); + +export const collections = { distroGuide }; diff --git a/src/data/fedora.ts b/src/data/distro/fedora/fedora.ts similarity index 91% rename from src/data/fedora.ts rename to src/data/distro/fedora/fedora.ts index 9e99965..f8c6b20 100644 --- a/src/data/fedora.ts +++ b/src/data/distro/fedora/fedora.ts @@ -1,9 +1,9 @@ import type { Dialog } from "@/lib/tinyvn"; import { getRelativeLocaleUrl } from "astro:i18n"; -import fedoraWorkstation from "@/assets/imgs/fedora42_workstation.avif"; -import fedoraWorkstationPng from "@/assets/imgs/fedora42_workstation.png"; -import fedoraPlasma from "@/assets/imgs/fedora42_kdeplasma.avif"; -import fedoraPlasmaPng from "@/assets/imgs/fedora42_kdeplasma.png"; +import fedoraWorkstation from "@/assets/imgs/Fedora/fedora42_workstation.avif"; +import fedoraWorkstationPng from "@/assets/imgs/Fedora/fedora42_workstation.png"; +import fedoraPlasma from "@/assets/imgs/Fedora/fedora42_kdeplasma.avif"; +import fedoraPlasmaPng from "@/assets/imgs/Fedora/fedora42_kdeplasma.png"; const fedoraDialogs: Dialog[] = [ { @@ -145,7 +145,7 @@ appearance. KDE Plasma (Right) may be more familiar for Windows users.`, { action: "link", text: "Continue", - data: getRelativeLocaleUrl("en", "fedora/workstation/0") + data: getRelativeLocaleUrl("en", "distro/fedora/workstation/0") } ] }, // 8 @@ -164,7 +164,7 @@ appearance. KDE Plasma (Right) may be more familiar for Windows users.`, { action: "link", text: "Continue", - data: getRelativeLocaleUrl("en", "fedora/plasma/0") + data: getRelativeLocaleUrl("en", "distro/fedora/plasma/0") } ] } // 9 diff --git a/src/data/distro/fedora/workstation/0.mdx b/src/data/distro/fedora/workstation/0.mdx new file mode 100644 index 0000000..3cbae6f --- /dev/null +++ b/src/data/distro/fedora/workstation/0.mdx @@ -0,0 +1,25 @@ +--- +title: Fedora Media Writer +description: Choosing to download Fedora automatically. +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import selectImageSource from "@/assets/imgs/Fedora/FedoraMediaWriter/SelectImageSource.png"; + +
+ +
+ +Select "Download automatically" and click Next. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/1.mdx b/src/data/distro/fedora/workstation/1.mdx new file mode 100644 index 0000000..1a68cd8 --- /dev/null +++ b/src/data/distro/fedora/workstation/1.mdx @@ -0,0 +1,25 @@ +--- +title: Select Fedora Release +description: Select the Fedora release according to your choosing. +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import selectImageSource from "@/assets/imgs/Fedora/FedoraMediaWriter/SelectFedoraRelease_Workstation.png"; + +
+ +
+ +Select "Fedora Workstation" and click Next. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/2.mdx b/src/data/distro/fedora/workstation/2.mdx new file mode 100644 index 0000000..913e930 --- /dev/null +++ b/src/data/distro/fedora/workstation/2.mdx @@ -0,0 +1,31 @@ +--- +title: Write Options +description: Selecting the USB flash drive write options +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import writeOptions from "@/assets/imgs/Fedora/FedoraMediaWriter/WriteOptions.png"; + +
+ +
+ +Select the latest version available (as of writing, is version 42) and make +sure you're choosing the right device in the USB Drive dropdown. + +Optionally, check "Delete download after writing" if you'd like to save space +and do not plan to format a USB flash drive again with Fedora anytime soon. + +Then, Click "Write" + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/3.mdx b/src/data/distro/fedora/workstation/3.mdx new file mode 100644 index 0000000..166083f --- /dev/null +++ b/src/data/distro/fedora/workstation/3.mdx @@ -0,0 +1,27 @@ +--- +title: Erase Confirmation +description: Confirming the formatting of the USB drive. +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import eraseConfirmation from "@/assets/imgs/Fedora/FedoraMediaWriter/EraseConfirmation.png"; + +
+ +
+ +**The entire device that you have selected will be wiped.** Click "Write" if +you have absolutely made sure that the selected device does not have important +data on it. This action is **irreversible.** + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/4.mdx b/src/data/distro/fedora/workstation/4.mdx new file mode 100644 index 0000000..da5e3ca --- /dev/null +++ b/src/data/distro/fedora/workstation/4.mdx @@ -0,0 +1,26 @@ +--- +title: Wait +description: Wait while Fedora Media Writer does its thing. +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import writing from "@/assets/imgs/Fedora/FedoraMediaWriter/Writing.png"; + +
+ +
+ +Now, wait while Fedora Media Writer is downloading and writing to your USB +flash drive. You can do something else while it does its thing. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/5.mdx b/src/data/distro/fedora/workstation/5.mdx new file mode 100644 index 0000000..a9637ad --- /dev/null +++ b/src/data/distro/fedora/workstation/5.mdx @@ -0,0 +1,25 @@ +--- +title: Finished +description: Finished! Get ready to install. +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import finished from "@/assets/imgs/Fedora/FedoraMediaWriter/Finished.png"; + +
+ +
+ +Done! Next, We'll start the real installation process. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/0.mdx b/src/data/distro/fedora/workstation/afterInstall/0.mdx new file mode 100644 index 0000000..54a2a81 --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/0.mdx @@ -0,0 +1,23 @@ +--- +title: Willkommen +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import welcome from "@/assets/imgs/Fedora/AfterInstall/WelcomeCropped.png"; + + + +Confirm your language selection and simply click "Next". + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/1.mdx b/src/data/distro/fedora/workstation/afterInstall/1.mdx new file mode 100644 index 0000000..8957070 --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/1.mdx @@ -0,0 +1,25 @@ +--- +title: Keyboard Layout +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import keyboard from "@/assets/imgs/Fedora/AfterInstall/TypingCropped.png"; + + + +Select your preferred keyboard layout and click "Next". + +(Don't worry bilinguals, You'll be able to add another keyboard layout later!) + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/2.mdx b/src/data/distro/fedora/workstation/afterInstall/2.mdx new file mode 100644 index 0000000..721267a --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/2.mdx @@ -0,0 +1,28 @@ +--- +title: Privacy +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import welcome from "@/assets/imgs/Fedora/AfterInstall/PrivacyCropped.png"; + +
+ +
+ +Check whether you want location services and automatic problem reporting. + +You can disable the location service if you do not plan to use any apps +that rely on your location such as Maps. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/3.mdx b/src/data/distro/fedora/workstation/afterInstall/3.mdx new file mode 100644 index 0000000..3fc005c --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/3.mdx @@ -0,0 +1,23 @@ +--- +title: On the topic of time +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import timeZone from "@/assets/imgs/Fedora/AfterInstall/TimeZoneCropped.png"; + + + +Search for your city (or the one near you) to select the time zone. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/4.mdx b/src/data/distro/fedora/workstation/afterInstall/4.mdx new file mode 100644 index 0000000..d38d327 --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/4.mdx @@ -0,0 +1,28 @@ +--- +title: Parties! +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import image from "@/assets/imgs/Fedora/AfterInstall/ThirdPartyRepoCropped.png"; + + + +Choose whether you want third-party +repositories + +It is recommended that you enable it to ensure access to a wide-variety of +software and any drivers that you may need now or in the future. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/5.mdx b/src/data/distro/fedora/workstation/afterInstall/5.mdx new file mode 100644 index 0000000..f4f8053 --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/5.mdx @@ -0,0 +1,29 @@ +--- +title: What is thy name? +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import image from "@/assets/imgs/Fedora/AfterInstall/UsernameCropped.png"; + +
+ +
+ +I think this is obvious enough. Full names can have spaces and whatever you +fancy and username mostly just contains alphanumeric characters +under 64 characters in length. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/6.mdx b/src/data/distro/fedora/workstation/afterInstall/6.mdx new file mode 100644 index 0000000..48ab6e4 --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/6.mdx @@ -0,0 +1,27 @@ +--- +title: "********" +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import image from "@/assets/imgs/Fedora/AfterInstall/PasswordCropped.png"; + +
+ +
+ +Set a new password for your new user account. Just use whatever but most +importantly, **Don't forget them.** (Write it down in a note somewhere if you +must) + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/7.mdx b/src/data/distro/fedora/workstation/afterInstall/7.mdx new file mode 100644 index 0000000..b348dd5 --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/7.mdx @@ -0,0 +1,26 @@ +--- +title: Hooray +--- + +import { Picture } from "astro:assets"; +import Party from "@/components/Party.astro"; +import ChoiceList from "@/components/ChoiceList.astro"; +import image from "@/assets/imgs/Fedora/AfterInstall/OnboardDoneCropped.png"; + +
+ +
+ + + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/afterInstall/8.mdx b/src/data/distro/fedora/workstation/afterInstall/8.mdx new file mode 100644 index 0000000..1ca5554 --- /dev/null +++ b/src/data/distro/fedora/workstation/afterInstall/8.mdx @@ -0,0 +1,28 @@ +--- +title: Hooray +--- + +import { Picture } from "astro:assets"; +import Party from "@/components/Party.astro"; +import ChoiceList from "@/components/ChoiceList.astro"; +import image from "@/assets/imgs/Fedora/AfterInstall/OptionalTour.png"; + +
+ +
+ +Now press the Super key (or also called the Windows key) and get into the +overview of your desktop! You may receive this tour invitation and I would +recommend that you take the tour to learn your way around the desktop. + + + + Back Home + + diff --git a/src/data/distro/fedora/workstation/install/0.mdx b/src/data/distro/fedora/workstation/install/0.mdx new file mode 100644 index 0000000..8bcc4bf --- /dev/null +++ b/src/data/distro/fedora/workstation/install/0.mdx @@ -0,0 +1,21 @@ +--- +title: Installation +description: The steps of installing Fedora Linux +--- + +import ChoiceList from "@/components/ChoiceList.astro"; +import QRCode from "@/components/QRCode.astro"; + +The steps after this will require you to restart the machine you're going to +install Linux on. If that is the machine you're viewing this guide on, You +should likely switch to a phone or other devices. + +
+ +
+ + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/1.mdx b/src/data/distro/fedora/workstation/install/1.mdx new file mode 100644 index 0000000..e7b9c34 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/1.mdx @@ -0,0 +1,18 @@ +--- +title: Restart +description: Restarting your machine to boot from the USB flash drive +--- + +import ChoiceList from "@/components/ChoiceList.astro"; + +Next, you'll need to restart your machine to boot from the USB flash drive. + +Please look up the boot menu key for your laptop/mainboard manufacturer and +then when restarting, Press that key repeatedly until the "Boot Menu" pops +up. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/10.mdx b/src/data/distro/fedora/workstation/install/10.mdx new file mode 100644 index 0000000..308c6e4 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/10.mdx @@ -0,0 +1,32 @@ +--- +title: Installation Method +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import installMethod from "@/assets/imgs/Fedora/Install/InstallationMethod_Cropped.png"; + +
+ +
+ "Share disk with other operating system" - Share disk space, have more than one OS on your machine + + "Use entire disk" - Wipe the entire thing and install Fedora + + We won't talk about the third option in the picture because it's advanced™ +
+ +
+ + + + I choose to share + + + Use the entire thang + + diff --git a/src/data/distro/fedora/workstation/install/11.mdx b/src/data/distro/fedora/workstation/install/11.mdx new file mode 100644 index 0000000..1b6a3b0 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/11.mdx @@ -0,0 +1,23 @@ +--- +title: Sharing is caring +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import reclaimSpace from "@/assets/imgs/Fedora/Install/ReclaimSpace_Cropped.png"; +import ResizeIcon from "@/assets/icons/fa-compress-arrows-alt.svg"; + + + +You should likely resize the biggest partition, which in the picture is `sda3` +with 67.9 GB of total space (which in the example system, is the Windows C +drive). Click +to resize. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/12.mdx b/src/data/distro/fedora/workstation/install/12.mdx new file mode 100644 index 0000000..6f7581b --- /dev/null +++ b/src/data/distro/fedora/workstation/install/12.mdx @@ -0,0 +1,22 @@ +--- +title: Resize it! +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import reclaimSpace from "@/assets/imgs/Fedora/Install/ReclaimSpaceSlider_Cropped.png"; + + + +Choose a new size for your partition. Please also keep in mind the available +space of your partition. Simply click "Resize" after you're done. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/13.mdx b/src/data/distro/fedora/workstation/install/13.mdx new file mode 100644 index 0000000..f3cf5fa --- /dev/null +++ b/src/data/distro/fedora/workstation/install/13.mdx @@ -0,0 +1,21 @@ +--- +title: Reclaim Territory +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import reclaimSpace from "@/assets/imgs/Fedora/Install/ReclaimSpaceDone_Cropped.png"; + + + +Now, Verify your configuration and click "Reclaim space". + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/14.mdx b/src/data/distro/fedora/workstation/install/14.mdx new file mode 100644 index 0000000..6ef7e6b --- /dev/null +++ b/src/data/distro/fedora/workstation/install/14.mdx @@ -0,0 +1,27 @@ +--- +title: Disk Encryption +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import diskEncryption from "@/assets/imgs/Fedora/Install/DiskEncryptionUnchecked_Cropped.png"; + +
+ +
+ You can optionally encrypt your disk. If you wish to encrypt, Check the + checkbox and enter the required information. If not, Just go ahead and + press "Next". +
+ +
+ + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/15.mdx b/src/data/distro/fedora/workstation/install/15.mdx new file mode 100644 index 0000000..fa3a396 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/15.mdx @@ -0,0 +1,25 @@ +--- +title: Review and Install +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import reviewAndInstall from "@/assets/imgs/Fedora/Install/ReviewAndInstall_Cropped.png"; + +
+ +
+ Review what the installer is going to do, and press "Install"! +
+ +
+ + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/16.mdx b/src/data/distro/fedora/workstation/install/16.mdx new file mode 100644 index 0000000..ab000b9 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/16.mdx @@ -0,0 +1,24 @@ +--- +title: Installing... +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import installing from "@/assets/imgs/Fedora/Install/Installing_Cropped.png"; + + + +Patiently wait. Eat some snacks, listen to some music, find something else to do. + +This process should take around 5-10 minutes or longer depending on your +hardware speed and internet connection. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/17.mdx b/src/data/distro/fedora/workstation/install/17.mdx new file mode 100644 index 0000000..2a60415 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/17.mdx @@ -0,0 +1,21 @@ +--- +title: You slayed it +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import installing from "@/assets/imgs/Fedora/Install/InstallationFinished_Cropped.png"; + + + +Done! + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/18.mdx b/src/data/distro/fedora/workstation/install/18.mdx new file mode 100644 index 0000000..11b298a --- /dev/null +++ b/src/data/distro/fedora/workstation/install/18.mdx @@ -0,0 +1,26 @@ +--- +title: Your journey begins anew +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import restart from "@/assets/imgs/Fedora/Install/RestartMenu_Cropped.png"; + +
+ +
+ +Now, go to the top right corner of your desktop and click to open the System +menu, then press the power button and restart. (Remember this menu, you'll use +it often!) + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/2.mdx b/src/data/distro/fedora/workstation/install/2.mdx new file mode 100644 index 0000000..20f8ca2 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/2.mdx @@ -0,0 +1,25 @@ +--- +title: Boot Menu +description: Choose your USB flash drive +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import bootMenu from "@/assets/imgs/Fedora/Boot/MSIBootMenu_Cropped.jpg"; + +
+ +
Example: MSI Boot Menu
+
+ +In the next 3 steps, Please read what's on here first before putting it into +action as it will mostly require fast actions. + +After the boot menu pops up, use the arrow keys (Up/Down) on your keyboard to +select the USB flash drive then press Enter. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/3.mdx b/src/data/distro/fedora/workstation/install/3.mdx new file mode 100644 index 0000000..3af12a4 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/3.mdx @@ -0,0 +1,29 @@ +--- +title: Boot Menu +description: Choose your USB flash drive +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import bootOption from "@/assets/imgs/Fedora/Boot/BootOptionRestoration_Cropped.png"; + +
+ +
+ You _may_ see this screen if you have secure boot enabled, Press any key on + your keyboard to stop your system from restarting. + + You can ignore this step (and the next) if you do not face this screen. +
+ +
+ + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/4.mdx b/src/data/distro/fedora/workstation/install/4.mdx new file mode 100644 index 0000000..8514b99 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/4.mdx @@ -0,0 +1,26 @@ +--- +title: Boot Menu +description: Choose your USB flash drive +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import continueBoot from "@/assets/imgs/Fedora/Boot/ContinueBootOption_Cropped.png"; + +
+ +
+ After that, press the arrow down key to select "Continue boot" and then + press Enter. +
+
+ + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/5.mdx b/src/data/distro/fedora/workstation/install/5.mdx new file mode 100644 index 0000000..3334491 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/5.mdx @@ -0,0 +1,27 @@ +--- +title: GRUB Menu +description: Entering Fedora Linux +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import continueBoot from "@/assets/imgs/Fedora/Install/GRUB_Cropped.png"; + +
+ +
+ You can simply press Enter to continue. However, If your machine is + slow, You could skip the test by pressing the arrow up key and Enter to + directly enter the desktop. +
+
+ + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/6.mdx b/src/data/distro/fedora/workstation/install/6.mdx new file mode 100644 index 0000000..f04dcb0 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/6.mdx @@ -0,0 +1,23 @@ +--- +title: Integrity Check +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import check from "@/assets/imgs/Fedora/Install/Check_Cropped.png"; + + + +If you didn't skip the test, You will see this screen. +Simply wait for it to complete and you'll go right into +the desktop. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/7.mdx b/src/data/distro/fedora/workstation/install/7.mdx new file mode 100644 index 0000000..12eb0c7 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/7.mdx @@ -0,0 +1,24 @@ +--- +title: Welcome +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import overview from "@/assets/imgs/Fedora/Install/Overview.png"; + + + +Welcome to the desktop! You're in the "Overview" view and you can simply click +on the Welcome window to get started in installing Fedora Workstation, or +optionally, you could explore and play with it a little first. + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/8.mdx b/src/data/distro/fedora/workstation/install/8.mdx new file mode 100644 index 0000000..2f06297 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/8.mdx @@ -0,0 +1,22 @@ +--- +title: Install +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import welcome from "@/assets/imgs/Fedora/Install/Welcome.png"; + + + +So, let's get started on the real installation. Click "Install Fedora..." + + + + Continue + + diff --git a/src/data/distro/fedora/workstation/install/9.mdx b/src/data/distro/fedora/workstation/install/9.mdx new file mode 100644 index 0000000..665cae1 --- /dev/null +++ b/src/data/distro/fedora/workstation/install/9.mdx @@ -0,0 +1,22 @@ +--- +title: Language +--- + +import { Picture } from "astro:assets"; +import ChoiceList from "@/components/ChoiceList.astro"; +import language from "@/assets/imgs/Fedora/Install/Install_Language.png"; + + + +Select your preferred language and click Next. + + + + Continue + + diff --git a/src/data/distroquiz.ts b/src/data/distroquiz.ts index b4aa775..0dc0fe0 100644 --- a/src/data/distroquiz.ts +++ b/src/data/distroquiz.ts @@ -70,7 +70,7 @@ const distroQuizDialogs: Dialog[] = [ { text: "Continue", action: "link", - data: getRelativeLocaleUrl("en", "fedora/0"), + data: getRelativeLocaleUrl("en", "distro/fedora/0"), }, ], }, // 3 diff --git a/src/pages/en/contents.astro b/src/pages/en/contents.astro new file mode 100644 index 0000000..f0f6a25 --- /dev/null +++ b/src/pages/en/contents.astro @@ -0,0 +1,140 @@ +--- +import BasicLayout from "@/layouts/BasicLayout.astro"; +import distroQuizDialogs from "@/data/distroquiz"; +import { getRelativeLocaleUrl } from "astro:i18n"; +import fedoraDialogs from "@/data/distro/fedora/fedora"; +import { getCollection } from "astro:content"; + +const docs = await getCollection("distroGuide"); +--- + + +
+
+ distroquiz + +
+
+ Fedora Linux +
+ Fedora Workstation +
    + { + docs + .filter((v) => { + const index = v.id.substring(19); + return !Number.isNaN(parseInt(index)); + }) + .map((v, i) => ( +
  • + + {v.data.title} + +
  • + )) + } +
+
+ Installation +
    + { + docs + .filter((v) => { + const index = v.id.substring(27); + return !Number.isNaN(parseInt(index)); + }) + .map((v, i) => ( +
  • + + {v.data.title} + +
  • + )) + } +
+
+
+ After Installation +
    + { + docs + .filter((v) => { + const index = v.id.substring(32); + return !Number.isNaN(parseInt(index)); + }) + .map((v, i) => ( +
  • + + {v.data.title} + +
  • + )) + } +
+
+
+ +
+
+
+ + diff --git a/src/pages/en/distro/[...id].astro b/src/pages/en/distro/[...id].astro new file mode 100644 index 0000000..98db017 --- /dev/null +++ b/src/pages/en/distro/[...id].astro @@ -0,0 +1,29 @@ +--- +import TransitionLayout from "@/layouts/TransitionLayout.astro"; +import type { GetStaticPaths } from "astro"; +import { getCollection, render } from "astro:content"; + +export const getStaticPaths = (async () => { + const docs = await getCollection("distroGuide"); + + return docs.map((doc) => ({ + params: { id: doc.id }, + props: { doc }, + })); +}) satisfies GetStaticPaths; + +const { doc } = Astro.props; +const { Content } = await render(doc); +--- + + +
+
+

{doc.data.title}

+ +
+
+
diff --git a/src/pages/en/fedora/[index].astro b/src/pages/en/distro/fedora/[index].astro similarity index 80% rename from src/pages/en/fedora/[index].astro rename to src/pages/en/distro/fedora/[index].astro index 033354a..c68649e 100644 --- a/src/pages/en/fedora/[index].astro +++ b/src/pages/en/distro/fedora/[index].astro @@ -1,8 +1,8 @@ --- import TransitionLayout from "@/layouts/TransitionLayout.astro"; -import { getChoices, mapStaticPaths, type Dialog } from "@/lib/tinyvn"; +import { getChoices, mapStaticPaths } from "@/lib/tinyvn"; import type { GetStaticPaths } from "astro"; -import dialogs from "@/data/fedora"; +import dialogs from "@/data/distro/fedora/fedora"; export const getStaticPaths = (() => { return mapStaticPaths(dialogs); @@ -19,7 +19,7 @@ const { title, content, choices } = Astro.props;

diff --git a/src/pages/en/index.astro b/src/pages/en/index.astro index 9c4eb8b..d510488 100644 --- a/src/pages/en/index.astro +++ b/src/pages/en/index.astro @@ -70,7 +70,14 @@ const startLink = getRelativeLocaleUrl("en", "start"); diff --git a/src/pages/en/privacy.astro b/src/pages/en/privacy.astro new file mode 100644 index 0000000..94507b5 --- /dev/null +++ b/src/pages/en/privacy.astro @@ -0,0 +1,70 @@ +--- +import BasicLayout from "@/layouts/BasicLayout.astro"; +--- + + +
+

Privacy Policy

+ +

+ Privacy Policy written on 16th September 2025. In effect + immediately. +

+ +

Definitions

+ +

"We" refers to the operator(s) of the website.

+ +

Your Information

+ +

+ We do not store or keep track of your information for longer than + necessary. +

+ +

Definition of "necessary"

+ +

+ Your information is only stored as long as the server needs it to + process your request and serve you the webpage. +

+ +

Changes to this policy

+ +

+ When this policy is edited in a way that changes its meaning such as + how we collect, process and store data, A prominent banner shall be + made visible on the main page of the website. Changes to this policy + will be notified at least 30 days before it is in effect. +

+ +

+ What doesn't consider as a meaning change are minor changes such as + corrections/clarifications of inaccurate statements that does not + change the overall meaning of the policy and spelling or + grammartical fixes. +

+ +

Contact

+

+ If you have questions or suggestions, Please reach out to + linesofcodes[at]dailitation[dot]xyz +

+
+
+ + diff --git a/wrangler.jsonc b/wrangler.jsonc new file mode 100644 index 0000000..8ed2631 --- /dev/null +++ b/wrangler.jsonc @@ -0,0 +1,9 @@ +{ + "$schema": "node_modules/wrangler/config-schema.json", + "name": "movetolinux", + // Update to today's date + "compatibility_date": "2025-09-15", + "assets": { + "directory": "./dist" + } +} \ No newline at end of file