DEV Community

Cover image for SveltePress: Ship docs and blogs with SvelteKit — and Svelte 5 inside Markdown
Dongsheng
Dongsheng

Posted on

SveltePress: Ship docs and blogs with SvelteKit — and Svelte 5 inside Markdown

The problem

If your product is SvelteKit, your docs often… aren’t. You jump to VitePress (Vue) or Docusaurus (React), then maintain a second mental model for layouts, components, and deploy adapters. That’s fine for many teams — until you want interactive examples that are the same components your app uses.

What SveltePress is

SveltePress is a content-centered site builder for docs and blogs, inspired by VitePress and built on SvelteKit. You write Markdown (and Svelte), keep Kit’s full surface area (SSR, SSG, adapters, +page.server.js, hooks), and get documentation-native features on top.

Live docs & demos: sveltepress.site

Source: github.com/SveltePress/sveltepress (~532 stars, MIT)

What you get

Svelte 5 Runes in Markdown

Embed reactive components and $state islands directly in .md — tips/callouts, Twoslash hover types, no separate playground toolchain required for simple demos.

Immutable document versioning

Keep current docs at clean URLs while publishing frozen historical snapshots, with built-in version navigation and release change catalogs.

Built-in i18n

Serve multiple locales from one site: automatic prefixing, language switcher, navigation that preserves the selected version.

Search that stays out of your way

Zero-config Pagefind (client-side, multi-locale filtering, historical index freezing). Algolia DocSearch is also supported if you already live there.

Themes you can own

Default documentation theme, blog theme, or a custom theme — configuration and theme APIs are typed.

Still SvelteKit

Same routing mental model (src/routes/+page.md, layouts, etc.). Scaffold defaults to adapter-static; swap adapters when you need SSR or platform-specific deploys.

Quickstart

# Node.js ^20.19.0 or >=22.12.0; pnpm 10 recommended
npm create @sveltepress@latest
# or: pnpm create @sveltepress

cd your-project
pnpm install
pnpm dev
Enter fullscreen mode Exit fullscreen mode

Docs walk through adding @sveltepress/vite to an existing SvelteKit app if you’re not starting from scratch.

Who it’s for

  • Svelte / SvelteKit teams who want docs or a content site without leaving the ecosystem
  • Projects that need versioned docs and/or multi-locale sites
  • Authors who want interactive Svelte examples next to prose

Who it’s not (yet) for

  • Teams standardized on Vue/React doc stacks with deep plugin ecosystems already paid for
  • Pure “Markdown → HTML with zero JS runtime” pipelines that don’t want a Kit project at all

Light comparison (not a roast)

Need Typical pick SveltePress angle
Vue-native docs SSG VitePress Same content-first feel, SvelteKit underneath
Big React docs platform Docusaurus Lighter Kit-native path; versioning + i18n included
Stay in Svelte First-class: Runes in MD, Kit adapters, typed themes

Try it / tell us what’s wrong

We’re especially hungry for feedback on:

  1. First-hour DX (create → first deploy)
  2. Versioning + i18n edge cases in real multi-product docs
  3. Gaps vs your current VitePress/Docusaurus setup

👉 sveltepress.site · ⭐ GitHub

If you ship with it, a short “who’s using” note or issue is hugely helpful. Thanks for reading.

Top comments (0)