diff --git a/package-lock.json b/package-lock.json
index 6101faf..583a8fd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,6 +19,7 @@
"astro": "^4.16.7",
"astro-og-canvas": "^0.5.4",
"svelte": "^5.1.1",
+ "tailwind-merge": "^2.5.4",
"tailwindcss": "^3.4.14",
"typescript": "^5.6.3"
},
@@ -6839,6 +6840,15 @@
"typescript": "^4.9.4 || ^5.0.0"
}
},
+ "node_modules/tailwind-merge": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.4.tgz",
+ "integrity": "sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/dcastil"
+ }
+ },
"node_modules/tailwindcss": {
"version": "3.4.14",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz",
diff --git a/package.json b/package.json
index 778f008..4f8abaa 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
"astro": "^4.16.7",
"astro-og-canvas": "^0.5.4",
"svelte": "^5.1.1",
+ "tailwind-merge": "^2.5.4",
"tailwindcss": "^3.4.14",
"typescript": "^5.6.3"
},
diff --git a/src/assets/earth.jpg b/src/assets/earth.jpg
index 01f7435..23cddae 100644
Binary files a/src/assets/earth.jpg and b/src/assets/earth.jpg differ
diff --git a/src/components/CodeCopyButton.svelte b/src/components/CodeCopyButton.astro
similarity index 80%
rename from src/components/CodeCopyButton.svelte
rename to src/components/CodeCopyButton.astro
index 180ab57..3be65ce 100644
--- a/src/components/CodeCopyButton.svelte
+++ b/src/components/CodeCopyButton.astro
@@ -1,7 +1,5 @@
-
diff --git a/src/components/ThemeToggle.svelte b/src/components/ThemeToggle.svelte
deleted file mode 100644
index 6d48646..0000000
--- a/src/components/ThemeToggle.svelte
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
diff --git a/src/components/alerts/ErrorAlert.astro b/src/components/alerts/ErrorAlert.astro
new file mode 100644
index 0000000..37d7edf
--- /dev/null
+++ b/src/components/alerts/ErrorAlert.astro
@@ -0,0 +1,41 @@
+---
+import { cn } from "../../utils";
+
+interface Props {
+ title: string;
+ class?: string;
+}
+
+const { title, class: className } = Astro.props;
+---
+
+
diff --git a/src/components/alerts/ErrorAlert.svelte b/src/components/alerts/ErrorAlert.svelte
deleted file mode 100644
index b6eb934..0000000
--- a/src/components/alerts/ErrorAlert.svelte
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
diff --git a/src/components/alerts/InfoAlert.astro b/src/components/alerts/InfoAlert.astro
new file mode 100644
index 0000000..75e4293
--- /dev/null
+++ b/src/components/alerts/InfoAlert.astro
@@ -0,0 +1,41 @@
+---
+import { cn } from "../../utils";
+
+interface Props {
+ title: string;
+ class?: string;
+}
+
+const { title, class: className } = Astro.props;
+---
+
+
diff --git a/src/components/alerts/InfoAlert.svelte b/src/components/alerts/InfoAlert.svelte
deleted file mode 100644
index ab6258f..0000000
--- a/src/components/alerts/InfoAlert.svelte
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
diff --git a/src/components/alerts/SuccessAlert.astro b/src/components/alerts/SuccessAlert.astro
new file mode 100644
index 0000000..87650ee
--- /dev/null
+++ b/src/components/alerts/SuccessAlert.astro
@@ -0,0 +1,43 @@
+---
+import { cn } from "../../utils";
+
+interface Props {
+ title: string;
+ class?: string;
+}
+
+const { title, class: className } = Astro.props;
+---
+
+
diff --git a/src/components/alerts/SuccessAlert.svelte b/src/components/alerts/SuccessAlert.svelte
deleted file mode 100644
index a8f66ba..0000000
--- a/src/components/alerts/SuccessAlert.svelte
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
diff --git a/src/components/alerts/WarningAlert.astro b/src/components/alerts/WarningAlert.astro
new file mode 100644
index 0000000..4f4de88
--- /dev/null
+++ b/src/components/alerts/WarningAlert.astro
@@ -0,0 +1,43 @@
+---
+import { cn } from "../../utils";
+
+interface Props {
+ title: string;
+ class?: string;
+}
+
+const { title, class: className } = Astro.props;
+---
+
+
diff --git a/src/components/alerts/WarningAlert.svelte b/src/components/alerts/WarningAlert.svelte
deleted file mode 100644
index f51ef0d..0000000
--- a/src/components/alerts/WarningAlert.svelte
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
diff --git a/src/components/search/CommandPalette.svelte b/src/components/search/CommandPalette.svelte
index e3edb86..b63682d 100644
--- a/src/components/search/CommandPalette.svelte
+++ b/src/components/search/CommandPalette.svelte
@@ -1,4 +1,6 @@