99885038fd182c194bab9ed20bc1a1a15e7b788e
ART.SHLISSELBURG.ORG
Website for the Art School of Shlisselburg. Built with Next.js and powered by PocketBase (migrated from Strapi).
Font: «Shadow»
Repo layout
This is an npm-workspaces monorepo:
apps/hudozka— main Next.js app (art.shlisselburg.org)apps/hudozka-writer— Vite-based content editorapps/migrate-to-pocketbase— one-off migration script (Strapi → PocketBase)packages/ui—@hudozka/ui— shared React primitives (Box, Button, Panel, Title, Overlay)packages/hooks—@hudozka/hooks— generic React hookspackages/utils—@hudozka/utils— pure utilities (array, string, url, math, image, file, date)packages/text—@hudozka/text— markdown + typograf renderingpb/— PocketBase instance (untouched by the monorepo migration)
Common commands (from repo root):
npm run dev— run the web app dev servernpm run build— production build of the web appnpm run lint— lint the whole monoreponpm test— run tests across every workspacenpm run dev -w apps/hudozka-writer— run the writernpm run migrate -w apps/migrate-to-pocketbase— run the migration script
Development
Prerequisites
- Node.js 24 (see
mise.toml)
Getting Started
- Install dependencies
npm install
- Start development server
npm run dev
The development server runs at http://localhost:3000 with Turbo mode enabled.
Content Management
Content is fetched from PocketBase and rendered using flexible content tokens:
text— Markdown with Russian typography (Typograf)image— Responsive images with blur hashfile— Document downloadshtml— Raw HTML embedsyoutube— Video embedsinstagram— Social media embedsgrid— Card grids
Accessibility
The site includes an accessibility panel with configurable:
- Font size (8-48pt)
- Color schemes (5 presets: black-on-white, white-on-black, blue-on-blue, brown-on-yellow, green-on-brown)
- Line height and letter spacing
- Image toggling
- Font family (serif/sans-serif)
Contributors
- Roman Timashev (roman@tmshv.ru)
Description
No description provided
https://art.shlisselburg.org
40 MiB
0 Stars
1 Watchers
0 Forks
Languages
TypeScript
77.4%
CSS
11.8%
JavaScript
9.3%
Dockerfile
0.8%
SCSS
0.6%