summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Flynn <[email protected]>2025-03-12 20:08:01 -0400
committerSeth Flynn <[email protected]>2025-03-12 20:26:38 -0400
commit898f1b95c7200a321eb686738e06283fc224959a (patch)
tree9249459856535e29d17d563a608b09ccf2344d02
parente418edcd965f3a74522adc37b6cc3db11d0ce8f7 (diff)
feat: use tailwind and daisyui
-rw-r--r--astro.config.ts5
-rw-r--r--eslint.config.js4
-rw-r--r--package.json10
-rw-r--r--pnpm-lock.yaml419
-rw-r--r--src/components/Footer.astro39
-rw-r--r--src/components/GifButtons.astro4
-rw-r--r--src/components/Head.astro2
-rw-r--r--src/components/Nav.astro23
-rw-r--r--src/layouts/Base.astro10
-rw-r--r--src/styles/main.css6
-rw-r--r--src/styles/style.scss93
-rw-r--r--tsconfig.json19
12 files changed, 475 insertions, 159 deletions
diff --git a/astro.config.ts b/astro.config.ts
index 572107e..6439da2 100644
--- a/astro.config.ts
+++ b/astro.config.ts
@@ -2,8 +2,13 @@ import { defineConfig } from "astro/config";
import sitemap from "@astrojs/sitemap";
+import tailwindcss from "@tailwindcss/vite";
+
// https://astro.build/config
export default defineConfig({
site: process.env.CF_PAGES_URL || "https://getchoo.com",
integrations: [sitemap()],
+ vite: {
+ plugins: [tailwindcss()],
+ },
});
diff --git a/eslint.config.js b/eslint.config.js
index cff6a76..605bb63 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -11,6 +11,6 @@ export default teslint.config(
...astro.configs["jsx-a11y-strict"],
prettier,
{
- ignores: ["src/env.d.ts"]
- }
+ ignores: ["src/env.d.ts"],
+ },
);
diff --git a/package.json b/package.json
index 09d7fc6..54a4620 100644
--- a/package.json
+++ b/package.json
@@ -14,25 +14,29 @@
"devDependencies": {
"@astrojs/check": "^0.9.4",
"@astrojs/sitemap": "^3.2.1",
- "@catppuccin/palette": "^1.7.1",
"@eslint/js": "^9.22.0",
"@fontsource/noto-sans": "^5.2.5",
"@microsoft/eslint-formatter-sarif": "^3.1.0",
+ "@tailwindcss/typography": "^0.5.16",
+ "@tailwindcss/vite": "^4.0.13",
"astro": "^5.4.3",
+ "daisyui": "^5.0.2",
"eslint": "^9.22.0",
"eslint-config-prettier": "^10.1.1",
"eslint-plugin-astro": "^1.3.1",
"eslint-plugin-jsx-a11y": "^6.10.2",
"prettier": "^3.5.3",
"prettier-plugin-astro": "^0.14.1",
- "sass": "^1.85.1",
+ "prettier-plugin-tailwindcss": "^0.6.11",
"sharp": "^0.33.5",
+ "tailwindcss": "^4.0.13",
"typescript": "^5.8.2",
"typescript-eslint": "^8.26.1"
},
"prettier": {
"plugins": [
- "prettier-plugin-astro"
+ "prettier-plugin-astro",
+ "prettier-plugin-tailwindcss"
],
"overrides": [
{
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 32574ca..797b659 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -14,9 +14,6 @@ importers:
'@astrojs/sitemap':
specifier: ^3.2.1
version: 3.2.1
- '@catppuccin/palette':
- specifier: ^1.7.1
- version: 1.7.1
'@eslint/js':
specifier: ^9.22.0
version: 9.22.0
@@ -26,9 +23,18 @@ importers:
'@microsoft/eslint-formatter-sarif':
specifier: ^3.1.0
version: 3.1.0
+ '@tailwindcss/typography':
+ specifier: ^0.5.16
+ version: 0.5.16([email protected])
+ '@tailwindcss/vite':
+ specifier: ^4.0.13
astro:
specifier: ^5.4.3
+ daisyui:
+ specifier: ^5.0.2
+ version: 5.0.2
eslint:
specifier: ^9.22.0
version: 9.22.0([email protected])
@@ -47,12 +53,15 @@ importers:
prettier-plugin-astro:
specifier: ^0.14.1
version: 0.14.1
- sass:
- specifier: ^1.85.1
- version: 1.85.1
+ prettier-plugin-tailwindcss:
+ specifier: ^0.6.11
sharp:
specifier: ^0.33.5
version: 0.33.5
+ tailwindcss:
+ specifier: ^4.0.13
+ version: 4.0.13
typescript:
specifier: ^5.8.2
version: 5.8.2
@@ -120,9 +129,6 @@ packages:
resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==}
engines: {node: '>=6.9.0'}
- '@catppuccin/[email protected]':
- resolution: {integrity: sha512-aRc1tbzrevOTV7nFTT9SRdF26w/MIwT4Jwt4fDMc9itRZUDXCuEDBLyz4TQMlqO9ZP8mf5Hu4Jr6D03NLFc6Gw==}
-
'@emmetio/[email protected]':
resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==}
@@ -713,6 +719,89 @@ packages:
'@shikijs/[email protected]':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-P9TmtE9Vew0vv5FwyD4bsg/dHHsIsAuUXkenuGUc5gm8fYgaxpdoxIKngCyEMEQxyCKR8PQY5V5VrrKNOx7exg==}
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-+9zmwaPQ8A9ycDcdb+hRkMn6NzsmZ4YJBsW5Xqq5EdOu9xlIgmuMuJauVzDPB5BSbIWfhPdZ+le8NeRZpl1coA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-Bj1QGlEJSjs/205CIRfb5/jeveOqzJ4pFMdRxu0gyiYWxBRyxsExXqaD+7162wnLP/EDKh6S1MC9E/1GwEhLtA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-lRTkxjTpMGXhLLM5GjZ0MtjPczMuhAo9j7PeSsaU6Imkm7W7RbrXfT8aP934kS7cBBV+HKN5U19Z0WWaORfb8Q==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-p/YLyKhs+xFibVeAPlpMGDVMKgjChgzs12VnDFaaqRSJoOz+uJgRSKiir2tn50e7Nm4YYw35q/DRBwpDBNo1MQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-Ua/5ydE/QOTX8jHuc7M9ICWnaLi6K2MV/r+Ws2OppsOjy8tdlPbqYainJJ6Kl7ofm524K+4Fk9CQITPzeIESPw==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-/W1+Q6tBAVgZWh/bhfOHo4n7Ryh6E7zYj4bJd9SRbkPyLtRioyK3bi6RLuDj57sa7Amk/DeomSV9iycS0xqIPA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-GQj6TWevNxwsYw20FdT2r2d1f7uiRsF07iFvNYxPIvIyPEV74eZ0zgFEsAH1daK1OxPy+LXdZ4grV17P5tVzhQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-sQRH09faifF9w9WS6TKDWr1oLi4hoPx0EIWXZHQK/jcjarDpXGQ2DbF0KnALJCwWBxOIP/1nrmU01fZwwMzY3g==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-Or1N8DIF3tP+LsloJp+UXLTIMMHMUcWXFhJLCsM4T7MzFzxkeReewRWXfk5mk137cdqVeUEH/R50xAhY1mOkTQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-u2mQyqCFrr9vVTP6sfDRfGE6bhOX3/7rInehzxNhHX1HYRIx09H3sDdXzTxnZWKOjIg3qjFTCrYFUZckva5PIg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-sOEc4iCanp1Yqyeu9suQcEzfaUcHnqjBUgDg0ZXpjUMUwdSi37S1lu1RGoV1BYInvvGu3y3HHTmvsSfDhx2L8w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-pTH3Ex5zAWC9LbS+WsYAFmkXQW3NRjmvxkKJY3NP1x0KHBWjz0Q2uGtdGMJzsa0EwoZ7wq9RTbMH1UNPceCpWw==}
+ engines: {node: '>= 10'}
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
+
+ '@tailwindcss/[email protected]':
+ resolution: {integrity: sha512-0XTd/NoVUAktIDaA4MdXhve0QWYh7WlZg20EHCuBFR80F8FhbVkRX+AY5cjbUP/IO2itHzt0iHc0iSE5kBUMhQ==}
+ peerDependencies:
+ vite: ^5.2.0 || ^6
+
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
@@ -1053,6 +1142,9 @@ packages:
engines: {node: '>=4'}
hasBin: true
+ resolution: {integrity: sha512-AfOlwcE+Ukwuh2NSrMDE8VXOl9UWidj2Q5f64DEYqtZVW0Z9pELBA50iGEKg2FpBUvztFY5DFv7+eZgRts70BA==}
+
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
@@ -1154,6 +1246,10 @@ packages:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
+ engines: {node: '>=10.13.0'}
+
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -1437,6 +1533,9 @@ packages:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
@@ -1724,10 +1823,80 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
+ resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==}
+ engines: {node: '>= 12.0.0'}
+
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
+ resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
+
+ resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
@@ -2029,6 +2198,10 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
+ resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
+ engines: {node: '>=4'}
+
resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
engines: {node: '>=4'}
@@ -2045,6 +2218,61 @@ packages:
resolution: {integrity: sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==}
engines: {node: ^14.15.0 || >=16.0.0}
+ resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==}
+ engines: {node: '>=14.21.3'}
+ peerDependencies:
+ '@ianvs/prettier-plugin-sort-imports': '*'
+ '@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-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
+
resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==}
engines: {node: '>=10.13.0'}
@@ -2324,6 +2552,13 @@ packages:
resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
engines: {node: ^14.18.0 || >=16.0.0}
+ resolution: {integrity: sha512-gbvFrB0fOsTv/OugXWi2PtflJ4S6/ctu6Mmn3bCftmLY/6xRsQVEJPgIIpABwpZ52DpONkCA3bEj5b54MHxF2Q==}
+
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
@@ -2899,8 +3134,6 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@catppuccin/[email protected]': {}
-
'@emmetio/[email protected]':
dependencies:
'@emmetio/scanner': 1.0.4
@@ -3357,6 +3590,75 @@ snapshots:
'@shikijs/[email protected]': {}
+ '@tailwindcss/[email protected]':
+ dependencies:
+ enhanced-resolve: 5.18.1
+ jiti: 2.4.2
+ tailwindcss: 4.0.13
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optional: true
+
+ '@tailwindcss/[email protected]':
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.0.13
+ '@tailwindcss/oxide-darwin-arm64': 4.0.13
+ '@tailwindcss/oxide-darwin-x64': 4.0.13
+ '@tailwindcss/oxide-freebsd-x64': 4.0.13
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.13
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.0.13
+ '@tailwindcss/oxide-linux-arm64-musl': 4.0.13
+ '@tailwindcss/oxide-linux-x64-gnu': 4.0.13
+ '@tailwindcss/oxide-linux-x64-musl': 4.0.13
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.0.13
+ '@tailwindcss/oxide-win32-x64-msvc': 4.0.13
+
+ dependencies:
+ lodash.castarray: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ postcss-selector-parser: 6.0.10
+ tailwindcss: 4.0.13
+
+ dependencies:
+ '@tailwindcss/node': 4.0.13
+ '@tailwindcss/oxide': 4.0.13
+ lightningcss: 1.29.2
+ tailwindcss: 4.0.13
+
'@types/[email protected]': {}
@@ -3622,7 +3924,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
dependencies:
'@astrojs/compiler': 2.10.4
'@astrojs/internal-helpers': 0.6.1
@@ -3674,8 +3976,8 @@ snapshots:
unist-util-visit: 5.0.0
unstorage: 1.15.0
vfile: 6.0.3
xxhash-wasm: 1.1.0
yargs-parser: 21.1.1
yocto-spinner: 0.2.1
@@ -3853,6 +4155,8 @@ snapshots:
+
@@ -3945,6 +4249,11 @@ snapshots:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+
@@ -4379,6 +4688,8 @@ snapshots:
+
@@ -4510,7 +4821,8 @@ snapshots:
+ optional: true
dependencies:
@@ -4659,8 +4971,7 @@ snapshots:
- optional: true
dependencies:
@@ -4706,10 +5017,59 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
+ optional: true
+
+ optional: true
+
+ optional: true
+
+ optional: true
+
+ optional: true
+
+ optional: true
+
+ optional: true
+
+ optional: true
+
+ optional: true
+
+ optional: true
+
+ dependencies:
+ detect-libc: 2.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.29.2
+ lightningcss-darwin-x64: 1.29.2
+ lightningcss-freebsd-x64: 1.29.2
+ lightningcss-linux-arm-gnueabihf: 1.29.2
+ lightningcss-linux-arm64-gnu: 1.29.2
+ lightningcss-linux-arm64-musl: 1.29.2
+ lightningcss-linux-x64-gnu: 1.29.2
+ lightningcss-linux-x64-musl: 1.29.2
+ lightningcss-win32-arm64-msvc: 1.29.2
+ lightningcss-win32-x64-msvc: 1.29.2
+
dependencies:
p-locate: 5.0.0
+
+
@@ -5195,6 +5555,11 @@ snapshots:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
dependencies:
cssesc: 3.0.0
@@ -5214,6 +5579,12 @@ snapshots:
prettier: 3.5.3
sass-formatter: 0.7.9
+ dependencies:
+ prettier: 3.5.3
+ optionalDependencies:
+ prettier-plugin-astro: 0.14.1
+
optional: true
@@ -5437,6 +5808,7 @@ snapshots:
source-map-js: 1.2.1
optionalDependencies:
'@parcel/watcher': 2.5.1
+ optional: true
@@ -5625,6 +5997,10 @@ snapshots:
'@pkgr/core': 0.1.1
tslib: 2.8.1
+
+
@@ -5810,7 +6186,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
dependencies:
esbuild: 0.25.1
postcss: 8.5.3
@@ -5818,12 +6194,13 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
jiti: 2.4.2
+ lightningcss: 1.29.2
sass: 1.85.1
yaml: 2.7.0
optionalDependencies:
dependencies:
diff --git a/src/components/Footer.astro b/src/components/Footer.astro
index 1eaed7e..9995027 100644
--- a/src/components/Footer.astro
+++ b/src/components/Footer.astro
@@ -4,22 +4,25 @@ const commitSha =
const repositoryUrl = "https://github.com/getchoo/website";
---
-<footer>
- {
- commitSha && (
- <p>
- Site version
- <a href={`${repositoryUrl}/commit/${commitSha}`}>
- {commitSha.substring(0, 7)}
- </a>
- .
- </p>
- )
- }
- <p>Content is All Rights Reserved.</p>
- <p>
- The <a href={repositoryUrl}>source code</a> is available under the <a
- href="https://spdx.org/licenses/MIT.html">MIT License</a
- >.
- </p>
+<footer class="footer footer-center footer-horizontal">
+ <aside>
+ <p>
+ {
+ commitSha && (
+ <p>
+ Site version
+ <a href={`${repositoryUrl}/commit/${commitSha}`}>
+ {commitSha.substring(0, 7)}
+ </a>
+ .
+ </p>
+ )
+ }
+ Content is All Rights Reserved.
+ <br />
+ The <a href={repositoryUrl}>source code</a> is available under the <a
+ href="https://spdx.org/licenses/MIT.html">MIT License</a
+ >.
+ </p>
+ </aside>
</footer>
diff --git a/src/components/GifButtons.astro b/src/components/GifButtons.astro
index 3c88dbd..0fc76e3 100644
--- a/src/components/GifButtons.astro
+++ b/src/components/GifButtons.astro
@@ -38,7 +38,7 @@ const gifButtons = [
];
---
-<div class="gif-buttons">
+<div class="flex flex-row flex-wrap items-center justify-center not-prose">
{
gifButtons.map(({ buttonName, altText, link }) => {
const imageTag = (
@@ -49,7 +49,7 @@ const gifButtons = [
);
return (
- <div class="gif-button">
+ <div class="p-1">
{link ? <a href={link}>{imageTag}</a> : imageTag}
</div>
);
diff --git a/src/components/Head.astro b/src/components/Head.astro
index d355012..7ec74ad 100644
--- a/src/components/Head.astro
+++ b/src/components/Head.astro
@@ -1,5 +1,5 @@
---
-import "@styles/style.scss";
+import "@styles/main.css";
import "@fontsource/noto-sans";
import notoSansWoff2 from "@fontsource/noto-sans/files/noto-sans-latin-400-normal.woff2";
diff --git a/src/components/Nav.astro b/src/components/Nav.astro
index f122ee7..fc2599c 100644
--- a/src/components/Nav.astro
+++ b/src/components/Nav.astro
@@ -7,12 +7,19 @@ const navLinks = [
];
---
-<nav>
- {
- navLinks.map(({ name, url }) => (
- <div>
- <a href={url}>{name}</a>
- </div>
- ))
- }
+<nav class="navbar">
+ <div class="navbar-start"></div>
+ <div class="navbar-center lg:flex">
+ <ul class="menu menu-horizontal">
+ {
+ navLinks.map(({ name, url }) => (
+ <li>
+ <a class="btn btn-ghost text-xl" href={url}>
+ {name}
+ </a>
+ </li>
+ ))
+ }
+ </ul>
+ </div>
</nav>
diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro
index 2aa3d9e..ab5948e 100644
--- a/src/layouts/Base.astro
+++ b/src/layouts/Base.astro
@@ -9,13 +9,9 @@ const { title, description } = Astro.props.frontmatter || Astro.props;
<!doctype html>
<html lang="en">
<Head title={title} description={description} />
- <body>
- <header>
- <Nav />
- </header>
- <div class="main-content">
- <slot />
- </div>
+ <body class="prose lg:prose-xl mx-auto max-w-3/4 lg:max-w-1/2">
+ <Nav />
+ <slot />
<Footer />
</body>
</html>
diff --git a/src/styles/main.css b/src/styles/main.css
new file mode 100644
index 0000000..28a9282
--- /dev/null
+++ b/src/styles/main.css
@@ -0,0 +1,6 @@
+@import "tailwindcss";
+@plugin "@tailwindcss/typography";
+
+@plugin "daisyui" {
+ themes: dracula --default;
+}
diff --git a/src/styles/style.scss b/src/styles/style.scss
deleted file mode 100644
index 4d730e9..0000000
--- a/src/styles/style.scss
+++ /dev/null
@@ -1,93 +0,0 @@
-@import "@catppuccin/palette/scss/_mocha.scss";
-
-a {
- color: $blue;
-}
-
-body {
- font-family:
- Noto Sans,
- -apple-system,
- BlinkMacSystemFont,
- avenir next,
- avenir,
- segoe ui,
- helvetica neue,
- helvetica,
- Cantarell,
- Ubuntu,
- roboto,
- noto,
- arial,
- sans-serif;
- color: $text;
- background-color: $base;
- max-width: 75%;
- margin-left: auto;
- margin-right: auto;
- padding: 1.5rem;
-
- @media (min-width: 768px) {
- max-width: 50%;
- }
-}
-
-nav {
- align-items: center;
- background-color: $surface0;
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- margin: auto;
- padding: 0.5rem;
-
- a {
- margin: 0.5rem;
- }
-
- @media (min-width: 375px) {
- a {
- margin: 0.75rem;
- }
- }
-
- @media (min-width: 768px) {
- a {
- margin: 1rem;
- }
- }
-
- @media (min-width: 1024px) {
- a {
- font-size: 1.5rem;
- }
- }
-}
-
-footer {
- font-size: 0.6rem;
- text-align: right;
-
- @media (min-width: 768px) {
- font-size: 0.75rem;
- }
-
- p {
- margin: 0.25rem;
- }
-}
-
-.main-content {
- padding: 1rem;
-}
-
-.gif-buttons {
- align-items: center;
- display: flex;
- flex-flow: row wrap;
- justify-content: center;
-}
-
-.gif-button {
- padding: 0.25rem;
-}
diff --git a/tsconfig.json b/tsconfig.json
index cde91dd..7545725 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -3,10 +3,21 @@
"compilerOptions": {
"baseUrl": ".",
"paths": {
- "@assets/*": ["src/assets/*"],
- "@components/*": ["src/components/*"],
- "@layouts/*": ["src/layouts/*"],
- "@styles/*": ["src/styles/*"]
+ "@assets/*": [
+ "src/assets/*"
+ ],
+ "@components/*": [
+ "src/components/*"
+ ],
+ "@layouts/*": [
+ "src/layouts/*"
+ ],
+ "@pages/*": [
+ "src/pages/*"
+ ],
+ "@styles/*": [
+ "src/styles/*"
+ ]
}
}
}