add tailwind
keypair34 committed
Sep 25, 2025 at 15:39 UTC
833741f62a78a4508359eb5b560f1014596393fa
5 files changed
+485
-75
astro.config.ts
+8
-2
@@ -13,6 +13,8 @@ import remarkTOC from './src/plugins/remark-toc.mjs'
13
import { SITE } from './src/config'
14
import path from 'path'
15
16
+import tailwindcss from '@tailwindcss/vite';
17
+
18
export default defineConfig({
19
site: SITE.website,
20
devToolbar: {
@@ -42,6 +44,7 @@ export default defineConfig({
44
'@': path.resolve('./src')
45
}
46
},
47
+
48
build: {
49
rollupOptions: {
50
output: {
@@ -52,8 +55,11 @@ export default defineConfig({
55
}
56
}
57
},
58
+
59
optimizeDeps: {
60
include: ['katex', 'reading-time']
57
- }
61
+ },
62
+
63
+ plugins: [tailwindcss()]
64
}
59
-})
65
+})
\ No newline at end of file
package.json
+2
@@ -19,6 +19,7 @@
19
"dependencies": {
20
"@astrojs/mdx": "^4.3.0",
21
"@astrojs/sitemap": "^3.4.1",
22
+ "@tailwindcss/vite": "^4.1.13",
23
"astro": "^5.11.0",
24
"katex": "^0.16.22",
25
"mdast-util-to-string": "^4.0.0",
@@ -27,6 +28,7 @@
28
"remark-directive": "^4.0.0",
29
"remark-math": "^6.0.0",
30
"sharp": "^0.34.3",
31
+ "tailwindcss": "^4.1.13",
32
"unist-util-visit": "^5.0.0"
33
},
34
"devDependencies": {
pnpm-lock.yaml
+456
-57
@@ -10,13 +10,16 @@ importers:
10
dependencies:
11
'@astrojs/mdx':
12
specifier: ^4.3.0
13
- version: 4.3.0(astro@5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3))
13
+ version: 4.3.0(astro@5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3))
14
'@astrojs/sitemap':
15
specifier: ^3.4.1
16
version: 3.4.1
17
+ '@tailwindcss/vite':
18
+ specifier: ^4.1.13
19
+ version: 4.1.13(vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3))
20
astro:
21
specifier: ^5.11.0
19
- version: 5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3)
22
+ version: 5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3)
23
katex:
24
specifier: ^0.16.22
25
version: 0.16.22
@@ -38,6 +41,9 @@ importers:
41
sharp:
42
specifier: ^0.34.3
43
version: 0.34.3
44
+ tailwindcss:
45
+ specifier: ^4.1.13
46
+ version: 4.1.13
47
unist-util-visit:
48
specifier: ^5.0.0
49
version: 5.0.0
@@ -47,19 +53,19 @@ importers:
53
version: 9.30.1
54
'@typescript-eslint/eslint-plugin':
55
specifier: ^8.35.1
50
- version: 8.35.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)
56
+ version: 8.35.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3))(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
57
'@typescript-eslint/parser':
58
specifier: ^8.36.0
53
- version: 8.36.0(eslint@9.30.1)(typescript@5.8.3)
59
+ version: 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
60
eslint:
61
specifier: ^9.30.1
56
- version: 9.30.1
62
+ version: 9.30.1(jiti@2.6.0)
63
eslint-config-prettier:
64
specifier: ^10.1.5
59
- version: 10.1.5(eslint@9.30.1)
65
+ version: 10.1.5(eslint@9.30.1(jiti@2.6.0))
66
eslint-plugin-astro:
67
specifier: ^1.3.1
62
- version: 1.3.1(eslint@9.30.1)
68
+ version: 1.3.1(eslint@9.30.1(jiti@2.6.0))
69
globals:
70
specifier: ^16.3.0
71
version: 16.3.0
@@ -77,7 +83,7 @@ importers:
83
version: 5.8.3
84
typescript-eslint:
85
specifier: ^8.36.0
80
- version: 8.36.0(eslint@9.30.1)(typescript@5.8.3)
86
+ version: 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
87
88
packages:
89
@@ -569,9 +575,29 @@ packages:
575
cpu: [x64]
576
os: [win32]
577
578
+ '@isaacs/fs-minipass@4.0.1':
579
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
580
+ engines: {node: '>=18.0.0'}
581
+
582
+ '@jridgewell/gen-mapping@0.3.13':
583
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
584
+
585
+ '@jridgewell/remapping@2.3.5':
586
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
587
+
588
+ '@jridgewell/resolve-uri@3.1.2':
589
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
590
+ engines: {node: '>=6.0.0'}
591
+
592
'@jridgewell/sourcemap-codec@1.5.4':
593
resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
594
595
+ '@jridgewell/sourcemap-codec@1.5.5':
596
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
597
+
598
+ '@jridgewell/trace-mapping@0.3.31':
599
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
600
+
601
'@mdx-js/mdx@3.1.0':
602
resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
603
@@ -727,6 +753,96 @@ packages:
753
'@swc/helpers@0.5.17':
754
resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
755
756
+ '@tailwindcss/node@4.1.13':
757
+ resolution: {integrity: sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==}
758
+
759
+ '@tailwindcss/oxide-android-arm64@4.1.13':
760
+ resolution: {integrity: sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==}
761
+ engines: {node: '>= 10'}
762
+ cpu: [arm64]
763
+ os: [android]
764
+
765
+ '@tailwindcss/oxide-darwin-arm64@4.1.13':
766
+ resolution: {integrity: sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==}
767
+ engines: {node: '>= 10'}
768
+ cpu: [arm64]
769
+ os: [darwin]
770
+
771
+ '@tailwindcss/oxide-darwin-x64@4.1.13':
772
+ resolution: {integrity: sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==}
773
+ engines: {node: '>= 10'}
774
+ cpu: [x64]
775
+ os: [darwin]
776
+
777
+ '@tailwindcss/oxide-freebsd-x64@4.1.13':
778
+ resolution: {integrity: sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==}
779
+ engines: {node: '>= 10'}
780
+ cpu: [x64]
781
+ os: [freebsd]
782
+
783
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13':
784
+ resolution: {integrity: sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==}
785
+ engines: {node: '>= 10'}
786
+ cpu: [arm]
787
+ os: [linux]
788
+
789
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.13':
790
+ resolution: {integrity: sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==}
791
+ engines: {node: '>= 10'}
792
+ cpu: [arm64]
793
+ os: [linux]
794
+
795
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.13':
796
+ resolution: {integrity: sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==}
797
+ engines: {node: '>= 10'}
798
+ cpu: [arm64]
799
+ os: [linux]
800
+
801
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.13':
802
+ resolution: {integrity: sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==}
803
+ engines: {node: '>= 10'}
804
+ cpu: [x64]
805
+ os: [linux]
806
+
807
+ '@tailwindcss/oxide-linux-x64-musl@4.1.13':
808
+ resolution: {integrity: sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==}
809
+ engines: {node: '>= 10'}
810
+ cpu: [x64]
811
+ os: [linux]
812
+
813
+ '@tailwindcss/oxide-wasm32-wasi@4.1.13':
814
+ resolution: {integrity: sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==}
815
+ engines: {node: '>=14.0.0'}
816
+ cpu: [wasm32]
817
+ bundledDependencies:
818
+ - '@napi-rs/wasm-runtime'
819
+ - '@emnapi/core'
820
+ - '@emnapi/runtime'
821
+ - '@tybys/wasm-util'
822
+ - '@emnapi/wasi-threads'
823
+ - tslib
824
+
825
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.13':
826
+ resolution: {integrity: sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==}
827
+ engines: {node: '>= 10'}
828
+ cpu: [arm64]
829
+ os: [win32]
830
+
831
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.13':
832
+ resolution: {integrity: sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==}
833
+ engines: {node: '>= 10'}
834
+ cpu: [x64]
835
+ os: [win32]
836
+
837
+ '@tailwindcss/oxide@4.1.13':
838
+ resolution: {integrity: sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==}
839
+ engines: {node: '>= 10'}
840
+
841
+ '@tailwindcss/vite@4.1.13':
842
+ resolution: {integrity: sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==}
843
+ peerDependencies:
844
+ vite: ^5.2.0 || ^6 || ^7
845
+
846
'@types/debug@4.1.12':
847
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
848
@@ -1028,6 +1144,10 @@ packages:
1144
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
1145
engines: {node: '>= 14.16.0'}
1146
1147
+ chownr@3.0.0:
1148
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
1149
+ engines: {node: '>=18'}
1150
+
1151
ci-info@4.2.0:
1152
resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==}
1153
engines: {node: '>=8'}
@@ -1159,6 +1279,10 @@ packages:
1279
emoji-regex@8.0.0:
1280
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1281
1282
+ enhanced-resolve@5.18.3:
1283
+ resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
1284
+ engines: {node: '>=10.13.0'}
1285
+
1286
entities@6.0.1:
1287
resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
1288
engines: {node: '>=0.12'}
@@ -1363,6 +1487,9 @@ packages:
1487
resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==}
1488
engines: {node: '>=18'}
1489
1490
+ graceful-fs@4.2.11:
1491
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1492
+
1493
graphemer@1.4.0:
1494
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1495
@@ -1501,6 +1628,10 @@ packages:
1628
isexe@2.0.0:
1629
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1630
1631
+ jiti@2.6.0:
1632
+ resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==}
1633
+ hasBin: true
1634
+
1635
js-yaml@4.1.0:
1636
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1637
hasBin: true
@@ -1533,6 +1664,70 @@ packages:
1664
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1665
engines: {node: '>= 0.8.0'}
1666
1667
+ lightningcss-darwin-arm64@1.30.1:
1668
+ resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
1669
+ engines: {node: '>= 12.0.0'}
1670
+ cpu: [arm64]
1671
+ os: [darwin]
1672
+
1673
+ lightningcss-darwin-x64@1.30.1:
1674
+ resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
1675
+ engines: {node: '>= 12.0.0'}
1676
+ cpu: [x64]
1677
+ os: [darwin]
1678
+
1679
+ lightningcss-freebsd-x64@1.30.1:
1680
+ resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
1681
+ engines: {node: '>= 12.0.0'}
1682
+ cpu: [x64]
1683
+ os: [freebsd]
1684
+
1685
+ lightningcss-linux-arm-gnueabihf@1.30.1:
1686
+ resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
1687
+ engines: {node: '>= 12.0.0'}
1688
+ cpu: [arm]
1689
+ os: [linux]
1690
+
1691
+ lightningcss-linux-arm64-gnu@1.30.1:
1692
+ resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
1693
+ engines: {node: '>= 12.0.0'}
1694
+ cpu: [arm64]
1695
+ os: [linux]
1696
+
1697
+ lightningcss-linux-arm64-musl@1.30.1:
1698
+ resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
1699
+ engines: {node: '>= 12.0.0'}
1700
+ cpu: [arm64]
1701
+ os: [linux]
1702
+
1703
+ lightningcss-linux-x64-gnu@1.30.1:
1704
+ resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
1705
+ engines: {node: '>= 12.0.0'}
1706
+ cpu: [x64]
1707
+ os: [linux]
1708
+
1709
+ lightningcss-linux-x64-musl@1.30.1:
1710
+ resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
1711
+ engines: {node: '>= 12.0.0'}
1712
+ cpu: [x64]
1713
+ os: [linux]
1714
+
1715
+ lightningcss-win32-arm64-msvc@1.30.1:
1716
+ resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
1717
+ engines: {node: '>= 12.0.0'}
1718
+ cpu: [arm64]
1719
+ os: [win32]
1720
+
1721
+ lightningcss-win32-x64-msvc@1.30.1:
1722
+ resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
1723
+ engines: {node: '>= 12.0.0'}
1724
+ cpu: [x64]
1725
+ os: [win32]
1726
+
1727
+ lightningcss@1.30.1:
1728
+ resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
1729
+ engines: {node: '>= 12.0.0'}
1730
+
1731
locate-path@6.0.0:
1732
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1733
engines: {node: '>=10'}
@@ -1549,6 +1744,9 @@ packages:
1744
magic-string@0.30.17:
1745
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1746
1747
+ magic-string@0.30.19:
1748
+ resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
1749
+
1750
magicast@0.3.5:
1751
resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
1752
@@ -1745,6 +1943,14 @@ packages:
1943
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1944
engines: {node: '>=16 || 14 >=14.17'}
1945
1946
+ minipass@7.1.2:
1947
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
1948
+ engines: {node: '>=16 || 14 >=14.17'}
1949
+
1950
+ minizlib@3.1.0:
1951
+ resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
1952
+ engines: {node: '>= 18'}
1953
+
1954
mrmime@2.0.1:
1955
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
1956
engines: {node: '>=10'}
@@ -2112,6 +2318,17 @@ packages:
2318
resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==}
2319
engines: {node: ^14.18.0 || >=16.0.0}
2320
2321
+ tailwindcss@4.1.13:
2322
+ resolution: {integrity: sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==}
2323
+
2324
+ tapable@2.2.3:
2325
+ resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==}
2326
+ engines: {node: '>=6'}
2327
+
2328
+ tar@7.5.1:
2329
+ resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==}
2330
+ engines: {node: '>=18'}
2331
+
2332
tiny-inflate@1.0.3:
2333
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
2334
@@ -2388,6 +2605,10 @@ packages:
2605
xxhash-wasm@1.1.0:
2606
resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
2607
2608
+ yallist@5.0.0:
2609
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
2610
+ engines: {node: '>=18'}
2611
+
2612
yargs-parser@21.1.1:
2613
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
2614
engines: {node: '>=12'}
@@ -2457,12 +2678,12 @@ snapshots:
2678
transitivePeerDependencies:
2679
- supports-color
2680
2460
- '@astrojs/mdx@4.3.0(astro@5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3))':
2681
+ '@astrojs/mdx@4.3.0(astro@5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3))':
2682
dependencies:
2683
'@astrojs/markdown-remark': 6.3.2
2684
'@mdx-js/mdx': 3.1.0(acorn@8.15.0)
2685
acorn: 8.15.0
2465
- astro: 5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3)
2686
+ astro: 5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3)
2687
es-module-lexer: 1.7.0
2688
estree-util-visit: 2.0.0
2689
hast-util-to-html: 9.0.5
@@ -2599,9 +2820,9 @@ snapshots:
2820
'@esbuild/win32-x64@0.25.5':
2821
optional: true
2822
2602
- '@eslint-community/eslint-utils@4.7.0(eslint@9.30.1)':
2823
+ '@eslint-community/eslint-utils@4.7.0(eslint@9.30.1(jiti@2.6.0))':
2824
dependencies:
2604
- eslint: 9.30.1
2825
+ eslint: 9.30.1(jiti@2.6.0)
2826
eslint-visitor-keys: 3.4.3
2827
2828
'@eslint-community/regexpp@4.12.1': {}
@@ -2821,8 +3042,31 @@ snapshots:
3042
'@img/sharp-win32-x64@0.34.3':
3043
optional: true
3044
3045
+ '@isaacs/fs-minipass@4.0.1':
3046
+ dependencies:
3047
+ minipass: 7.1.2
3048
+
3049
+ '@jridgewell/gen-mapping@0.3.13':
3050
+ dependencies:
3051
+ '@jridgewell/sourcemap-codec': 1.5.4
3052
+ '@jridgewell/trace-mapping': 0.3.31
3053
+
3054
+ '@jridgewell/remapping@2.3.5':
3055
+ dependencies:
3056
+ '@jridgewell/gen-mapping': 0.3.13
3057
+ '@jridgewell/trace-mapping': 0.3.31
3058
+
3059
+ '@jridgewell/resolve-uri@3.1.2': {}
3060
+
3061
'@jridgewell/sourcemap-codec@1.5.4': {}
3062
3063
+ '@jridgewell/sourcemap-codec@1.5.5': {}
3064
+
3065
+ '@jridgewell/trace-mapping@0.3.31':
3066
+ dependencies:
3067
+ '@jridgewell/resolve-uri': 3.1.2
3068
+ '@jridgewell/sourcemap-codec': 1.5.4
3069
+
3070
'@mdx-js/mdx@3.1.0(acorn@8.15.0)':
3071
dependencies:
3072
'@types/estree': 1.0.8
@@ -2974,6 +3218,77 @@ snapshots:
3218
dependencies:
3219
tslib: 2.8.1
3220
3221
+ '@tailwindcss/node@4.1.13':
3222
+ dependencies:
3223
+ '@jridgewell/remapping': 2.3.5
3224
+ enhanced-resolve: 5.18.3
3225
+ jiti: 2.6.0
3226
+ lightningcss: 1.30.1
3227
+ magic-string: 0.30.19
3228
+ source-map-js: 1.2.1
3229
+ tailwindcss: 4.1.13
3230
+
3231
+ '@tailwindcss/oxide-android-arm64@4.1.13':
3232
+ optional: true
3233
+
3234
+ '@tailwindcss/oxide-darwin-arm64@4.1.13':
3235
+ optional: true
3236
+
3237
+ '@tailwindcss/oxide-darwin-x64@4.1.13':
3238
+ optional: true
3239
+
3240
+ '@tailwindcss/oxide-freebsd-x64@4.1.13':
3241
+ optional: true
3242
+
3243
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13':
3244
+ optional: true
3245
+
3246
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.13':
3247
+ optional: true
3248
+
3249
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.13':
3250
+ optional: true
3251
+
3252
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.13':
3253
+ optional: true
3254
+
3255
+ '@tailwindcss/oxide-linux-x64-musl@4.1.13':
3256
+ optional: true
3257
+
3258
+ '@tailwindcss/oxide-wasm32-wasi@4.1.13':
3259
+ optional: true
3260
+
3261
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.13':
3262
+ optional: true
3263
+
3264
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.13':
3265
+ optional: true
3266
+
3267
+ '@tailwindcss/oxide@4.1.13':
3268
+ dependencies:
3269
+ detect-libc: 2.0.4
3270
+ tar: 7.5.1
3271
+ optionalDependencies:
3272
+ '@tailwindcss/oxide-android-arm64': 4.1.13
3273
+ '@tailwindcss/oxide-darwin-arm64': 4.1.13
3274
+ '@tailwindcss/oxide-darwin-x64': 4.1.13
3275
+ '@tailwindcss/oxide-freebsd-x64': 4.1.13
3276
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.13
3277
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.1.13
3278
+ '@tailwindcss/oxide-linux-arm64-musl': 4.1.13
3279
+ '@tailwindcss/oxide-linux-x64-gnu': 4.1.13
3280
+ '@tailwindcss/oxide-linux-x64-musl': 4.1.13
3281
+ '@tailwindcss/oxide-wasm32-wasi': 4.1.13
3282
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.1.13
3283
+ '@tailwindcss/oxide-win32-x64-msvc': 4.1.13
3284
+
3285
+ '@tailwindcss/vite@4.1.13(vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3))':
3286
+ dependencies:
3287
+ '@tailwindcss/node': 4.1.13
3288
+ '@tailwindcss/oxide': 4.1.13
3289
+ tailwindcss: 4.1.13
3290
+ vite: 6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3)
3291
+
3292
'@types/debug@4.1.12':
3293
dependencies:
3294
'@types/ms': 2.1.0
@@ -3022,15 +3337,15 @@ snapshots:
3337
3338
'@types/unist@3.0.3': {}
3339
3025
- '@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)':
3340
+ '@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3))(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3341
dependencies:
3342
'@eslint-community/regexpp': 4.12.1
3028
- '@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3343
+ '@typescript-eslint/parser': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3344
'@typescript-eslint/scope-manager': 8.35.1
3030
- '@typescript-eslint/type-utils': 8.35.1(eslint@9.30.1)(typescript@5.8.3)
3031
- '@typescript-eslint/utils': 8.35.1(eslint@9.30.1)(typescript@5.8.3)
3345
+ '@typescript-eslint/type-utils': 8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3346
+ '@typescript-eslint/utils': 8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3347
'@typescript-eslint/visitor-keys': 8.35.1
3033
- eslint: 9.30.1
3348
+ eslint: 9.30.1(jiti@2.6.0)
3349
graphemer: 1.4.0
3350
ignore: 7.0.5
3351
natural-compare: 1.4.0
@@ -3039,15 +3354,15 @@ snapshots:
3354
transitivePeerDependencies:
3355
- supports-color
3356
3042
- '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)':
3357
+ '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3))(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3358
dependencies:
3359
'@eslint-community/regexpp': 4.12.1
3045
- '@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3360
+ '@typescript-eslint/parser': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3361
'@typescript-eslint/scope-manager': 8.36.0
3047
- '@typescript-eslint/type-utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3048
- '@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3362
+ '@typescript-eslint/type-utils': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3363
+ '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3364
'@typescript-eslint/visitor-keys': 8.36.0
3050
- eslint: 9.30.1
3365
+ eslint: 9.30.1(jiti@2.6.0)
3366
graphemer: 1.4.0
3367
ignore: 7.0.5
3368
natural-compare: 1.4.0
@@ -3056,14 +3371,14 @@ snapshots:
3371
transitivePeerDependencies:
3372
- supports-color
3373
3059
- '@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
3374
+ '@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3375
dependencies:
3376
'@typescript-eslint/scope-manager': 8.36.0
3377
'@typescript-eslint/types': 8.36.0
3378
'@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
3379
'@typescript-eslint/visitor-keys': 8.36.0
3380
debug: 4.4.1
3066
- eslint: 9.30.1
3381
+ eslint: 9.30.1(jiti@2.6.0)
3382
typescript: 5.8.3
3383
transitivePeerDependencies:
3384
- supports-color
@@ -3104,23 +3419,23 @@ snapshots:
3419
dependencies:
3420
typescript: 5.8.3
3421
3107
- '@typescript-eslint/type-utils@8.35.1(eslint@9.30.1)(typescript@5.8.3)':
3422
+ '@typescript-eslint/type-utils@8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3423
dependencies:
3424
'@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
3110
- '@typescript-eslint/utils': 8.35.1(eslint@9.30.1)(typescript@5.8.3)
3425
+ '@typescript-eslint/utils': 8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3426
debug: 4.4.1
3112
- eslint: 9.30.1
3427
+ eslint: 9.30.1(jiti@2.6.0)
3428
ts-api-utils: 2.1.0(typescript@5.8.3)
3429
typescript: 5.8.3
3430
transitivePeerDependencies:
3431
- supports-color
3432
3118
- '@typescript-eslint/type-utils@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
3433
+ '@typescript-eslint/type-utils@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3434
dependencies:
3435
'@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
3121
- '@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3436
+ '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3437
debug: 4.4.1
3123
- eslint: 9.30.1
3438
+ eslint: 9.30.1(jiti@2.6.0)
3439
ts-api-utils: 2.1.0(typescript@5.8.3)
3440
typescript: 5.8.3
3441
transitivePeerDependencies:
@@ -3162,24 +3477,24 @@ snapshots:
3477
transitivePeerDependencies:
3478
- supports-color
3479
3165
- '@typescript-eslint/utils@8.35.1(eslint@9.30.1)(typescript@5.8.3)':
3480
+ '@typescript-eslint/utils@8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3481
dependencies:
3167
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
3482
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.6.0))
3483
'@typescript-eslint/scope-manager': 8.35.1
3484
'@typescript-eslint/types': 8.35.1
3485
'@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
3171
- eslint: 9.30.1
3486
+ eslint: 9.30.1(jiti@2.6.0)
3487
typescript: 5.8.3
3488
transitivePeerDependencies:
3489
- supports-color
3490
3176
- '@typescript-eslint/utils@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
3491
+ '@typescript-eslint/utils@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3492
dependencies:
3178
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
3493
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.6.0))
3494
'@typescript-eslint/scope-manager': 8.36.0
3495
'@typescript-eslint/types': 8.36.0
3496
'@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
3182
- eslint: 9.30.1
3497
+ eslint: 9.30.1(jiti@2.6.0)
3498
typescript: 5.8.3
3499
transitivePeerDependencies:
3500
- supports-color
@@ -3255,7 +3570,7 @@ snapshots:
3570
transitivePeerDependencies:
3571
- supports-color
3572
3258
- astro@5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3):
3573
+ astro@5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3):
3574
dependencies:
3575
'@astrojs/compiler': 2.12.2
3576
'@astrojs/internal-helpers': 0.6.1
@@ -3310,8 +3625,8 @@ snapshots:
3625
unist-util-visit: 5.0.0
3626
unstorage: 1.16.0
3627
vfile: 6.0.3
3313
- vite: 6.3.5(@types/node@24.0.10)(tsx@4.20.3)
3314
- vitefu: 1.1.0(vite@6.3.5(@types/node@24.0.10)(tsx@4.20.3))
3628
+ vite: 6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3)
3629
+ vitefu: 1.1.0(vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3))
3630
xxhash-wasm: 1.1.0
3631
yargs-parser: 21.1.1
3632
yocto-spinner: 0.2.3
@@ -3425,6 +3740,8 @@ snapshots:
3740
dependencies:
3741
readdirp: 4.1.2
3742
3743
+ chownr@3.0.0: {}
3744
+
3745
ci-info@4.2.0: {}
3746
3747
cli-boxes@3.0.0: {}
@@ -3526,6 +3843,11 @@ snapshots:
3843
3844
emoji-regex@8.0.0: {}
3845
3846
+ enhanced-resolve@5.18.3:
3847
+ dependencies:
3848
+ graceful-fs: 4.2.11
3849
+ tapable: 2.2.3
3850
+
3851
entities@6.0.1: {}
3852
3853
es-module-lexer@1.7.0: {}
@@ -3576,23 +3898,23 @@ snapshots:
3898
3899
escape-string-regexp@5.0.0: {}
3900
3579
- eslint-compat-utils@0.6.5(eslint@9.30.1):
3901
+ eslint-compat-utils@0.6.5(eslint@9.30.1(jiti@2.6.0)):
3902
dependencies:
3581
- eslint: 9.30.1
3903
+ eslint: 9.30.1(jiti@2.6.0)
3904
semver: 7.7.2
3905
3584
- eslint-config-prettier@10.1.5(eslint@9.30.1):
3906
+ eslint-config-prettier@10.1.5(eslint@9.30.1(jiti@2.6.0)):
3907
dependencies:
3586
- eslint: 9.30.1
3908
+ eslint: 9.30.1(jiti@2.6.0)
3909
3588
- eslint-plugin-astro@1.3.1(eslint@9.30.1):
3910
+ eslint-plugin-astro@1.3.1(eslint@9.30.1(jiti@2.6.0)):
3911
dependencies:
3590
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
3912
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.6.0))
3913
'@jridgewell/sourcemap-codec': 1.5.4
3914
'@typescript-eslint/types': 8.35.1
3915
astro-eslint-parser: 1.2.2
3594
- eslint: 9.30.1
3595
- eslint-compat-utils: 0.6.5(eslint@9.30.1)
3916
+ eslint: 9.30.1(jiti@2.6.0)
3917
+ eslint-compat-utils: 0.6.5(eslint@9.30.1(jiti@2.6.0))
3918
globals: 15.15.0
3919
postcss: 8.5.6
3920
postcss-selector-parser: 7.1.0
@@ -3608,9 +3930,9 @@ snapshots:
3930
3931
eslint-visitor-keys@4.2.1: {}
3932
3611
- eslint@9.30.1:
3933
+ eslint@9.30.1(jiti@2.6.0):
3934
dependencies:
3613
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
3935
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.6.0))
3936
'@eslint-community/regexpp': 4.12.1
3937
'@eslint/config-array': 0.21.0
3938
'@eslint/config-helpers': 0.3.0
@@ -3645,6 +3967,8 @@ snapshots:
3967
minimatch: 3.1.2
3968
natural-compare: 1.4.0
3969
optionator: 0.9.4
3970
+ optionalDependencies:
3971
+ jiti: 2.6.0
3972
transitivePeerDependencies:
3973
- supports-color
3974
@@ -3791,6 +4115,8 @@ snapshots:
4115
4116
globals@16.3.0: {}
4117
4118
+ graceful-fs@4.2.11: {}
4119
+
4120
graphemer@1.4.0: {}
4121
4122
h3@1.15.3:
@@ -4008,6 +4334,8 @@ snapshots:
4334
4335
isexe@2.0.0: {}
4336
4337
+ jiti@2.6.0: {}
4338
+
4339
js-yaml@4.1.0:
4340
dependencies:
4341
argparse: 2.0.1
@@ -4035,6 +4363,51 @@ snapshots:
4363
prelude-ls: 1.2.1
4364
type-check: 0.4.0
4365
4366
+ lightningcss-darwin-arm64@1.30.1:
4367
+ optional: true
4368
+
4369
+ lightningcss-darwin-x64@1.30.1:
4370
+ optional: true
4371
+
4372
+ lightningcss-freebsd-x64@1.30.1:
4373
+ optional: true
4374
+
4375
+ lightningcss-linux-arm-gnueabihf@1.30.1:
4376
+ optional: true
4377
+
4378
+ lightningcss-linux-arm64-gnu@1.30.1:
4379
+ optional: true
4380
+
4381
+ lightningcss-linux-arm64-musl@1.30.1:
4382
+ optional: true
4383
+
4384
+ lightningcss-linux-x64-gnu@1.30.1:
4385
+ optional: true
4386
+
4387
+ lightningcss-linux-x64-musl@1.30.1:
4388
+ optional: true
4389
+
4390
+ lightningcss-win32-arm64-msvc@1.30.1:
4391
+ optional: true
4392
+
4393
+ lightningcss-win32-x64-msvc@1.30.1:
4394
+ optional: true
4395
+
4396
+ lightningcss@1.30.1:
4397
+ dependencies:
4398
+ detect-libc: 2.0.4
4399
+ optionalDependencies:
4400
+ lightningcss-darwin-arm64: 1.30.1
4401
+ lightningcss-darwin-x64: 1.30.1
4402
+ lightningcss-freebsd-x64: 1.30.1
4403
+ lightningcss-linux-arm-gnueabihf: 1.30.1
4404
+ lightningcss-linux-arm64-gnu: 1.30.1
4405
+ lightningcss-linux-arm64-musl: 1.30.1
4406
+ lightningcss-linux-x64-gnu: 1.30.1
4407
+ lightningcss-linux-x64-musl: 1.30.1
4408
+ lightningcss-win32-arm64-msvc: 1.30.1
4409
+ lightningcss-win32-x64-msvc: 1.30.1
4410
+
4411
locate-path@6.0.0:
4412
dependencies:
4413
p-locate: 5.0.0
@@ -4049,6 +4422,10 @@ snapshots:
4422
dependencies:
4423
'@jridgewell/sourcemap-codec': 1.5.4
4424
4425
+ magic-string@0.30.19:
4426
+ dependencies:
4427
+ '@jridgewell/sourcemap-codec': 1.5.5
4428
+
4429
magicast@0.3.5:
4430
dependencies:
4431
'@babel/parser': 7.28.0
@@ -4555,6 +4932,12 @@ snapshots:
4932
dependencies:
4933
brace-expansion: 2.0.2
4934
4935
+ minipass@7.1.2: {}
4936
+
4937
+ minizlib@3.1.0:
4938
+ dependencies:
4939
+ minipass: 7.1.2
4940
+
4941
mrmime@2.0.1: {}
4942
4943
ms@2.1.3: {}
@@ -5071,6 +5454,18 @@ snapshots:
5454
dependencies:
5455
'@pkgr/core': 0.2.7
5456
5457
+ tailwindcss@4.1.13: {}
5458
+
5459
+ tapable@2.2.3: {}
5460
+
5461
+ tar@7.5.1:
5462
+ dependencies:
5463
+ '@isaacs/fs-minipass': 4.0.1
5464
+ chownr: 3.0.0
5465
+ minipass: 7.1.2
5466
+ minizlib: 3.1.0
5467
+ yallist: 5.0.0
5468
+
5469
tiny-inflate@1.0.3: {}
5470
5471
tinyexec@0.3.2: {}
@@ -5113,12 +5508,12 @@ snapshots:
5508
5509
type-fest@4.41.0: {}
5510
5116
- typescript-eslint@8.36.0(eslint@9.30.1)(typescript@5.8.3):
5511
+ typescript-eslint@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3):
5512
dependencies:
5118
- '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)
5119
- '@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
5120
- '@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
5121
- eslint: 9.30.1
5513
+ '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3))(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
5514
+ '@typescript-eslint/parser': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
5515
+ '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
5516
+ eslint: 9.30.1(jiti@2.6.0)
5517
typescript: 5.8.3
5518
transitivePeerDependencies:
5519
- supports-color
@@ -5237,7 +5632,7 @@ snapshots:
5632
'@types/unist': 3.0.3
5633
vfile-message: 4.0.2
5634
5240
- vite@6.3.5(@types/node@24.0.10)(tsx@4.20.3):
5635
+ vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3):
5636
dependencies:
5637
esbuild: 0.25.5
5638
fdir: 6.4.6(picomatch@4.0.2)
@@ -5248,11 +5643,13 @@ snapshots:
5643
optionalDependencies:
5644
'@types/node': 24.0.10
5645
fsevents: 2.3.3
5646
+ jiti: 2.6.0
5647
+ lightningcss: 1.30.1
5648
tsx: 4.20.3
5649
5253
- vitefu@1.1.0(vite@6.3.5(@types/node@24.0.10)(tsx@4.20.3)):
5650
+ vitefu@1.1.0(vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3)):
5651
optionalDependencies:
5255
- vite: 6.3.5(@types/node@24.0.10)(tsx@4.20.3)
5652
+ vite: 6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3)
5653
5654
web-namespaces@2.0.1: {}
5655
@@ -5283,6 +5680,8 @@ snapshots:
5680
5681
xxhash-wasm@1.1.0: {}
5682
5683
+ yallist@5.0.0: {}
5684
+
5685
yargs-parser@21.1.1: {}
5686
5687
yocto-queue@0.1.0: {}
src/components/layout/Header.astro
+18
-16
@@ -11,22 +11,24 @@ import { Image } from 'astro:assets'
11
<a href="/">{SITE.title}</a>
12
</div>
13
<div class="header-right">
14
- <a href="https://apps.apple.com/se/app/pepak-basa-jawa-komplit/id6752241812">
15
- <Image
16
- src="/images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg"
17
- alt="PBJ Komplit! Apple AppStore page"
18
- width="150"
19
- height="50"
20
- /></a
21
- >
22
- <a href="https://play.google.com/store/apps/details?id=com.theblangkon.pepakbasajawa">
23
- <Image
24
- src="/images/GetItOnGooglePlay_Badge_Web_color_English.png"
25
- alt="PBJ Komplit! Google PlayStore page"
26
- width="150"
27
- height="50"
28
- /></a
29
- >
14
+ <div class="flex flex-col gap-2 md:flex-row">
15
+ <a href="https://apps.apple.com/se/app/pepak-basa-jawa-komplit/id6752241812">
16
+ <Image
17
+ src="/images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg"
18
+ alt="PBJ Komplit! Apple AppStore page"
19
+ width="150"
20
+ height="50"
21
+ />
22
+ </a>
23
+ <a href="https://play.google.com/store/apps/details?id=com.theblangkon.pepakbasajawa">
24
+ <Image
25
+ src="/images/GetItOnGooglePlay_Badge_Web_color_English.png"
26
+ alt="PBJ Komplit! Google PlayStore page"
27
+ width="150"
28
+ height="50"
29
+ />
30
+ </a>
31
+ </div>
32
<ThemeToggle />
33
</div>
34
</nav>
src/styles/global.css
+1
@@ -1,3 +1,4 @@
1
+@import 'tailwindcss';
2
@import './fonts.css';
3
@import './post.css';
4