feat(ui): integrate tailwindcss and daisyui, update layouts

- Add TailwindCSS and DaisyUI for improved styling and theme support
- Refactor global styles to use Tailwind and DaisyUI plugins
- Update Header and Footer components for new design system
- Remove unused Hamburger and Navigation components
- Enhance BlogPost and Social components with new styles
- Adjust BaseLayout and page templates for better structure
- Update tsconfig for path alias support
This commit is contained in:
Ruidy 2025-07-11 09:21:56 +02:00
parent 143b71e74b
commit 82aaf6e981
No known key found for this signature in database
GPG key ID: E00F51288CB857CC
18 changed files with 880 additions and 172 deletions

1
.prettierrc Normal file
View file

@ -0,0 +1 @@
{ "plugins": ["prettier-plugin-tailwindcss"] }

View file

@ -1,10 +1,13 @@
// @ts-check // @ts-check
import { defineConfig } from "astro/config"; import { defineConfig } from "astro/config";
import tailwindcss from "@tailwindcss/vite";
import vue from "@astrojs/vue"; import vue from "@astrojs/vue";
// https://astro.build/config // https://astro.build/config
export default defineConfig({ export default defineConfig({
site: "https://orbital-orbit.netlify.app", site: "https://orbital-orbit.netlify.app",
integrations: [vue()], integrations: [vue()],
vite: {
plugins: [tailwindcss()],
},
}); });

View file

@ -13,12 +13,17 @@
"@astrojs/check": "^0.9.4", "@astrojs/check": "^0.9.4",
"@astrojs/rss": "^4.0.12", "@astrojs/rss": "^4.0.12",
"@astrojs/vue": "^5.1.0", "@astrojs/vue": "^5.1.0",
"@tailwindcss/vite": "^4.1.3",
"astro": "^5.11.0", "astro": "^5.11.0",
"tailwindcss": "^4.1.3",
"typescript": "^5.8.3", "typescript": "^5.8.3",
"vue": "^3.5.17" "vue": "^3.5.17"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/typography": "^0.5.16",
"daisyui": "^5.0.46",
"prettier": "^3.6.2", "prettier": "^3.6.2",
"prettier-plugin-astro": "^0.14.1" "prettier-plugin-astro": "^0.14.1",
"prettier-plugin-tailwindcss": "^0.6.14"
} }
} }

View file

