updated tailwind and astro version

This commit is contained in:
liyunze 2025-06-06 20:20:46 +10:00
parent 8207aaf5e5
commit fd5db0121a
9 changed files with 1146 additions and 1995 deletions

View file

@ -1,16 +1,23 @@
import { defineConfig } from "astro/config"; import { defineConfig } from "astro/config";
import tailwind from "@astrojs/tailwind";
import svelte from "@astrojs/svelte"; import svelte from "@astrojs/svelte";
import mdx from "@astrojs/mdx"; import mdx from "@astrojs/mdx";
import tailwindcss from "@tailwindcss/vite";
// https://astro.build/config // https://astro.build/config
export default defineConfig({ export default defineConfig({
integrations: [tailwind(), svelte(), mdx()], integrations: [svelte(), mdx()],
server: {
port: 8008, server: {
hostname: "RythonDev", port: 8008,
}, hostname: "RythonDev",
site: "https://rython.dev", },
site: "https://rython.dev",
vite: {
plugins: [tailwindcss()],
},
}); });

2950
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -12,13 +12,13 @@
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.3.0", "@astrojs/mdx": "^4.3.0",
"@astrojs/svelte": "7.0.4", "@astrojs/svelte": "7.0.4",
"@astrojs/tailwind": "6.0.0", "@tailwindcss/vite": "^4.1.8",
"astro": "5.3.0", "astro": "^5.9.0",
"caniuse-lite": "^1.0.30001698", "caniuse-lite": "^1.0.30001698",
"moment": "^2.30.1", "moment": "^2.30.1",
"moment-timezone": "^0.5.47", "moment-timezone": "^0.5.47",
"svelte": "^5.19.9", "svelte": "^5.19.9",
"tailwindcss": "^3.4.17", "tailwindcss": "^4.1.8",
"typescript": "^5.7.3" "typescript": "^5.7.3"
}, },
"devDependencies": { "devDependencies": {

View file

@ -53,25 +53,25 @@
class="flex h-fit w-full flex-col justify-center px-10 lg:flex-row lg:px-20" class="flex h-fit w-full flex-col justify-center px-10 lg:flex-row lg:px-20"
> >
<div <div
class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mb-0 lg:ml-auto lg:mr-5 lg:w-1/2" class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mr-5 lg:mb-0 lg:ml-auto lg:w-1/2"
> >
<img <img
src="/images/projects/chess-opencv.webp" src="/images/projects/chess-opencv.webp"
alt="computer vision chess bot" alt="computer vision chess bot"
class="absolute left-1/2 class="absolute top-1/2
top-1/2 max-w-full left-1/2 max-w-full
rounded-xl border-2 [transform:rotateY(5deg)_rotateX(0deg)_translateZ(-50px)_translateX(-45%)_translateY(-50%)] rounded-xl
border-solid border-white opacity-40 [transform:rotateY(5deg)_rotateX(0deg)_translateZ(-50px)_translateX(-45%)_translateY(-50%)]" border-2 border-solid border-white opacity-40"
width="700" width="700"
/> />
<!-- svelte-ignore a11y-media-has-caption --> <!-- svelte-ignore a11y-media-has-caption -->
<video <video
width="700" width="700"
class="playable opacity-1 absolute class="playable absolute top-1/2
left-1/2 top-1/2 left-1/2 max-w-full
max-w-full rounded-xl [transform:rotateY(5deg)_rotateX(0deg)_translateZ(-50px)_translateX(-43%)_translateY(-52%)] rounded-xl
border-2 border-solid border-white [transform:rotateY(5deg)_rotateX(0deg)_translateZ(-50px)_translateX(-43%)_translateY(-52%)]" border-2 border-solid border-white opacity-100"
> >
<source <source
src="/videos/chess_opencv_demo.webm" src="/videos/chess_opencv_demo.webm"
@ -86,7 +86,7 @@
Computer Vision Chess bot Computer Vision Chess bot
</h2> </h2>
<p <p
class="max-w-lg text-balance text-center text-xl lg:max-w-none lg:text-left" class="max-w-lg text-center text-xl text-balance lg:max-w-none lg:text-left"
> >
A script that plays against opponents on lichess. Uses A script that plays against opponents on lichess. Uses
OpenCV to detect the board and pieces, and the Stockfish OpenCV to detect the board and pieces, and the Stockfish
@ -130,14 +130,14 @@
Computer Vision AimLab Bot Computer Vision AimLab Bot
</h2> </h2>
<p <p
class="max-w-lg text-balance text-center text-xl lg:max-w-none lg:text-right" class="max-w-lg text-center text-xl text-balance lg:max-w-none lg:text-right"
> >
A script that plays AimLab, a game that helps improve your A script that plays AimLab, a game that helps improve your
aim in FPS games. Uses OpenCV to detect the targets and aim in FPS games. Uses OpenCV to detect the targets and
win32API to move the mouse and click. win32API to move the mouse and click.
</p> </p>
<div <div
class="mb-10 mt-5 flex w-full flex-row flex-wrap justify-center lg:mb-0 lg:justify-end" class="mt-5 mb-10 flex w-full flex-row flex-wrap justify-center lg:mb-0 lg:justify-end"
> >
<div <div
class="my-1 mr-1 w-fit class="my-1 mr-1 w-fit
@ -163,24 +163,24 @@
</div> </div>
</div> </div>
<div <div
class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mb-0 lg:ml-auto lg:mr-5 lg:w-1/2" class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mr-5 lg:mb-0 lg:ml-auto lg:w-1/2"
> >
<img <img
src="/images/projects/aim-lab.webp" src="/images/projects/aim-lab.webp"
alt="aim lab" alt="aim lab"
class="absolute left-1/2 class="absolute top-1/2
top-1/2 max-w-full rounded-xl border-2 left-1/2 max-w-full [transform:translateX(-48%)_translateY(-48%)_translateZ(-50px)_rotateY(-3deg)] rounded-xl
border-solid border-white opacity-40 [transform:translateX(-48%)_translateY(-48%)_translateZ(-50px)_rotateY(-3deg)]" border-2 border-solid border-white opacity-40"
width="700" width="700"
/> />
<!-- svelte-ignore a11y-media-has-caption --> <!-- svelte-ignore a11y-media-has-caption -->
<video <video
width="700" width="700"
class="playable opacity-1 absolute class="playable absolute top-1/2
left-1/2 top-1/2 left-1/2 max-w-full
max-w-full rounded-xl [transform:translateX(-50%)_translateY(-50%)_translateZ(-50px)_rotateY(-3deg)] rounded-xl
border-2 border-solid border-white [transform:translateX(-50%)_translateY(-50%)_translateZ(-50px)_rotateY(-3deg)]" border-2 border-solid border-white opacity-100"
><source src="/videos/aim_lab_demo.webm" /></video ><source src="/videos/aim_lab_demo.webm" /></video
> >
</div> </div>

View file

@ -15,7 +15,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
class="flex h-fit w-full flex-col justify-center px-10 lg:flex-row lg:px-20" class="flex h-fit w-full flex-col justify-center px-10 lg:flex-row lg:px-20"
> >
<div <div
class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mb-0 lg:ml-auto lg:mr-5 lg:w-1/2" class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mr-5 lg:mb-0 lg:ml-auto lg:w-1/2"
> >
<Image <Image
src={CoworkingGuide} src={CoworkingGuide}
@ -32,16 +32,16 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
width="700" width="700"
class=`absolute max-w-full class=`absolute max-w-full
top-1/2 left-1/2 top-1/2 left-1/2
[transform:rotateY(5deg)_rotateX(0deg)_translateZ(-50px)_translateX(-43%)_translateY(-52%)] opacity-1 [transform:rotateY(5deg)_rotateX(0deg)_translateZ(-50px)_translateX(-43%)_translateY(-52%)] opacity-100
border-2 border-solid border-white rounded-xl` border-2 border-solid border-white rounded-xl`
/> />
<div <div
class="visit-div absolute left-1/2 top-1/2 aspect-video w-[700px] max-w-full rounded-xl border-2 border-solid border-white bg-[rgba(0,0,0,0.5)] opacity-0 [transform:translateX(-50%)_translateY(-50%)]" class="visit-div absolute top-1/2 left-1/2 aspect-video w-[700px] max-w-full [transform:translateX(-50%)_translateY(-50%)] rounded-xl border-2 border-solid border-white bg-[rgba(0,0,0,0.5)] opacity-0"
> >
<a <a
href="https://coworking-guide.vercel.app/" href="https://coworking-guide.vercel.app/"
target="_blank" target="_blank"
class="opacity-1 absolute left-1/2 top-1/2 hidden rounded-xl bg-blue-600 px-5 py-3 font-bold transition-colors duration-300 [transform:translateX(-50%)_translateY(-50%)] hover:bg-white hover:text-blue-500 lg:block" class="absolute top-1/2 left-1/2 hidden [transform:translateX(-50%)_translateY(-50%)] rounded-xl bg-blue-600 px-5 py-3 font-bold opacity-100 transition-colors duration-300 hover:bg-white hover:text-blue-500 lg:block"
>Visit site</a >Visit site</a
> >
</div> </div>
@ -50,7 +50,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
<a <a
href="https://coworking-guide.vercel.app/" href="https://coworking-guide.vercel.app/"
target="_blank" target="_blank"
class="opacity-1 rounded-xl bg-blue-600 px-5 py-3 font-bold transition-colors duration-300 hover:bg-white hover:text-blue-500" class="rounded-xl bg-blue-600 px-5 py-3 font-bold opacity-100 transition-colors duration-300 hover:bg-white hover:text-blue-500"
>View repository</a >View repository</a
> >
</div> </div>
@ -61,7 +61,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
Coworking Guide Coworking Guide
</h2> </h2>
<p <p
class="max-w-lg text-balance text-center text-xl lg:max-w-none lg:text-left" class="max-w-lg text-center text-xl text-balance lg:max-w-none lg:text-left"
> >
A guide to coworking streams for streamers, covers wide A guide to coworking streams for streamers, covers wide
range of topics from tips on how to get started with setting range of topics from tips on how to get started with setting
@ -98,7 +98,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
Chat-Task-Tic Widget Chat-Task-Tic Widget
</h2> </h2>
<p <p
class="max-w-lg text-balance text-center text-xl lg:max-w-none lg:text-right" class="max-w-lg text-center text-xl text-balance lg:max-w-none lg:text-right"
> >
Used by 100+ Twitch streamers, allow viewers and streamers Used by 100+ Twitch streamers, allow viewers and streamers
to add their own tasks to the widget for accountability! to add their own tasks to the widget for accountability!
@ -129,7 +129,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
<a <a
href="https://github.com/liyunze-coding/chat-task-tic-overlay-infinity" href="https://github.com/liyunze-coding/chat-task-tic-overlay-infinity"
target="_blank" target="_blank"
class="opacity-1 rounded-xl bg-blue-600 px-5 py-3 font-bold transition-colors duration-300 hover:bg-white hover:text-blue-600" class="rounded-xl bg-blue-600 px-5 py-3 font-bold opacity-100 transition-colors duration-300 hover:bg-white hover:text-blue-600"
>View repository</a >View repository</a
> >
</div> </div>
@ -140,7 +140,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
class="mt-5 flex h-fit w-full flex-col justify-center px-10 lg:mt-0 lg:flex-row lg:px-20" class="mt-5 flex h-fit w-full flex-col justify-center px-10 lg:mt-0 lg:flex-row lg:px-20"
> >
<div <div
class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mb-0 lg:ml-auto lg:mr-5 lg:w-1/2" class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mr-5 lg:mb-0 lg:ml-auto lg:w-1/2"
> >
<Image <Image
src={Wnrs} src={Wnrs}
@ -158,17 +158,17 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
width="700" width="700"
class=`absolute max-w-full class=`absolute max-w-full
top-1/2 left-1/2 top-1/2 left-1/2
[transform:rotateY(5deg)_rotateX(0deg)_translateZ(-50px)_translateX(-43%)_translateY(-52%)] opacity-1 [transform:rotateY(5deg)_rotateX(0deg)_translateZ(-50px)_translateX(-43%)_translateY(-52%)] opacity-100
border-2 border-solid border-white rounded-xl border-2 border-solid border-white rounded-xl
aspect-video` aspect-video`
/> />
<div <div
class="visit-div absolute left-1/2 top-1/2 aspect-video w-[700px] max-w-full rounded-xl border-2 border-solid border-white bg-[rgba(0,0,0,0.5)] opacity-0 [transform:translateX(-50%)_translateY(-50%)]" class="visit-div absolute top-1/2 left-1/2 aspect-video w-[700px] max-w-full [transform:translateX(-50%)_translateY(-50%)] rounded-xl border-2 border-solid border-white bg-[rgba(0,0,0,0.5)] opacity-0"
> >
<a <a
href="https://liyunze-coding.github.io/wnrs/" href="https://liyunze-coding.github.io/wnrs/"
target="_blank" target="_blank"
class="opacity-1 absolute left-1/2 top-1/2 hidden rounded-xl bg-blue-600 px-5 py-3 font-bold transition-colors duration-300 [transform:translateX(-50%)_translateY(-50%)] hover:bg-white hover:text-blue-500 lg:block" class="absolute top-1/2 left-1/2 hidden [transform:translateX(-50%)_translateY(-50%)] rounded-xl bg-blue-600 px-5 py-3 font-bold opacity-100 transition-colors duration-300 hover:bg-white hover:text-blue-500 lg:block"
>Visit site</a >Visit site</a
> >
</div> </div>
@ -177,7 +177,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
<a <a
href="https://hex-guess.vercel.app/" href="https://hex-guess.vercel.app/"
target="_blank" target="_blank"
class="opacity-1 rounded-xl bg-blue-600 px-5 py-3 font-bold transition-colors duration-300 hover:bg-white hover:text-blue-500" class="rounded-xl bg-blue-600 px-5 py-3 font-bold opacity-100 transition-colors duration-300 hover:bg-white hover:text-blue-500"
>View repository</a >View repository</a
> >
</div> </div>
@ -188,7 +188,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
We're Not Really Strangers We're Not Really Strangers
</h2> </h2>
<p <p
class="max-w-lg text-balance text-center text-xl lg:max-w-none lg:text-left" class="max-w-lg text-center text-xl text-balance lg:max-w-none lg:text-left"
> >
Otherwise abbreviated as "WNRS", this is a digital Otherwise abbreviated as "WNRS", this is a digital
adaptation of the popular card game designed to foster adaptation of the popular card game designed to foster
@ -221,7 +221,7 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
Twitch Plays X Twitch Plays X
</h2> </h2>
<p <p
class="max-w-lg text-balance text-center text-xl lg:max-w-none lg:text-right" class="max-w-lg text-center text-xl text-balance lg:max-w-none lg:text-right"
> >
Allow Twitch chatters to play games such as Pokemon! Allow Twitch chatters to play games such as Pokemon!
Chatters can enter messages such as "up up down down left Chatters can enter messages such as "up up down down left
@ -247,12 +247,12 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
<a <a
href="https://github.com/liyunze-coding/TwitchPlaysX" href="https://github.com/liyunze-coding/TwitchPlaysX"
target="_blank" target="_blank"
class="opacity-1 rounded-xl bg-blue-600 px-5 py-3 font-bold transition-colors duration-300 hover:bg-white hover:text-blue-500" class="rounded-xl bg-blue-600 px-5 py-3 font-bold opacity-100 transition-colors duration-300 hover:bg-white hover:text-blue-500"
>View repository</a >View repository</a
> >
</div> </div>
<div <div
class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mb-0 lg:ml-auto lg:mr-5 lg:w-1/2" class="image-container relative mb-5 flex aspect-video w-full [perspective:200px] lg:mr-5 lg:mb-0 lg:ml-auto lg:w-1/2"
> >
<Image <Image
src={TwitchPlays} src={TwitchPlays}
@ -269,16 +269,16 @@ import TwitchPlays from "./images/projects/twitchplays.webp";
width="700" width="700"
class=`absolute max-w-full class=`absolute max-w-full
top-1/2 left-1/2 top-1/2 left-1/2
[transform:translateX(-50%)_translateY(-50%)_translateZ(-50px)_rotateY(-3deg)] opacity-1 [transform:translateX(-50%)_translateY(-50%)_translateZ(-50px)_rotateY(-3deg)] opacity-100
border-2 border-solid border-white rounded-xl` border-2 border-solid border-white rounded-xl`
/> />
<div <div
class="visit-div absolute left-1/2 top-1/2 aspect-video w-[700px] max-w-full rounded-xl border-2 border-solid border-white bg-[rgba(0,0,0,0.5)] opacity-0 [transform:translateX(-50%)_translateY(-50%)]" class="visit-div absolute top-1/2 left-1/2 aspect-video w-[700px] max-w-full [transform:translateX(-50%)_translateY(-50%)] rounded-xl border-2 border-solid border-white bg-[rgba(0,0,0,0.5)] opacity-0"
> >
<a <a
href="https://github.com/liyunze-coding/TwitchPlaysX" href="https://github.com/liyunze-coding/TwitchPlaysX"
target="_blank" target="_blank"
class="opacity-1 absolute left-1/2 top-1/2 hidden rounded-xl bg-blue-600 px-5 py-3 font-bold transition-colors duration-300 [transform:translateX(-50%)_translateY(-50%)] hover:bg-white hover:text-blue-500 lg:block" class="absolute top-1/2 left-1/2 hidden [transform:translateX(-50%)_translateY(-50%)] rounded-xl bg-blue-600 px-5 py-3 font-bold opacity-100 transition-colors duration-300 hover:bg-white hover:text-blue-500 lg:block"
>View repository</a >View repository</a
> >
</div> </div>

View file

@ -116,13 +116,13 @@
</script> </script>
<div <div
class="image-container relative mb-3 ml-0 mr-0 aspect-video [perspective:200px] md:mr-5 lg:mb-0 lg:ml-1 lg:mr-0 lg:w-1/2" class="image-container relative mr-0 mb-3 ml-0 aspect-video [perspective:200px] md:mr-5 lg:mr-0 lg:mb-0 lg:ml-1 lg:w-1/2"
> >
<!-- task bot --> <!-- task bot -->
<div <div
class="task-widget absolute left-1/2 top-1/2 flex class="task-widget absolute top-1/2 left-1/2 flex
h-[99%] w-full h-[99%] w-full
flex-col opacity-30 [transform:translateX(-50%)_translateY(-49%)_translateZ(-50px)_rotateY(-3deg)]" [transform:translateX(-50%)_translateY(-49%)_translateZ(-50px)_rotateY(-3deg)] flex-col opacity-30"
> >
<div <div
class="flex w-full flex-row items-center justify-between class="flex w-full flex-row items-center justify-between
@ -141,8 +141,8 @@
<div class="scroll-element primary absolute w-full px-1"> <div class="scroll-element primary absolute w-full px-1">
{#each streamers as { streamer, task }} {#each streamers as { streamer, task }}
<div <div
class="my-2 w-full overflow-hidden overflow-ellipsis whitespace-nowrap rounded-md bg-[#404040] class="my-2 w-full overflow-hidden rounded-md bg-[#404040] px-5 py-1
px-5 py-1 text-white" overflow-ellipsis whitespace-nowrap text-white"
> >
O {streamer} : {task} O {streamer} : {task}
</div> </div>
@ -151,8 +151,8 @@
<div class="scroll-element secondary absolute w-full px-1"> <div class="scroll-element secondary absolute w-full px-1">
{#each streamers as { streamer, task }} {#each streamers as { streamer, task }}
<div <div
class="my-2 w-full overflow-hidden overflow-ellipsis whitespace-nowrap rounded-md bg-[#404040] class="my-2 w-full overflow-hidden rounded-md bg-[#404040] px-5 py-1
px-5 py-1 text-white" overflow-ellipsis whitespace-nowrap text-white"
> >
O {streamer} : {task} O {streamer} : {task}
</div> </div>
@ -161,9 +161,9 @@
</div> </div>
</div> </div>
<div <div
class="task-widget absolute left-1/2 top-1/2 class="task-widget absolute top-1/2 left-1/2
flex h-[99%] flex h-[99%]
w-full flex-col [transform:translateX(-51%)_translateY(-50%)_translateZ(-50px)_rotateY(-3deg)]" w-full [transform:translateX(-51%)_translateY(-50%)_translateZ(-50px)_rotateY(-3deg)] flex-col"
> >
<div <div
class="flex w-full flex-row items-center justify-between class="flex w-full flex-row items-center justify-between
@ -182,8 +182,8 @@
<div class="scroll-element primary absolute w-full px-1"> <div class="scroll-element primary absolute w-full px-1">
{#each streamers as { streamer, task }} {#each streamers as { streamer, task }}
<div <div
class="my-2 w-full overflow-hidden overflow-ellipsis whitespace-nowrap rounded-md bg-[#404040] class="my-2 w-full overflow-hidden rounded-md bg-[#404040] px-5 py-1
px-5 py-1 text-white" overflow-ellipsis whitespace-nowrap text-white"
> >
O {streamer} : {task} O {streamer} : {task}
</div> </div>
@ -192,8 +192,8 @@
<div class="scroll-element secondary absolute w-full px-1"> <div class="scroll-element secondary absolute w-full px-1">
{#each streamers as { streamer, task }} {#each streamers as { streamer, task }}
<div <div
class="my-2 w-full overflow-hidden overflow-ellipsis whitespace-nowrap rounded-md bg-[#404040] class="my-2 w-full overflow-hidden rounded-md bg-[#404040] px-5 py-1
px-5 py-1 text-white" overflow-ellipsis whitespace-nowrap text-white"
> >
O {streamer} : {task} O {streamer} : {task}
</div> </div>
@ -202,20 +202,20 @@
</div> </div>
</div> </div>
<div <div
class="visit-div absolute left-1/2 top-1/2 h-full w-full class="visit-div absolute top-1/2 left-1/2 h-full w-full
overflow-hidden [transform:translateX(-50%)_translateY(-50%)]
rounded-md border-2 border-solid overflow-hidden rounded-md border-2
border-white bg-[rgba(0,0,0,0.5)] opacity-0 border-solid border-white bg-[rgba(0,0,0,0.5)]
[transform:translateX(-50%)_translateY(-50%)]" opacity-0"
> >
<a <a
href="https://github.com/liyunze-coding/chat-task-tic-overlay-infinity" href="https://github.com/liyunze-coding/chat-task-tic-overlay-infinity"
target="_blank" target="_blank"
class="opacity-1 absolute left-1/2 top-1/2 class="absolute top-1/2 left-1/2 hidden
hidden rounded-xl bg-blue-500 px-5 py-3 [transform:translateX(-50%)_translateY(-50%)] rounded-xl bg-blue-500 px-5 py-3
font-bold font-bold
transition-colors duration-300 opacity-100 transition-colors
[transform:translateX(-50%)_translateY(-50%)] hover:bg-white duration-300 hover:bg-white
hover:text-blue-500 lg:block">View repository</a hover:text-blue-500 lg:block">View repository</a
> >
</div> </div>

View file

@ -5,7 +5,8 @@ interface Props {
} }
const { title, description } = Astro.props; const { title, description } = Astro.props;
import { ViewTransitions } from "astro:transitions"; import "../styles/global.css";
import { ClientRouter } from "astro:transitions";
--- ---
<!doctype html> <!doctype html>
@ -25,7 +26,7 @@ import { ViewTransitions } from "astro:transitions";
</head> </head>
<body> <body>
<slot /> <slot />
<ViewTransitions /> <ClientRouter />
</body> </body>
</html> </html>
<style is:global> <style is:global>
@ -55,17 +56,11 @@ import { ViewTransitions } from "astro:transitions";
scroll-behavior: smooth; scroll-behavior: smooth;
} }
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body { body {
font-family: "Montserrat", sans-serif; font-family: "Montserrat", sans-serif;
color: #fff; color: #fff;
background: radial-gradient(circle, #383838 1px, transparent 1px), background:
#202020; radial-gradient(circle, #383838 1px, transparent 1px), #202020;
background-size: 20px 20px; background-size: 20px 20px;
} }
</style> </style>

View file

@ -56,7 +56,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -107,7 +107,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -161,7 +161,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -209,7 +209,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -288,7 +288,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -309,7 +309,7 @@ import profile from "./_images/profile.webp";
> >
<div <div
id="github-icon" id="github-icon"
class="icon-box 2-10 absolute left-1/2 top-1/2 h-12 w-12 -translate-x-1/2 -translate-y-1/2 rounded-full" class="icon-box 2-10 absolute top-1/2 left-1/2 h-12 w-12 -translate-x-1/2 -translate-y-1/2 rounded-full"
> >
<svg <svg
width="38px" width="38px"
@ -358,7 +358,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -482,7 +482,7 @@ import profile from "./_images/profile.webp";
</div> </div>
<span <span
id="time-in-aus" id="time-in-aus"
class="uppercase text-[#ccc]"></span> class="text-[#ccc] uppercase"></span>
<span <span
id="time-difference" id="time-difference"
class="text-[#ccc]" class="text-[#ccc]"
@ -500,7 +500,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -540,7 +540,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -598,7 +598,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -639,7 +639,7 @@ import profile from "./_images/profile.webp";
class="social-card-content group flex flex-col items-start justify-between" class="social-card-content group flex flex-col items-start justify-between"
> >
<div <div
class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-100" class="absolute right-5 rotate-45 opacity-0 transition-all duration-300 ease-in-out group-hover:rotate-0 group-hover:opacity-10000"
> >
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"

1
src/styles/global.css Normal file
View file

@ -0,0 +1 @@
@import "tailwindcss";