From 01f0879ed1ebfcf6513d369e352bd31e1c688362 Mon Sep 17 00:00:00 2001 From: Radu Date: Wed, 4 Mar 2026 15:50:00 +0200 Subject: [PATCH 1/9] chore: swap adapter-auto for adapter-static --- package-lock.json | 14 ++++++-------- package.json | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index d07a132..0372414 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.1.0", "license": "MIT", "devDependencies": { - "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "@types/eslint": "^8.56.0", @@ -933,14 +933,12 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "node_modules/@sveltejs/adapter-auto": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.2.1.tgz", - "integrity": "sha512-/3xx8ZFCD5UBc/7AbyXkFF3HNCzWAp2xncH8HA4doGjoGQEN7PmwiRx4Y9nOzi4mqDqYYUic0gaIAE2khWWU4Q==", + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.10.tgz", + "integrity": "sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==", "dev": true, - "dependencies": { - "import-meta-resolve": "^4.1.0" - }, + "license": "MIT", "peerDependencies": { "@sveltejs/kit": "^2.0.0" } diff --git a/package.json b/package.json index 9c1a8ac..b69d6ea 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "format": "prettier --write ." }, "devDependencies": { - "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "@types/eslint": "^8.56.0", From 094fe428b6f2cf17db0d286ddef31790f4f21fbe Mon Sep 17 00:00:00 2001 From: Radu Date: Wed, 4 Mar 2026 15:50:45 +0200 Subject: [PATCH 2/9] feat: configure adapter-static with GitHub Pages base path --- svelte.config.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/svelte.config.js b/svelte.config.js index 25d0452..1820722 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,8 +1,8 @@ -import preprocess from 'svelte-preprocess' -import adapter from '@sveltejs/adapter-auto'; +import preprocess from 'svelte-preprocess'; +import adapter from '@sveltejs/adapter-static'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; -import mdsvexConfig from './mdsvex.config.js' -import { mdsvex } from 'mdsvex' +import mdsvexConfig from './mdsvex.config.js'; +import { mdsvex } from 'mdsvex'; /** @type {import('@sveltejs/kit').Config} */ const config = { @@ -10,12 +10,17 @@ const config = { preprocess: [ vitePreprocess(), preprocess({ - postcss: true + postcss: true, }), mdsvex(mdsvexConfig), ], kit: { - adapter: adapter() + adapter: adapter({ + fallback: '404.html', + }), + paths: { + base: process.argv.includes('dev') ? '' : '/fluid_language', + }, }, }; From d804ccbcc194b05c16d7993ed2775961eea3fc89 Mon Sep 17 00:00:00 2001 From: Radu Date: Wed, 4 Mar 2026 15:51:25 +0200 Subject: [PATCH 3/9] feat: enable prerendering for all routes --- src/routes/+layout.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/routes/+layout.ts diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts new file mode 100644 index 0000000..189f71e --- /dev/null +++ b/src/routes/+layout.ts @@ -0,0 +1 @@ +export const prerender = true; From 859922c070a75d658b9775ba4812c5125fae30d8 Mon Sep 17 00:00:00 2001 From: Radu Date: Wed, 4 Mar 2026 15:55:07 +0200 Subject: [PATCH 4/9] fix: prefix internal links with base path for GitHub Pages All internal hrefs now use SvelteKit's `base` from `$app/paths` so they resolve correctly when the site is served under /fluid_language/. Also guards `$page.url.searchParams` on the homepage with a `browser` check so it doesn't break during prerendering. --- src/lib/components/ArticleMeta.svelte | 3 ++- src/lib/components/ArticlePreview.svelte | 3 ++- src/posts/a-new-voice.md | 2 +- src/routes/+page.svelte | 10 ++++++---- src/routes/posts/[slug]/+page.svelte | 3 ++- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/lib/components/ArticleMeta.svelte b/src/lib/components/ArticleMeta.svelte index 8f43223..1228869 100644 --- a/src/lib/components/ArticleMeta.svelte +++ b/src/lib/components/ArticleMeta.svelte @@ -1,4 +1,5 @@ - +
diff --git a/src/posts/a-new-voice.md b/src/posts/a-new-voice.md index 1aead0b..d5b013b 100644 --- a/src/posts/a-new-voice.md +++ b/src/posts/a-new-voice.md @@ -21,4 +21,4 @@ I carry with me a deepening of my ability to integrate ideas and traditions toge I call in discipline to keep me focused and consistent in my creativity. I call in a teaching role in my community, sharing the wisdom and knowledge God has given me. I call in overflowing creativity to share with others. I call in the true expression of my voice as a vehicle for the Divine. -These reflections inspired a poem: [Open Voice](/posts/open-voice). +These reflections inspired a poem: [Open Voice](./open-voice). diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 98eb504..72c27f3 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -2,30 +2,32 @@ import ArticlePreview from '$lib/components/ArticlePreview.svelte'; import { hasSeenIndexPageAnimations } from '$lib/stores'; import { page } from '$app/stores'; + import { browser } from '$app/environment'; import { onMount } from 'svelte'; export let data; - let showAnimations: boolean | null = null; + let mounted = false; + let showAnimations = false; - $: tag = $page.url.searchParams.get('tag'); + $: tag = browser ? $page.url.searchParams.get('tag') : null; $: filteredPosts = tag && data?.posts?.length ? data?.posts?.filter((p) => p.tags.includes(tag)) : data?.posts || []; onMount(() => { - // Hide animations if the user has seen them already or has set the `hideAnimations` query param to true showAnimations = !$hasSeenIndexPageAnimations && $page.url.searchParams.get('hideAnimations') !== 'true'; hasSeenIndexPageAnimations.set(true); + mounted = true; });
- {#if showAnimations !== null} + {#if mounted || !browser}

Fluid Language diff --git a/src/routes/posts/[slug]/+page.svelte b/src/routes/posts/[slug]/+page.svelte index 48f898a..161b363 100644 --- a/src/routes/posts/[slug]/+page.svelte +++ b/src/routes/posts/[slug]/+page.svelte @@ -1,4 +1,5 @@