@ -15,10 +15,16 @@ importers:
version: 4.0.12 version: 4.0.12
"@astrojs/vue": "@astrojs/vue":
specifier: ^5.1.0 specifier: ^5.1.0
version: 5.1.0(@types/node@24.0.12)(astro@5.11.0(@types/node@24.0.12)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0))(rollup@4.44.2)(vue@3.5.17(typescript@5.8.3))(yaml@2.8.0) version: 5.1.0(@types/node@24.0.12)(astro@5.11.0(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0))(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.2)(vue@3.5.17(typescript@5.8.3))(yaml@2.8.0)
"@tailwindcss/vite":
specifier: ^4.1.3
version: 4.1.11(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))
astro: astro:
specifier: ^5.11.0 specifier: ^5.11.0
version: 5.11.0(@types/node@24.0.12)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0) version: 5.11.0(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0)
tailwindcss:
specifier: ^4.1.3
version: 4.1.11
typescript: typescript:
specifier: ^5.8.3 specifier: ^5.8.3
version: 5.8.3 version: 5.8.3
@ -26,12 +32,21 @@ importers:
specifier: ^3.5.17 specifier: ^3.5.17
version: 3.5.17(typescript@5.8.3) version: 3.5.17(typescript@5.8.3)
devDependencies: devDependencies:
"@tailwindcss/typography":
specifier: ^0.5.16
version: 0.5.16(tailwindcss@4.1.11)
daisyui:
specifier: ^5.0.46
version: 5.0.46
prettier: prettier:
specifier: ^3.6.2 specifier: ^3.6.2
version: 3.6.2 version: 3.6.2
prettier-plugin-astro: prettier-plugin-astro:
specifier: ^0.14.1 specifier: ^0.14.1
version: 0.14.1 version: 0.14.1
prettier-plugin-tailwindcss:
specifier: ^0.6.14
version: 0.6.14(prettier-plugin-astro@0.14.1)(prettier@3.6.2)
packages: packages:
"@ampproject/remapping@2.3.0": "@ampproject/remapping@2.3.0":
@ -805,6 +820,13 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
"@isaacs/fs-minipass@4.0.1":
resolution:
{
integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==,
}
engines: { node: ">=18.0.0" }
"@jridgewell/gen-mapping@0.3.12": "@jridgewell/gen-mapping@0.3.12":
resolution: resolution:
{ {
@ -1102,6 +1124,149 @@ packages:
integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==, integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==,
} }
"@tailwindcss/node@4.1.11":
resolution:
{
integrity: sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==,
}
"@tailwindcss/oxide-android-arm64@4.1.11":
resolution:
{
integrity: sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==,
}
engines: { node: ">= 10" }
cpu: [arm64]
os: [android]
"@tailwindcss/oxide-darwin-arm64@4.1.11":
resolution:
{
integrity: sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==,
}
engines: { node: ">= 10" }
cpu: [arm64]
os: [darwin]
"@tailwindcss/oxide-darwin-x64@4.1.11":
resolution:
{
integrity: sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==,
}
engines: { node: ">= 10" }
cpu: [x64]
os: [darwin]
"@tailwindcss/oxide-freebsd-x64@4.1.11":
resolution:
{
integrity: sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==,
}
engines: { node: ">= 10" }
cpu: [x64]
os: [freebsd]
"@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11":
resolution:
{
integrity: sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==,
}
engines: { node: ">= 10" }
cpu: [arm]
os: [linux]
"@tailwindcss/oxide-linux-arm64-gnu@4.1.11":
resolution:
{
integrity: sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==,
}
engines: { node: ">= 10" }
cpu: [arm64]
os: [linux]
"@tailwindcss/oxide-linux-arm64-musl@4.1.11":
resolution:
{
integrity: sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==,
}
engines: { node: ">= 10" }
cpu: [arm64]
os: [linux]
"@tailwindcss/oxide-linux-x64-gnu@4.1.11":
resolution:
{
integrity: sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==,
}
engines: { node: ">= 10" }
cpu: [x64]
os: [linux]
"@tailwindcss/oxide-linux-x64-musl@4.1.11":
resolution:
{
integrity: sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==,
}
engines: { node: ">= 10" }
cpu: [x64]
os: [linux]
"@tailwindcss/oxide-wasm32-wasi@4.1.11":
resolution:
{
integrity: sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==,
}
engines: { node: ">=14.0.0" }
cpu: [wasm32]
bundledDependencies:
- "@napi-rs/wasm-runtime"
- "@emnapi/core"
- "@emnapi/runtime"
- "@tybys/wasm-util"
- "@emnapi/wasi-threads"
- tslib
"@tailwindcss/oxide-win32-arm64-msvc@4.1.11":
resolution:
{
integrity: sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==,
}
engines: { node: ">= 10" }
cpu: [arm64]
os: [win32]
"@tailwindcss/oxide-win32-x64-msvc@4.1.11":
resolution:
{
integrity: sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==,
}
engines: { node: ">= 10" }
cpu: [x64]
os: [win32]
"@tailwindcss/oxide@4.1.11":
resolution:
{
integrity: sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==,
}
engines: { node: ">= 10" }
"@tailwindcss/typography@0.5.16":
resolution:
{
integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==,
}
peerDependencies:
tailwindcss: ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1"
"@tailwindcss/vite@4.1.11":
resolution:
{
integrity: sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==,
}
peerDependencies:
vite: ^5.2.0 || ^6 || ^7
"@types/debug@4.1.12": "@types/debug@4.1.12":
resolution: resolution:
{ {
@ -1539,6 +1704,13 @@ packages:
} }
engines: { node: ">= 14.16.0" } engines: { node: ">= 14.16.0" }
chownr@3.0.0:
resolution:
{
integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==,
}
engines: { node: ">=18" }
ci-info@4.3.0: ci-info@4.3.0:
resolution: resolution:
{ {
@ -1678,6 +1850,12 @@ packages:
integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==,
} }
daisyui@5.0.46:
resolution:
{
integrity: sha512-vMDZK1tI/bOb2Mc3Mk5WpquBG3ZqBz1YKZ0xDlvpOvey60dOS4/5Qhdowq1HndbQl7PgDLDYysxAjjUjwR7/eQ==,
}
debug@4.4.1: debug@4.4.1:
resolution: resolution:
{ {
@ -1812,6 +1990,13 @@ packages:
integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
} }
enhanced-resolve@5.18.2:
resolution:
{
integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==,
}
engines: { node: ">=10.13.0" }
entities@4.5.0: entities@4.5.0:
resolution: resolution:
{ {
@ -2229,6 +2414,13 @@ packages:
integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
} }
jiti@2.4.2:
resolution:
{
integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==,
}
hasBin: true
js-tokens@4.0.0: js-tokens@4.0.0:
resolution: resolution:
{ {
@ -2302,6 +2494,121 @@ packages:
integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==, integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==,
} }
lightningcss-darwin-arm64@1.30.1:
resolution:
{
integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==,
}
engines: { node: ">= 12.0.0" }
cpu: [arm64]
os: [darwin]
lightningcss-darwin-x64@1.30.1:
resolution:
{
integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==,
}
engines: { node: ">= 12.0.0" }
cpu: [x64]
os: [darwin]
lightningcss-freebsd-x64@1.30.1:
resolution:
{
integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==,
}
engines: { node: ">= 12.0.0" }
cpu: [x64]
os: [freebsd]
lightningcss-linux-arm-gnueabihf@1.30.1:
resolution:
{
integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==,
}
engines: { node: ">= 12.0.0" }
cpu: [arm]
os: [linux]
lightningcss-linux-arm64-gnu@1.30.1:
resolution:
{
integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==,
}
engines: { node: ">= 12.0.0" }
cpu: [arm64]
os: [linux]
lightningcss-linux-arm64-musl@1.30.1:
resolution:
{
integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==,
}
engines: { node: ">= 12.0.0" }
cpu: [arm64]
os: [linux]
lightningcss-linux-x64-gnu@1.30.1:
resolution:
{
integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==,
}
engines: { node: ">= 12.0.0" }
cpu: [x64]
os: [linux]
lightningcss-linux-x64-musl@1.30.1:
resolution:
{
integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==,
}
engines: { node: ">= 12.0.0" }
cpu: [x64]
os: [linux]
lightningcss-win32-arm64-msvc@1.30.1:
resolution:
{
integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==,
}
engines: { node: ">= 12.0.0" }
cpu: [arm64]
os: [win32]
lightningcss-win32-x64-msvc@1.30.1:
resolution:
{
integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==,
}
engines: { node: ">= 12.0.0" }
cpu: [x64]
os: [win32]
lightningcss@1.30.1:
resolution:
{
integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==,
}
engines: { node: ">= 12.0.0" }
lodash.castarray@4.4.0:
resolution:
{
integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==,
}
lodash.isplainobject@4.0.6:
resolution:
{
integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==,
}
lodash.merge@4.6.2:
resolution:
{
integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==,
}
lodash@4.17.21: lodash@4.17.21:
resolution: resolution:
{ {
@ -2610,12 +2917,34 @@ packages:
} }
engines: { node: ">=8.6" } engines: { node: ">=8.6" }
minipass@7.1.2:
resolution:
{
integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==,
}
engines: { node: ">=16 || 14 >=14.17" }
minizlib@3.0.2:
resolution:
{
integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==,
}
engines: { node: ">= 18" }
mitt@3.0.1: mitt@3.0.1:
resolution: resolution:
{ {
integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==, integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==,
} }
mkdirp@3.0.1:
resolution:
{
integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==,
}
engines: { node: ">=10" }
hasBin: true
mrmime@2.0.1: mrmime@2.0.1:
resolution: resolution:
{ {
@ -2843,6 +3172,13 @@ packages:
} }
engines: { node: ">=12" } engines: { node: ">=12" }
postcss-selector-parser@6.0.10:
resolution:
{
integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==,
}
engines: { node: ">=4" }
postcss@8.5.6: postcss@8.5.6:
resolution: resolution:
{ {
@ -2857,6 +3193,70 @@ packages:
} }
engines: { node: ^14.15.0 || >=16.0.0 } engines: { node: ^14.15.0 || >=16.0.0 }
prettier-plugin-tailwindcss@0.6.14:
resolution:
{
integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==,
}
engines: { node: ">=14.21.3" }
peerDependencies:
"@ianvs/prettier-plugin-sort-imports": "*"
"@prettier/plugin-hermes": "*"
"@prettier/plugin-oxc": "*"
"@prettier/plugin-pug": "*"
"@shopify/prettier-plugin-liquid": "*"
"@trivago/prettier-plugin-sort-imports": "*"
"@zackad/prettier-plugin-twig": "*"
prettier: ^3.0
prettier-plugin-astro: "*"
prettier-plugin-css-order: "*"
prettier-plugin-import-sort: "*"
prettier-plugin-jsdoc: "*"
prettier-plugin-marko: "*"
prettier-plugin-multiline-arrays: "*"
prettier-plugin-organize-attributes: "*"
prettier-plugin-organize-imports: "*"
prettier-plugin-sort-imports: "*"
prettier-plugin-style-order: "*"
prettier-plugin-svelte: "*"
peerDependenciesMeta:
"@ianvs/prettier-plugin-sort-imports":
optional: true
"@prettier/plugin-hermes":
optional: true
"@prettier/plugin-oxc":
optional: true
"@prettier/plugin-pug":
optional: true
"@shopify/prettier-plugin-liquid":
optional: true
"@trivago/prettier-plugin-sort-imports":
optional: true
"@zackad/prettier-plugin-twig":
optional: true
prettier-plugin-astro:
optional: true
prettier-plugin-css-order:
optional: true
prettier-plugin-import-sort:
optional: true
prettier-plugin-jsdoc:
optional: true
prettier-plugin-marko:
optional: true
prettier-plugin-multiline-arrays:
optional: true
prettier-plugin-organize-attributes:
optional: true
prettier-plugin-organize-imports:
optional: true
prettier-plugin-sort-imports:
optional: true
prettier-plugin-style-order:
optional: true
prettier-plugin-svelte:
optional: true
prettier@2.8.7: prettier@2.8.7:
resolution: resolution:
{ {
@ -3255,6 +3655,26 @@ packages:
} }
engines: { node: ">=16" } engines: { node: ">=16" }
tailwindcss@4.1.11:
resolution:
{
integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==,
}
tapable@2.2.2:
resolution:
{
integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==,
}
engines: { node: ">=6" }
tar@7.4.3:
resolution:
{
integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==,
}
engines: { node: ">=18" }
tiny-inflate@1.0.3: tiny-inflate@1.0.3:
resolution: resolution:
{ {
@ -3539,6 +3959,12 @@ packages:
peerDependencies: peerDependencies:
browserslist: ">= 4.21.0" browserslist: ">= 4.21.0"
util-deprecate@1.0.2:
resolution:
{
integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==,
}
vfile-location@5.0.3: vfile-location@5.0.3:
resolution: resolution:
{ {
@ -3902,6 +4328,13 @@ packages:
integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==,
} }
yallist@5.0.0:
resolution:
{
integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==,
}
engines: { node: ">=18" }
yaml-language-server@1.15.0: yaml-language-server@1.15.0:
resolution: resolution:
{ {
@ -4084,14 +4517,14 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
"@astrojs/vue@5.1.0(@types/node@24.0.12)(astro@5.11.0(@types/node@24.0.12)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0))(rollup@4.44.2)(vue@3.5.17(typescript@5.8.3))(yaml@2.8.0)": "@astrojs/vue@5.1.0(@types/node@24.0.12)(astro@5.11.0(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0))(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.2)(vue@3.5.17(typescript@5.8.3))(yaml@2.8.0)":
dependencies: dependencies:
"@vitejs/plugin-vue": 5.2.1(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) "@vitejs/plugin-vue": 5.2.1(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
"@vitejs/plugin-vue-jsx": 4.2.0(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) "@vitejs/plugin-vue-jsx": 4.2.0(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
"@vue/compiler-sfc": 3.5.17 "@vue/compiler-sfc": 3.5.17
astro: 5.11.0(@types/node@24.0.12)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0) astro: 5.11.0(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
vite-plugin-vue-devtools: 7.7.7(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) vite-plugin-vue-devtools: 7.7.7(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
vue: 3.5.17(typescript@5.8.3) vue: 3.5.17(typescript@5.8.3)
transitivePeerDependencies: transitivePeerDependencies:
- "@nuxt/kit" - "@nuxt/kit"
@ -4493,6 +4926,10 @@ snapshots:
"@img/sharp-win32-x64@0.33.5": "@img/sharp-win32-x64@0.33.5":
optional: true optional: true
"@isaacs/fs-minipass@4.0.1":
dependencies:
minipass: 7.1.2
"@jridgewell/gen-mapping@0.3.12": "@jridgewell/gen-mapping@0.3.12":
dependencies: dependencies:
"@jridgewell/sourcemap-codec": 1.5.4 "@jridgewell/sourcemap-codec": 1.5.4
@ -4634,6 +5071,85 @@ snapshots:
dependencies: dependencies:
tslib: 2.8.1 tslib: 2.8.1
"@tailwindcss/node@4.1.11":
dependencies:
"@ampproject/remapping": 2.3.0
enhanced-resolve: 5.18.2
jiti: 2.4.2
lightningcss: 1.30.1
magic-string: 0.30.17
source-map-js: 1.2.1
tailwindcss: 4.1.11
"@tailwindcss/oxide-android-arm64@4.1.11":
optional: true
"@tailwindcss/oxide-darwin-arm64@4.1.11":
optional: true
"@tailwindcss/oxide-darwin-x64@4.1.11":
optional: true
"@tailwindcss/oxide-freebsd-x64@4.1.11":
optional: true
"@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11":
optional: true
"@tailwindcss/oxide-linux-arm64-gnu@4.1.11":
optional: true
"@tailwindcss/oxide-linux-arm64-musl@4.1.11":
optional: true
"@tailwindcss/oxide-linux-x64-gnu@4.1.11":
optional: true
"@tailwindcss/oxide-linux-x64-musl@4.1.11":
optional: true
"@tailwindcss/oxide-wasm32-wasi@4.1.11":
optional: true
"@tailwindcss/oxide-win32-arm64-msvc@4.1.11":
optional: true
"@tailwindcss/oxide-win32-x64-msvc@4.1.11":
optional: true
"@tailwindcss/oxide@4.1.11":
dependencies:
detect-libc: 2.0.4
tar: 7.4.3
optionalDependencies:
"@tailwindcss/oxide-android-arm64": 4.1.11
"@tailwindcss/oxide-darwin-arm64": 4.1.11
"@tailwindcss/oxide-darwin-x64": 4.1.11
"@tailwindcss/oxide-freebsd-x64": 4.1.11
"@tailwindcss/oxide-linux-arm-gnueabihf": 4.1.11
"@tailwindcss/oxide-linux-arm64-gnu": 4.1.11
"@tailwindcss/oxide-linux-arm64-musl": 4.1.11
"@tailwindcss/oxide-linux-x64-gnu": 4.1.11
"@tailwindcss/oxide-linux-x64-musl": 4.1.11
"@tailwindcss/oxide-wasm32-wasi": 4.1.11
"@tailwindcss/oxide-win32-arm64-msvc": 4.1.11
"@tailwindcss/oxide-win32-x64-msvc": 4.1.11
"@tailwindcss/typography@0.5.16(tailwindcss@4.1.11)":
dependencies:
lodash.castarray: 4.4.0
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
tailwindcss: 4.1.11
"@tailwindcss/vite@4.1.11(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))":
dependencies:
"@tailwindcss/node": 4.1.11
"@tailwindcss/oxide": 4.1.11
tailwindcss: 4.1.11
vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
"@types/debug@4.1.12": "@types/debug@4.1.12":
dependencies: dependencies:
"@types/ms": 2.1.0 "@types/ms": 2.1.0
@ -4666,20 +5182,20 @@ snapshots:
"@ungap/structured-clone@1.3.0": {} "@ungap/structured-clone@1.3.0": {}
"@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))": "@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))":
dependencies: dependencies:
"@babel/core": 7.28.0 "@babel/core": 7.28.0
"@babel/plugin-transform-typescript": 7.28.0(@babel/core@7.28.0) "@babel/plugin-transform-typescript": 7.28.0(@babel/core@7.28.0)
"@rolldown/pluginutils": 1.0.0-beta.25 "@rolldown/pluginutils": 1.0.0-beta.25
"@vue/babel-plugin-jsx": 1.4.0(@babel/core@7.28.0) "@vue/babel-plugin-jsx": 1.4.0(@babel/core@7.28.0)
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
vue: 3.5.17(typescript@5.8.3) vue: 3.5.17(typescript@5.8.3)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
"@vitejs/plugin-vue@5.2.1(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))": "@vitejs/plugin-vue@5.2.1(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))":
dependencies: dependencies:
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
vue: 3.5.17(typescript@5.8.3) vue: 3.5.17(typescript@5.8.3)
"@volar/kit@2.4.18(typescript@5.8.3)": "@volar/kit@2.4.18(typescript@5.8.3)":
@ -4791,14 +5307,14 @@ snapshots:
"@vue/compiler-dom": 3.5.17 "@vue/compiler-dom": 3.5.17
"@vue/shared": 3.5.17 "@vue/shared": 3.5.17
"@vue/devtools-core@7.7.7(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))": "@vue/devtools-core@7.7.7(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))":
dependencies: dependencies:
"@vue/devtools-kit": 7.7.7 "@vue/devtools-kit": 7.7.7
"@vue/devtools-shared": 7.7.7 "@vue/devtools-shared": 7.7.7
mitt: 3.0.1 mitt: 3.0.1
nanoid: 5.1.5 nanoid: 5.1.5
pathe: 2.0.3 pathe: 2.0.3
vite-hot-client: 2.1.0(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0)) vite-hot-client: 2.1.0(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))
vue: 3.5.17(typescript@5.8.3) vue: 3.5.17(typescript@5.8.3)
transitivePeerDependencies: transitivePeerDependencies:
- vite - vite
@ -4875,7 +5391,7 @@ snapshots:
array-iterate@2.0.1: {} array-iterate@2.0.1: {}
astro@5.11.0(@types/node@24.0.12)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0): astro@5.11.0(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.44.2)(typescript@5.8.3)(yaml@2.8.0):
dependencies: dependencies:
"@astrojs/compiler": 2.12.2 "@astrojs/compiler": 2.12.2
"@astrojs/internal-helpers": 0.6.1 "@astrojs/internal-helpers": 0.6.1
@ -4930,8 +5446,8 @@ snapshots:
unist-util-visit: 5.0.0 unist-util-visit: 5.0.0
unstorage: 1.16.0 unstorage: 1.16.0
vfile: 6.0.3 vfile: 6.0.3
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
vitefu: 1.1.1(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0)) vitefu: 1.1.1(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))
xxhash-wasm: 1.1.0 xxhash-wasm: 1.1.0
yargs-parser: 21.1.1 yargs-parser: 21.1.1
yocto-spinner: 0.2.3 yocto-spinner: 0.2.3
@ -5035,6 +5551,8 @@ snapshots:
dependencies: dependencies:
readdirp: 4.1.2 readdirp: 4.1.2
chownr@3.0.0: {}
ci-info@4.3.0: {} ci-info@4.3.0: {}
cli-boxes@3.0.0: {} cli-boxes@3.0.0: {}
@ -5106,6 +5624,8 @@ snapshots:
csstype@3.1.3: {} csstype@3.1.3: {}
daisyui@5.0.46: {}
debug@4.4.1: debug@4.4.1:
dependencies: dependencies:
ms: 2.1.3 ms: 2.1.3
@ -5129,8 +5649,7 @@ snapshots:
destr@2.0.5: {} destr@2.0.5: {}
detect-libc@2.0.4: detect-libc@2.0.4: {}
optional: true
deterministic-object-hash@2.0.2: deterministic-object-hash@2.0.2:
dependencies: dependencies:
@ -5161,6 +5680,11 @@ snapshots:
emoji-regex@8.0.0: {} emoji-regex@8.0.0: {}
enhanced-resolve@5.18.2:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.2
entities@4.5.0: {} entities@4.5.0: {}
entities@6.0.1: {} entities@6.0.1: {}
@ -5452,6 +5976,8 @@ snapshots:
isexe@2.0.0: {} isexe@2.0.0: {}
jiti@2.4.2: {}
js-tokens@4.0.0: {} js-tokens@4.0.0: {}
js-yaml@4.1.0: js-yaml@4.1.0:
@ -5480,6 +6006,57 @@ snapshots:
kolorist@1.8.0: {} kolorist@1.8.0: {}
lightningcss-darwin-arm64@1.30.1:
optional: true
lightningcss-darwin-x64@1.30.1:
optional: true
lightningcss-freebsd-x64@1.30.1:
optional: true
lightningcss-linux-arm-gnueabihf@1.30.1:
optional: true
lightningcss-linux-arm64-gnu@1.30.1:
optional: true
lightningcss-linux-arm64-musl@1.30.1:
optional: true
lightningcss-linux-x64-gnu@1.30.1:
optional: true
lightningcss-linux-x64-musl@1.30.1:
optional: true
lightningcss-win32-arm64-msvc@1.30.1:
optional: true
lightningcss-win32-x64-msvc@1.30.1:
optional: true
lightningcss@1.30.1:
dependencies:
detect-libc: 2.0.4
optionalDependencies:
lightningcss-darwin-arm64: 1.30.1
lightningcss-darwin-x64: 1.30.1
lightningcss-freebsd-x64: 1.30.1
lightningcss-linux-arm-gnueabihf: 1.30.1
lightningcss-linux-arm64-gnu: 1.30.1
lightningcss-linux-arm64-musl: 1.30.1
lightningcss-linux-x64-gnu: 1.30.1
lightningcss-linux-x64-musl: 1.30.1
lightningcss-win32-arm64-msvc: 1.30.1
lightningcss-win32-x64-msvc: 1.30.1
lodash.castarray@4.4.0: {}
lodash.isplainobject@4.0.6: {}
lodash.merge@4.6.2: {}
lodash@4.17.21: {} lodash@4.17.21: {}
longest-streak@3.1.0: {} longest-streak@3.1.0: {}
@ -5822,8 +6399,16 @@ snapshots:
braces: 3.0.3 braces: 3.0.3
picomatch: 2.3.1 picomatch: 2.3.1
minipass@7.1.2: {}
minizlib@3.0.2:
dependencies:
minipass: 7.1.2
mitt@3.0.1: {} mitt@3.0.1: {}
mkdirp@3.0.1: {}
mrmime@2.0.1: {} mrmime@2.0.1: {}
ms@2.1.3: {} ms@2.1.3: {}
@ -5926,6 +6511,11 @@ snapshots:
picomatch@4.0.2: {} picomatch@4.0.2: {}
postcss-selector-parser@6.0.10:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
postcss@8.5.6: postcss@8.5.6:
dependencies: dependencies:
nanoid: 3.3.11 nanoid: 3.3.11
@ -5938,6 +6528,12 @@ snapshots:
prettier: 3.6.2 prettier: 3.6.2
sass-formatter: 0.7.9 sass-formatter: 0.7.9
prettier-plugin-tailwindcss@0.6.14(prettier-plugin-astro@0.14.1)(prettier@3.6.2):
dependencies:
prettier: 3.6.2
optionalDependencies:
prettier-plugin-astro: 0.14.1
prettier@2.8.7: prettier@2.8.7:
optional: true optional: true
@ -6225,6 +6821,19 @@ snapshots:
dependencies: dependencies:
copy-anything: 3.0.5 copy-anything: 3.0.5
tailwindcss@4.1.11: {}
tapable@2.2.2: {}
tar@7.4.3:
dependencies:
"@isaacs/fs-minipass": 4.0.1
chownr: 3.0.0
minipass: 7.1.2
minizlib: 3.0.2
mkdirp: 3.0.1
yallist: 5.0.0
tiny-inflate@1.0.3: {} tiny-inflate@1.0.3: {}
tinyexec@0.3.2: {} tinyexec@0.3.2: {}
@ -6359,6 +6968,8 @@ snapshots:
escalade: 3.2.0 escalade: 3.2.0
picocolors: 1.1.1 picocolors: 1.1.1
util-deprecate@1.0.2: {}
vfile-location@5.0.3: vfile-location@5.0.3:
dependencies: dependencies:
"@types/unist": 3.0.3 "@types/unist": 3.0.3
@ -6374,11 +6985,11 @@ snapshots:
"@types/unist": 3.0.3 "@types/unist": 3.0.3
vfile-message: 4.0.2 vfile-message: 4.0.2
vite-hot-client@2.1.0(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0)): vite-hot-client@2.1.0(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)):
dependencies: dependencies:
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
vite-plugin-inspect@0.8.9(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0)): vite-plugin-inspect@0.8.9(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)):
dependencies: dependencies:
"@antfu/utils": 0.7.10 "@antfu/utils": 0.7.10
"@rollup/pluginutils": 5.2.0(rollup@4.44.2) "@rollup/pluginutils": 5.2.0(rollup@4.44.2)
@ -6389,28 +7000,28 @@ snapshots:
perfect-debounce: 1.0.0 perfect-debounce: 1.0.0
picocolors: 1.1.1 picocolors: 1.1.1
sirv: 3.0.1 sirv: 3.0.1
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
vite-plugin-vue-devtools@7.7.7(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)): vite-plugin-vue-devtools@7.7.7(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)):
dependencies: dependencies:
"@vue/devtools-core": 7.7.7(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) "@vue/devtools-core": 7.7.7(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
"@vue/devtools-kit": 7.7.7 "@vue/devtools-kit": 7.7.7
"@vue/devtools-shared": 7.7.7 "@vue/devtools-shared": 7.7.7
execa: 9.6.0 execa: 9.6.0
sirv: 3.0.1 sirv: 3.0.1
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
vite-plugin-inspect: 0.8.9(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0)) vite-plugin-inspect: 0.8.9(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))
vite-plugin-vue-inspector: 5.3.2(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0)) vite-plugin-vue-inspector: 5.3.2(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0))
transitivePeerDependencies: transitivePeerDependencies:
- "@nuxt/kit" - "@nuxt/kit"
- rollup - rollup
- supports-color - supports-color
- vue - vue
vite-plugin-vue-inspector@5.3.2(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0)): vite-plugin-vue-inspector@5.3.2(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)):
dependencies: dependencies:
"@babel/core": 7.28.0 "@babel/core": 7.28.0
"@babel/plugin-proposal-decorators": 7.28.0(@babel/core@7.28.0) "@babel/plugin-proposal-decorators": 7.28.0(@babel/core@7.28.0)
@ -6421,11 +7032,11 @@ snapshots:
"@vue/compiler-dom": 3.5.17 "@vue/compiler-dom": 3.5.17
kolorist: 1.8.0 kolorist: 1.8.0
magic-string: 0.30.17 magic-string: 0.30.17
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0): vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0):
dependencies: dependencies:
esbuild: 0.25.6 esbuild: 0.25.6
fdir: 6.4.6(picomatch@4.0.2) fdir: 6.4.6(picomatch@4.0.2)
@ -6436,11 +7047,13 @@ snapshots:
optionalDependencies: optionalDependencies:
"@types/node": 24.0.12 "@types/node": 24.0.12
fsevents: 2.3.3 fsevents: 2.3.3
jiti: 2.4.2
lightningcss: 1.30.1
yaml: 2.8.0 yaml: 2.8.0
vitefu@1.1.1(vite@6.3.5(@types/node@24.0.12)(yaml@2.8.0)): vitefu@1.1.1(vite@6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)):
optionalDependencies: optionalDependencies:
vite: 6.3.5(@types/node@24.0.12)(yaml@2.8.0) vite: 6.3.5(@types/node@24.0.12)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)
volar-service-css@0.0.62(@volar/language-service@2.4.18): volar-service-css@0.0.62(@volar/language-service@2.4.18):
dependencies: dependencies:
@ -6599,6 +7212,8 @@ snapshots:
yallist@3.1.1: {} yallist@3.1.1: {}
yallist@5.0.0: {}
yaml-language-server@1.15.0: yaml-language-server@1.15.0:
dependencies: dependencies:
ajv: 8.17.1 ajv: 8.17.1

