Shatun website
Marketing site and docs for Shatun, built with VitePress.
Visual language matches the app SPA (resources/) — dark shell, terracotta accent, Inter.
Commands
cd website
npm install
npm run dev # http://localhost:5173
npm run build # → .vitepress/dist
npm run preview # serve production buildLayout
| Path | Purpose |
|---|---|
index.md | Landing (English, default) |
ru/, be/ | Russian and Belarusian mirrors |
guide/ | Docs (Get started, Core features, Support) |
changelog/ | Semver release notes (0.0.1.md, …) |
.vitepress/config.ts | Locales, nav, sidebar, outline, search |
.vitepress/changelog.data.ts | Loads + sorts changelog markdown |
.vitepress/theme/ | Hero, capabilities, footer, styles |
Languages
Same as the app: English, Русский, Беларуская (en / ru / be).
Paths: /, /ru/, /be/.
Changelog entries
Add a file per version, e.g. changelog/1.2.3.md:
---
version: 1.2.3
date: 2026-08-01
title: Optional title
---
## Highlights
- …Mirror under ru/changelog/ and be/changelog/ when translating. Newest semver appears first on the index.
Deploy (Cloudflare Pages)
On semver tag push (v*.*.* or *.*.*), .github/workflows/website.yml builds this package and deploys website/.vitepress/dist to Cloudflare Pages.
| Secret / var | Required | Notes |
|---|---|---|
CLOUDFLARE_API_TOKEN | yes | API token with Account → Cloudflare Pages → Edit |
CLOUDFLARE_ACCOUNT_ID | yes | Cloudflare account id |
CLOUDFLARE_PAGES_PROJECT | no | Pages project name (default shatun) |
CLOUDFLARE_PAGES_BRANCH | no | Deploy branch sent to Pages (default main). Must match the project’s Production branch in the Cloudflare dashboard, or the upload is a preview. |
Custom domain: https://shatun.dev (attach in Cloudflare Pages → Custom domains).
Tag builds force --branch=main so production is updated even though the git ref is vX.Y.Z.
App UI remains in resources/ and is unrelated to this package at runtime.