diff --git a/.ignore b/.ignore
new file mode 100644
index 00000000..ea7f33b0
--- /dev/null
+++ b/.ignore
@@ -0,0 +1 @@
+bun.lock
diff --git a/bun.lock b/bun.lock
index 6a9e34c8..e138207b 100644
--- a/bun.lock
+++ b/bun.lock
@@ -8,6 +8,7 @@
"@astrojs/sitemap": "^3.2.1",
"@astrojs/svelte": "^7.0.6",
"@date-fns/tz": "^1.2.0",
+ "@hotwired/turbo": "^8.0.13",
"@iconify-json/feather": "^1.2.1",
"@tailwindcss/typography": "^0.5.16",
"astro": "^5.4.2",
@@ -24,6 +25,7 @@
"@biomejs/biome": "^1.9.4",
"@tailwindcss/vite": "^4.0.12",
"@types/bun": "^1.2.4",
+ "@types/hotwired__turbo": "^8.0.4",
"lefthook": "^1.11.3",
"prettier": "^3.5.3",
"prettier-plugin-astro": "^0.14.1",
@@ -164,6 +166,8 @@
"@floating-ui/utils": ["@floating-ui/utils@0.2.9", "", {}, "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg=="],
+ "@hotwired/turbo": ["@hotwired/turbo@8.0.13", "", {}, "sha512-M7qXUqcGab6G5PKOiwhgbByTtrPgKPFCTMNQ52QhzUEXEqmp0/ApEguUesh/FPiUjrmFec+3lq98KsWnYY2C7g=="],
+
"@iconify-json/feather": ["@iconify-json/feather@1.2.1", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-gURNg2TJYuO1U7DoOGCylm9TwkMfzjOH2BHdWsE0IXLXj/MNkFIJu56Wu1xRws27M8hzDzUDt/biGUa/LfAjdg=="],
"@iconify/tools": ["@iconify/tools@4.1.1", "", { "dependencies": { "@iconify/types": "^2.0.0", "@iconify/utils": "^2.2.0", "@types/tar": "^6.1.13", "axios": "^1.7.9", "cheerio": "1.0.0", "domhandler": "^5.0.3", "extract-zip": "^2.0.1", "local-pkg": "^0.5.1", "pathe": "^1.1.2", "svgo": "^3.3.2", "tar": "^6.2.1" } }, "sha512-Hybu/HGhv6T8nLQhiG9rKx+ekF7NNpPOEQAy7JRSKht3s3dcFSsPccYzk24Znc9MTxrR6Gak3cg6CPP5dyvS2Q=="],
@@ -340,6 +344,8 @@
"@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="],
+ "@types/hotwired__turbo": ["@types/hotwired__turbo@8.0.4", "", {}, "sha512-kgEKOms0taywPxPQvXUh90+G7M+phBHTiUw95Dosw0FU/we86iFerMfgBGcf3eQcAGs5pTNYnLMhiIlfRw/AfA=="],
+
"@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="],
"@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="],
diff --git a/package.json b/package.json
index 3ce3969d..aeb19fe6 100644
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
"@astrojs/sitemap": "^3.2.1",
"@astrojs/svelte": "^7.0.6",
"@date-fns/tz": "^1.2.0",
+ "@hotwired/turbo": "^8.0.13",
"@iconify-json/feather": "^1.2.1",
"@tailwindcss/typography": "^0.5.16",
"astro": "^5.4.2",
@@ -42,6 +43,7 @@
"@biomejs/biome": "^1.9.4",
"@tailwindcss/vite": "^4.0.12",
"@types/bun": "^1.2.4",
+ "@types/hotwired__turbo": "^8.0.4",
"lefthook": "^1.11.3",
"prettier": "^3.5.3",
"prettier-plugin-astro": "^0.14.1",
diff --git a/src/components/ArticleList.astro b/src/components/ArticleList.astro
index 61f4f19a..f72be3e5 100644
--- a/src/components/ArticleList.astro
+++ b/src/components/ArticleList.astro
@@ -56,8 +56,6 @@ const articlesWithExcerpts = await Promise.all(
const imageWidth = baseW * (isFeatured ? 2 : 1);
const imageHeight = baseW * (3 / 5) * (isFeatured ? 2 : 1);
- console.log(article.data.bg_color);
-
article.data.fit ??= "cover";
article.data.position ??= "center";
diff --git a/src/layouts/GlobalLayout.astro b/src/layouts/GlobalLayout.astro
index da26a0c6..80606be6 100644
--- a/src/layouts/GlobalLayout.astro
+++ b/src/layouts/GlobalLayout.astro
@@ -1,5 +1,4 @@
---
-import { ClientRouter } from "astro:transitions";
import Footer from "+/components/Footer.astro";
import Header from "+/components/Header.astro";
import Logo from "+/images/favicon.png";
@@ -25,6 +24,8 @@ const { title, description, focus, image } = Astro.props;
-
+