View file

@ -1,3 +1,4 @@
onlyBuiltDependencies: onlyBuiltDependencies:
- "@tailwindcss/oxide"
- esbuild - esbuild
- sharp - sharp

View file

@ -2,4 +2,6 @@
const { url, title } = Astro.props; const { url, title } = Astro.props;
--- ---
<li><a href={url}>{title}</a></li> <li class="list-row">
<a href={url}> {title} </a>
</li>

View file

@ -14,20 +14,31 @@ const platforms = [
const url = `https://ruidy.nemausat.com`; const url = `https://ruidy.nemausat.com`;
--- ---
<footer> <footer
<p>© 2023 Ruidy</p> class="footer sm:footer-horizontal bg-neutral text-neutral-content items-center p-4"
{ >
platforms.map((platform) => ( <aside class="grid-flow-col items-center">
<Social platform={platform.platform} username={platform.username} /> <svg
)) width="36"
} height="36"
<a href={url}>website</a> viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill-rule="evenodd"
clip-rule="evenodd"
class="fill-current"
>
<path
d="M22.672 15.226l-2.432.811.841 2.515c.33 1.019-.209 2.127-1.23 2.456-1.15.325-2.148-.321-2.463-1.226l-.84-2.518-5.013 1.677.84 2.517c.391 1.203-.434 2.542-1.831 2.542-.88 0-1.601-.564-1.86-1.314l-.842-2.516-2.431.809c-1.135.328-2.145-.317-2.463-1.229-.329-1.018.211-2.127 1.231-2.456l2.432-.809-1.621-4.823-2.432.808c-1.355.384-2.558-.59-2.558-1.839 0-.817.509-1.582 1.327-1.846l2.433-.809-.842-2.515c-.33-1.02.211-2.129 1.232-2.458 1.02-.329 2.13.209 2.461 1.229l.842 2.515 5.011-1.677-.839-2.517c-.403-1.238.484-2.553 1.843-2.553.819 0 1.585.509 1.85 1.326l.841 2.517 2.431-.81c1.02-.33 2.131.211 2.461 1.229.332 1.018-.21 2.126-1.23 2.456l-2.433.809 1.622 4.823 2.433-.809c1.242-.401 2.557.484 2.557 1.838 0 .819-.51 1.583-1.328 1.847m-8.992-6.428l-5.01 1.675 1.619 4.828 5.011-1.674-1.62-4.829z"
></path>
</svg>
<p>Copyright © {new Date().getFullYear()} - All right reserved</p>
</aside>
<nav class="grid-flow-col gap-4 md:place-self-center md:justify-self-end">
{
platforms.map((platform) => (
<Social platform={platform.platform} username={platform.username} />
))
}
<a href={url} class="btn btn-ghost" target="_blank">website</a>
</nav>
</footer> </footer>
<style>
footer {
display: flex;
gap: 1rem;
margin-top: 2rem;
}
</style>

View file

@ -1,5 +0,0 @@
<div class="hamburger">
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
</div>

View file

@ -1,11 +1,58 @@
--- ---
import Hamburger from "./Hamburger.astro";
import Navigation from "./Navigation.astro";
import ThemeIcon from "./ThemeIcon.astro"; import ThemeIcon from "./ThemeIcon.astro";
--- ---
<header> <header>
<Hamburger /> <nav class="navbar bg-neutral text-neutral-content shadow-sm">
<ThemeIcon /> <div class="navbar-start">
<Navigation /> <div class="dropdown">
<div tabindex="0" role="button" class="btn btn-ghost lg:hidden">
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-5 w-5"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M4 6h16M4 12h8m-8 6h16"></path>
</svg>
</div>
<ul
tabindex="0"
class="menu menu-sm dropdown-content bg-base-100 rounded-box z-1 mt-3 w-52 p-2 shadow"
>
<li>
<a href="/about">About</a>
</li>
<li>
<a href="/blog">Blog</a>
</li>
<li>
<a href="/tags">Tags</a>
</li>
</ul>
</div>
<a class="btn btn-ghost text-xl" href="/">Orbital Orbit</a>
</div>
<div class="navbar-center hidden lg:flex">
<ul class="menu menu-horizontal px-1">
<li>
<a href="/about">About</a>
</li>
<li>
<a href="/blog">Blog</a>
</li>
<li>
<a href="/tags">Tags</a>
</li>
</ul>
</div>
<div class="navbar-end">
<ThemeIcon />
</div>
</nav>
</header> </header>

View file

@ -1,6 +0,0 @@
<nav class="nav-links">
<a href="/">Home</a>
<a href="/about">About</a>
<a href="/blog">Blog</a>
<a href="/tags">Tags</a>
</nav>

View file

@ -2,13 +2,6 @@
const { platform, username } = Astro.props; const { platform, username } = Astro.props;
--- ---
<a href={`https://www.${platform}.com/${username}`}>{platform}</a> <a href={`https://www.${platform}.com/${username}`} class="btn btn-primary">
{platform}
<style> </a>
a {
padding: 0.5rem 1rem;
color: white;
background-color: #4c1d95;
text-decoration: none;
}
</style>

View file

@ -19,7 +19,7 @@
background: none; background: none;
} }
.sun { .sun {
fill: black; fill: white;
} }
.moon { .moon {
fill: transparent; fill: transparent;

View file

@ -15,10 +15,11 @@ const { pageTitle } = Astro.props;
<meta name="generator" content={Astro.generator} /> <meta name="generator" content={Astro.generator} />
<title>{pageTitle}</title> <title>{pageTitle}</title>
</head> </head>
<body> <body class="flex flex-col min-h-screen">
<Header /> <Header />
<h1>{pageTitle}</h1> <main class="flex-grow">
<slot /> <slot />
</main>
<Footer /> <Footer />
<script> <script>
import "../scripts/menu.js"; import "../scripts/menu.js";

View file

@ -1,7 +1,7 @@
--- ---
import "../styles/global.css"; import "../styles/global.css";
import BaseLayout from "../layouts/BaseLayout.astro"; import BaseLayout from "../layouts/BaseLayout.astro";
import BLogPost from "../components/BLogPost.astro"; import BlogPost from "../components/BlogPost.astro";
import { getCollection } from "astro:content"; import { getCollection } from "astro:content";
const pageTitle = "Blog posts"; const pageTitle = "Blog posts";
@ -10,12 +10,12 @@ const allPosts = await getCollection("blog");
--- ---
<BaseLayout pageTitle={pageTitle}> <BaseLayout pageTitle={pageTitle}>
<p>This is a list of my blog posts.</p> <h2>This is a list of my blog posts.</h2>
<ul> <ul class="list rounded-box shadow-md">
{ {
allPosts.map((post: any) => ( allPosts.map((post: any) => (
<BLogPost url=`blog/${post.id}/` title={post.data.title} /> <BlogPost url=`blog/${post.id}/` title={post.data.title} />
)) ))
} }
</ul> </ul>

View file

@ -6,6 +6,7 @@ const pageTitle = "Orbital Orbit";
--- ---
<BaseLayout pageTitle={pageTitle}> <BaseLayout pageTitle={pageTitle}>
<h1>{pageTitle}</h1>
<h2>My awesome blog subtitle</h2> <h2>My awesome blog subtitle</h2>
<Greeting client:load messages={["Hi", "Hello", "Howdy", "Hey there"]} /> <Greeting client:load messages={["Hi", "Hello", "Howdy", "Hey there"]} />

View file

@ -1,6 +1,6 @@
--- ---
import { getCollection } from "astro:content"; import { getCollection } from "astro:content";
import BLogPost from "../../components/BLogPost.astro"; import BlogPost from "../../components/BlogPost.astro";
import BaseLayout from "../../layouts/BaseLayout.astro"; import BaseLayout from "../../layouts/BaseLayout.astro";
export async function getStaticPaths() { export async function getStaticPaths() {
@ -21,7 +21,7 @@ const { posts } = Astro.props;
<ul> <ul>
{ {
posts.map((post) => ( posts.map((post) => (
<BLogPost url=`/blog/${post.id}` title={post.data.title} /> <BlogPost url=`/blog/${post.id}` title={post.data.title} />
)) ))
} }
</ul> </ul>

View file

@ -1,91 +1,126 @@
html { @import "tailwindcss";
background-color: #f1f5f9; @plugin "daisyui";
font-family: sans-serif; @plugin "@tailwindcss/typography";
}
body { @custom-variant dark (&:is(.dark *));
margin: 0 auto;
width: 100%;
max-width: 80ch;
padding: 1rem;
line-height: 1.5;
}
* {
box-sizing: border-box;
}
h1 {
margin: 1rem 0;
font-size: 2.5rem;
}
/* nav styles */
.hamburger {
padding-right: 20px;
cursor: pointer;
}
.hamburger .line {
display: block;
width: 40px;
height: 5px;
margin-bottom: 10px;
background-color: #ff9776;
}
.nav-links {
width: 100%;
top: 5rem;
left: 48px;
background-color: #ff9776;
display: none;
margin: 0;
}
.nav-links a {
display: block;
text-align: center;
padding: 10px 0;
text-decoration: none;
font-size: 1.2rem;
font-weight: bold;
text-transform: uppercase;
}
.nav-links a:hover,
.nav-links a:focus {
background-color: #ff9776;
}
.expanded {
display: unset;
}
@media screen and (min-width: 636px) {
.nav-links {
margin-left: 5em;
display: block;
position: static;
width: auto;
background: none;
}
.nav-links a {
display: inline-block;
padding: 15px 20px;
}
.hamburger {
display: none;
}
}
html.dark { html.dark {
background-color: #0d0950; background-color: #0d0950;
color: #fff; color: #fff;
} }
.dark .nav-links a { @theme inline {
color: #fff; --radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-chart-1: var(--chart-1);
--color-chart-2: var(--chart-2);
--color-chart-3: var(--chart-3);
--color-chart-4: var(--chart-4);
--color-chart-5: var(--chart-5);
--color-sidebar: var(--sidebar);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar-primary: var(--sidebar-primary);
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
--color-sidebar-accent: var(--sidebar-accent);
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-ring: var(--sidebar-ring);
}
:root {
--radius: 0.625rem;
--background: oklch(1 0 0);
--foreground: oklch(0.145 0 0);
--card: oklch(1 0 0);
--card-foreground: oklch(0.145 0 0);
--popover: oklch(1 0 0);
--popover-foreground: oklch(0.145 0 0);
--primary: oklch(0.205 0 0);
--primary-foreground: oklch(0.985 0 0);
--secondary: oklch(0.97 0 0);
--secondary-foreground: oklch(0.205 0 0);
--muted: oklch(0.97 0 0);
--muted-foreground: oklch(0.556 0 0);
--accent: oklch(0.97 0 0);
--accent-foreground: oklch(0.205 0 0);
--destructive: oklch(0.577 0.245 27.325);
--border: oklch(0.922 0 0);
--input: oklch(0.922 0 0);
--ring: oklch(0.708 0 0);
--chart-1: oklch(0.646 0.222 41.116);
--chart-2: oklch(0.6 0.118 184.704);
--chart-3: oklch(0.398 0.07 227.392);
--chart-4: oklch(0.828 0.189 84.429);
--chart-5: oklch(0.769 0.188 70.08);
--sidebar: oklch(0.985 0 0);
--sidebar-foreground: oklch(0.145 0 0);
--sidebar-primary: oklch(0.205 0 0);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.97 0 0);
--sidebar-accent-foreground: oklch(0.205 0 0);
--sidebar-border: oklch(0.922 0 0);
--sidebar-ring: oklch(0.708 0 0);
}
.dark {
--background: oklch(0.145 0 0);
--foreground: oklch(0.985 0 0);
--card: oklch(0.205 0 0);
--card-foreground: oklch(0.985 0 0);
--popover: oklch(0.205 0 0);
--popover-foreground: oklch(0.985 0 0);
--primary: oklch(0.922 0 0);
--primary-foreground: oklch(0.205 0 0);
--secondary: oklch(0.269 0 0);
--secondary-foreground: oklch(0.985 0 0);
--muted: oklch(0.269 0 0);
--muted-foreground: oklch(0.708 0 0);
--accent: oklch(0.269 0 0);
--accent-foreground: oklch(0.985 0 0);
--destructive: oklch(0.704 0.191 22.216);
--border: oklch(1 0 0 / 10%);
--input: oklch(1 0 0 / 15%);
--ring: oklch(0.556 0 0);
--chart-1: oklch(0.488 0.243 264.376);
--chart-2: oklch(0.696 0.17 162.48);
--chart-3: oklch(0.769 0.188 70.08);
--chart-4: oklch(0.627 0.265 303.9);
--chart-5: oklch(0.645 0.246 16.439);
--sidebar: oklch(0.205 0 0);
--sidebar-foreground: oklch(0.985 0 0);
--sidebar-primary: oklch(0.488 0.243 264.376);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.269 0 0);
--sidebar-accent-foreground: oklch(0.985 0 0);
--sidebar-border: oklch(1 0 0 / 10%);
--sidebar-ring: oklch(0.556 0 0);
}
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
} }

View file

@ -3,6 +3,10 @@
"include": [".astro/types.d.ts", "**/*"], "include": [".astro/types.d.ts", "**/*"],
"exclude": ["dist"], "exclude": ["dist"],
"compilerOptions": { "compilerOptions": {
"jsx": "preserve" "jsx": "preserve",
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
} }
} }