so, SvelteKit. it's a pretty nice web framework! a lot of the frontend web stuff we've been doing for the last while has been SvelteKit apps, and we've come to like it quite a bit.

i knew it supported pre-rendering static content with adapter-static, but what i didn't know is that it also lets you turn off client-side JS rendering entirely, making it into what is effectively an overly-complex static site generator.

so, of course, i did what any self-respecting nerd with a blog does. this website is now a fully statically-rendered SvelteKit application. i even got the RSS feed working! (i did have to remove the summary generation, but the post content is fully embedded in the RSS feed still)

all it really took was the following:

src/routes/+layout.ts
import { dev } from '$app/environment';

export const csr = dev;
export const ssr = true;
export const prerender = true;
export const trailingSlash = 'always';

that gives me dynamically-rendered hot-reload in development, and fully static content for actual deployment. neat!

if anything looks broken, please let me know - i probably did miss something...