me
/
ethanreece.com
Archived
1
0
Fork 0

Add tailwind

main
Ethan Reece 2023-05-30 14:11:05 -05:00
parent 74f4df9b5a
commit 01700510e6
Signed by: me
GPG Key ID: D3993665FF92E1C3
8 changed files with 522 additions and 118 deletions

View File

@ -1,8 +1,8 @@
import { defineConfig } from 'astro/config' import { defineConfig } from 'astro/config';
import tailwind from '@astrojs/tailwind';
import tailwind from '@astrojs/tailwind'
// https://astro.build/config // https://astro.build/config
export default defineConfig({ export default defineConfig({
integrations: [tailwind()], integrations: [tailwind()]
}) });

View File

@ -12,6 +12,8 @@
"dependencies": { "dependencies": {
"@astrojs/tailwind": "^3.1.3", "@astrojs/tailwind": "^3.1.3",
"astro": "^2.5.5", "astro": "^2.5.5",
"autoprefixer": "^10.4.14",
"cssnano": "^6.0.1",
"tailwindcss": "^3.3.2" "tailwindcss": "^3.3.2"
}, },
"devDependencies": { "devDependencies": {

View File

@ -11,6 +11,12 @@ dependencies:
astro: astro:
specifier: ^2.5.5 specifier: ^2.5.5
version: 2.5.5 version: 2.5.5
autoprefixer:
specifier: ^10.4.14
version: 10.4.14(postcss@8.4.24)
cssnano:
specifier: ^6.0.1
version: 6.0.1(postcss@8.4.24)
tailwindcss: tailwindcss:
specifier: ^3.3.2 specifier: ^3.3.2
version: 3.3.2 version: 3.3.2
@ -725,6 +731,11 @@ packages:
escalade: 3.1.1 escalade: 3.1.1
dev: false dev: false
/@trysound/sax@0.2.0:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
dev: false
/@types/babel__core@7.20.1: /@types/babel__core@7.20.1:
resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==}
dependencies: dependencies:
@ -1171,6 +1182,10 @@ packages:
readable-stream: 3.6.2 readable-stream: 3.6.2
dev: false dev: false
/boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
dev: false
/boxen@6.2.1: /boxen@6.2.1:
resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@ -1255,6 +1270,15 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: false dev: false
/caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
dependencies:
browserslist: 4.21.7
caniuse-lite: 1.0.30001491
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
dev: false
/caniuse-lite@1.0.30001491: /caniuse-lite@1.0.30001491:
resolution: {integrity: sha512-17EYIi4TLnPiTzVKMveIxU5ETlxbSO3B6iPvMbprqnKh4qJsQGk5Nh1Lp4jIMAE0XfrujsJuWZAM3oJdMHaKBA==} resolution: {integrity: sha512-17EYIi4TLnPiTzVKMveIxU5ETlxbSO3B6iPvMbprqnKh4qJsQGk5Nh1Lp4jIMAE0XfrujsJuWZAM3oJdMHaKBA==}
dev: false dev: false
@ -1356,6 +1380,10 @@ packages:
/color-name@1.1.4: /color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
/colord@2.9.3:
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
dev: false
/comma-separated-tokens@2.0.3: /comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
dev: false dev: false
@ -1364,6 +1392,11 @@ packages:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
/commander@7.2.0:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
engines: {node: '>= 10'}
dev: false
/common-ancestor-path@1.0.1: /common-ancestor-path@1.0.1:
resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
dev: false dev: false
@ -1388,11 +1421,116 @@ packages:
shebang-command: 2.0.0 shebang-command: 2.0.0
which: 2.0.2 which: 2.0.2
/css-declaration-sorter@6.4.0(postcss@8.4.24):
resolution: {integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==}
engines: {node: ^10 || ^12 || >=14}
peerDependencies:
postcss: ^8.0.9
dependencies:
postcss: 8.4.24
dev: false
/css-select@5.1.0:
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
dependencies:
boolbase: 1.0.0
css-what: 6.1.0
domhandler: 5.0.3
domutils: 3.1.0
nth-check: 2.1.1
dev: false
/css-tree@2.2.1:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
dependencies:
mdn-data: 2.0.28
source-map-js: 1.0.2
dev: false
/css-tree@2.3.1:
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
dependencies:
mdn-data: 2.0.30
source-map-js: 1.0.2
dev: false
/css-what@6.1.0:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
engines: {node: '>= 6'}
dev: false
/cssesc@3.0.0: /cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'} engines: {node: '>=4'}
hasBin: true hasBin: true
/cssnano-preset-default@6.0.1(postcss@8.4.24):
resolution: {integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
css-declaration-sorter: 6.4.0(postcss@8.4.24)
cssnano-utils: 4.0.0(postcss@8.4.24)
postcss: 8.4.24
postcss-calc: 9.0.1(postcss@8.4.24)
postcss-colormin: 6.0.0(postcss@8.4.24)
postcss-convert-values: 6.0.0(postcss@8.4.24)
postcss-discard-comments: 6.0.0(postcss@8.4.24)
postcss-discard-duplicates: 6.0.0(postcss@8.4.24)
postcss-discard-empty: 6.0.0(postcss@8.4.24)
postcss-discard-overridden: 6.0.0(postcss@8.4.24)
postcss-merge-longhand: 6.0.0(postcss@8.4.24)
postcss-merge-rules: 6.0.1(postcss@8.4.24)
postcss-minify-font-values: 6.0.0(postcss@8.4.24)
postcss-minify-gradients: 6.0.0(postcss@8.4.24)
postcss-minify-params: 6.0.0(postcss@8.4.24)
postcss-minify-selectors: 6.0.0(postcss@8.4.24)
postcss-normalize-charset: 6.0.0(postcss@8.4.24)
postcss-normalize-display-values: 6.0.0(postcss@8.4.24)
postcss-normalize-positions: 6.0.0(postcss@8.4.24)
postcss-normalize-repeat-style: 6.0.0(postcss@8.4.24)
postcss-normalize-string: 6.0.0(postcss@8.4.24)
postcss-normalize-timing-functions: 6.0.0(postcss@8.4.24)
postcss-normalize-unicode: 6.0.0(postcss@8.4.24)
postcss-normalize-url: 6.0.0(postcss@8.4.24)
postcss-normalize-whitespace: 6.0.0(postcss@8.4.24)
postcss-ordered-values: 6.0.0(postcss@8.4.24)
postcss-reduce-initial: 6.0.0(postcss@8.4.24)
postcss-reduce-transforms: 6.0.0(postcss@8.4.24)
postcss-svgo: 6.0.0(postcss@8.4.24)
postcss-unique-selectors: 6.0.0(postcss@8.4.24)
dev: false
/cssnano-utils@4.0.0(postcss@8.4.24):
resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
dev: false
/cssnano@6.0.1(postcss@8.4.24):
resolution: {integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
cssnano-preset-default: 6.0.1(postcss@8.4.24)
lilconfig: 2.1.0
postcss: 8.4.24
dev: false
/csso@5.0.5:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
dependencies:
css-tree: 2.2.1
dev: false
/damerau-levenshtein@1.0.8: /damerau-levenshtein@1.0.8:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
dev: true dev: true
@ -1519,6 +1657,33 @@ packages:
esutils: 2.0.3 esutils: 2.0.3
dev: true dev: true
/dom-serializer@2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
entities: 4.5.0
dev: false
/domelementtype@2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: false
/domhandler@5.0.3:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
dependencies:
domelementtype: 2.3.0
dev: false
/domutils@3.1.0:
resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
dependencies:
dom-serializer: 2.0.0
domelementtype: 2.3.0
domhandler: 5.0.3
dev: false
/dset@3.1.2: /dset@3.1.2:
resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -1546,6 +1711,11 @@ packages:
/emoji-regex@9.2.2: /emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
/entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
dev: false
/es-abstract@1.21.2: /es-abstract@1.21.2:
resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -2661,10 +2831,18 @@ packages:
dependencies: dependencies:
p-locate: 5.0.0 p-locate: 5.0.0
/lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
dev: false
/lodash.merge@4.6.2: /lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true dev: true
/lodash.uniq@4.5.0:
resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
dev: false
/log-symbols@5.1.0: /log-symbols@5.1.0:
resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
engines: {node: '>=12'} engines: {node: '>=12'}
@ -2831,6 +3009,14 @@ packages:
'@types/mdast': 3.0.11 '@types/mdast': 3.0.11
dev: false dev: false
/mdn-data@2.0.28:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
dev: false
/mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
dev: false
/merge-stream@2.0.0: /merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@ -3166,6 +3352,12 @@ packages:
dependencies: dependencies:
path-key: 4.0.0 path-key: 4.0.0
/nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
dependencies:
boolbase: 1.0.0
dev: false
/object-assign@4.1.1: /object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -3384,6 +3576,77 @@ packages:
find-up: 4.1.0 find-up: 4.1.0
dev: false dev: false
/postcss-calc@9.0.1(postcss@8.4.24):
resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.2
dependencies:
postcss: 8.4.24
postcss-selector-parser: 6.0.13
postcss-value-parser: 4.2.0
dev: false
/postcss-colormin@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.7
caniuse-api: 3.0.0
colord: 2.9.3
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-convert-values@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.7
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-discard-comments@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
dev: false
/postcss-discard-duplicates@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
dev: false
/postcss-discard-empty@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
dev: false
/postcss-discard-overridden@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
dev: false
/postcss-import@15.1.0(postcss@8.4.24): /postcss-import@15.1.0(postcss@8.4.24):
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
@ -3420,6 +3683,74 @@ packages:
postcss: 8.4.24 postcss: 8.4.24
yaml: 2.3.1 yaml: 2.3.1
/postcss-merge-longhand@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
stylehacks: 6.0.0(postcss@8.4.24)
dev: false
/postcss-merge-rules@6.0.1(postcss@8.4.24):
resolution: {integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.7
caniuse-api: 3.0.0
cssnano-utils: 4.0.0(postcss@8.4.24)
postcss: 8.4.24
postcss-selector-parser: 6.0.13
dev: false
/postcss-minify-font-values@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-minify-gradients@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
colord: 2.9.3
cssnano-utils: 4.0.0(postcss@8.4.24)
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-minify-params@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.7
cssnano-utils: 4.0.0(postcss@8.4.24)
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-minify-selectors@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-selector-parser: 6.0.13
dev: false
/postcss-nested@6.0.1(postcss@8.4.24): /postcss-nested@6.0.1(postcss@8.4.24):
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
engines: {node: '>=12.0'} engines: {node: '>=12.0'}
@ -3429,6 +3760,128 @@ packages:
postcss: 8.4.24 postcss: 8.4.24
postcss-selector-parser: 6.0.13 postcss-selector-parser: 6.0.13
/postcss-normalize-charset@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
dev: false
/postcss-normalize-display-values@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-normalize-positions@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-normalize-repeat-style@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-normalize-string@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-normalize-timing-functions@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-normalize-unicode@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.7
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-normalize-url@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-normalize-whitespace@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-ordered-values@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
cssnano-utils: 4.0.0(postcss@8.4.24)
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-reduce-initial@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.7
caniuse-api: 3.0.0
postcss: 8.4.24
dev: false
/postcss-reduce-transforms@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
dev: false
/postcss-selector-parser@6.0.13: /postcss-selector-parser@6.0.13:
resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -3436,6 +3889,27 @@ packages:
cssesc: 3.0.0 cssesc: 3.0.0
util-deprecate: 1.0.2 util-deprecate: 1.0.2
/postcss-svgo@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==}
engines: {node: ^14 || ^16 || >= 18}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-value-parser: 4.2.0
svgo: 3.0.2
dev: false
/postcss-unique-selectors@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.24
postcss-selector-parser: 6.0.13
dev: false
/postcss-value-parser@4.2.0: /postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
@ -3971,6 +4445,17 @@ packages:
engines: {node: '>=8'} engines: {node: '>=8'}
dev: true dev: true
/stylehacks@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.7
postcss: 8.4.24
postcss-selector-parser: 6.0.13
dev: false
/sucrase@3.32.0: /sucrase@3.32.0:
resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -4012,6 +4497,19 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
/svgo@3.0.2:
resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
'@trysound/sax': 0.2.0
commander: 7.2.0
css-select: 5.1.0
css-tree: 2.3.1
csso: 5.0.5
picocolors: 1.0.0
dev: false
/synckit@0.8.5: /synckit@0.8.5:
resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}

View File

@ -0,0 +1,3 @@
module.exports = {
plugins: [require('autoprefixer'), require('cssnano')],
}

View File

@ -8,7 +8,7 @@ export interface Props {
const { href, title, body } = Astro.props const { href, title, body } = Astro.props
--- ---
<li class="link-card"> <li>
<a href={href}> <a href={href}>
<h2> <h2>
{title} {title}
@ -19,46 +19,3 @@ const { href, title, body } = Astro.props
</p> </p>
</a> </a>
</li> </li>
<style>
.link-card {
list-style: none;
display: flex;
padding: 0.25rem;
background-color: white;
background-image: none;
background-size: 400%;
border-radius: 0.6rem;
background-position: 100%;
transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.link-card > a {
width: 100%;
text-decoration: none;
line-height: 1.4;
padding: 1rem 1.3rem;
border-radius: 0.35rem;
color: #111;
background-color: white;
opacity: 0.8;
}
h2 {
margin: 0;
font-size: 1.25rem;
transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
p {
margin-top: 0.5rem;
margin-bottom: 0;
color: #444;
}
.link-card:is(:hover, :focus-within) {
background-position: 0;
background-image: var(--accent-gradient);
}
.link-card:is(:hover, :focus-within) h2 {
color: rgb(var(--accent));
}
</style>

View File

@ -20,22 +20,3 @@ const { title } = Astro.props
<slot /> <slot />
</body> </body>
</html> </html>
<style is:global>
:root {
--accent: 124, 58, 237;
--accent-gradient: linear-gradient(
45deg,
rgb(var(--accent)),
#da62c4 30%,
white 60%
);
}
html {
font-family: system-ui, sans-serif;
background-color: #f6f6f6;
}
code {
font-family: Menlo, Monaco, Lucida Console, Liberation Mono,
DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
}
</style>

View File

@ -5,12 +5,12 @@ import Card from '../components/Card.astro';
<Layout title="Welcome to Astro."> <Layout title="Welcome to Astro.">
<main> <main>
<h1>Welcome to <span class="text-gradient">Astro</span></h1> <h1>Welcome to <span>Astro</span></h1>
<p class="instructions"> <p>
To get started, open the directory <code>src/pages</code> in your project.<br /> To get started, open the directory <code>src/pages</code> in your project.<br />
<strong>Code Challenge:</strong> Tweak the "Welcome to Astro" message above. <strong>Code Challenge:</strong> Tweak the "Welcome to Astro" message above.
</p> </p>
<ul role="list" class="link-card-grid"> <ul role="list">
<Card <Card
href="https://docs.astro.build/" href="https://docs.astro.build/"
title="Documentation" title="Documentation"
@ -34,48 +34,3 @@ import Card from '../components/Card.astro';
</ul> </ul>
</main> </main>
</Layout> </Layout>
<style>
main {
margin: auto;
padding: 1.5rem;
max-width: 60ch;
}
h1 {
font-size: 3rem;
font-weight: 800;
margin: 0;
}
.text-gradient {
background-image: var(--accent-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-size: 400%;
background-position: 0%;
}
.instructions {
line-height: 1.6;
margin: 1rem 0;
border: 1px solid rgba(var(--accent), 25%);
background-color: white;
padding: 1rem;
border-radius: 0.4rem;
}
.instructions code {
font-size: 0.875em;
font-weight: bold;
background: rgba(var(--accent), 12%);
color: rgb(var(--accent));
border-radius: 4px;
padding: 0.3em 0.45em;
}
.instructions strong {
color: rgb(var(--accent));
}
.link-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(24ch, 1fr));
gap: 1rem;
padding: 0;
}
</style>

View File

@ -0,0 +1,8 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
theme: {
extend: {},
},
plugins: [],
}