Instalacja
Uruchom Cmssy w mniej niż 5 minut.
Wymagania wstępne
Strona na Cmssy to zwykły projekt Next.js (App Router), który renderuje Twoją opublikowaną treść przy użyciu SDK Cmssy. Potrzebujesz:
- Node.js 20+ - polecamy nvm
- pnpm - nasz rekomendowany menedżer pakietów (npm i yarn też działają)
- Aplikację Next.js App Router - nową albo istniejącą
- Workspace Cmssy - dla sluga workspace'u i ustawień draftu/edytora
Zainstaluj SDK
Dodaj dwie paczki SDK do projektu Next.js:
Utwórz aplikację Next.js
Zaczynasz od zera? Wygeneruj projekt App Router, a potem dodaj SDK. (Albo pomiń to i użyj istniejącej aplikacji.)
Skonfiguruj
Utwórz cmssy.config.ts, który woła defineCmssyConfig, a potem dodaj poniższe klucze do .env. Wartości skopiuj ze strony Settings → Headless swojego workspace'u w panelu Cmssy. W cmssy cloud apiUrl i editorOrigin mają automatyczne wartości domyślne:
| Zmienna | Co to jest | Wymagana |
|---|---|---|
CMSSY_ORG_SLUG | Slug Twojej organizacji | Tak |
CMSSY_WORKSPACE_SLUG | Slug workspace'u (rozwiązuje id workspace'u) | Tak |
CMSSY_DRAFT_SECRET | Sekret odblokowujący tryb draft / podglądu | Tak |
CMSSY_REVALIDATE_SECRET | Sekret webhooka rewalidacji ISR przy publikacji | Tak |
CMSSY_API_URL | Endpoint GraphQL delivery. Domyślnie https://api.cmssy.io/graphql | Tylko self-host / staging |
CMSSY_EDITOR_ORIGIN | Origin panelu, który osadza Twoją stronę. Domyślnie https://www.cmssy.io | Tylko self-host |
Trzymaj te wartości w tajemnicy - nigdy nie commituj .env do repozytorium. Na produkcji ustaw te same zmienne u swojego hostingu (np. w ustawieniach projektu na Vercel).
Struktura projektu
Każda aplikacja cmssy ma te same cztery elementy, niezależnie od frameworka:
your-app/
├── page entry # renderuje bloki cmssy w Twoich komponentach (trasa catch-all)
├── blocks # Twoje komponenty bloków + tablica rejestru blocks
├── config # slug workspace'u, sekret draftu i API delivery
└── edit route # montuje edytor wizualny dla podglądu na żywoKonkretne pliki różnią się per framework - Next.js, Astro i Remix układają je po swojemu. Zobacz Renderowanie po setup dla konkretnego frameworka.
Zacznij pracę
Uruchom serwer deweloperski Next.js:
Otwórz http://localhost:3000 - Twoja strona renderuje opublikowaną treść z Cmssy.
Podgląd w edytorze
Žeby edytować treść wizualnie z podglądem na żywo, edytor Cmssy osadza Twoją wdrożoną (albo lokalną) stronę w iframe. Żeby Twój projekt pojawił się w edytorze, potrzebujesz:
- Preview URL workspace'u (Settings → Headless) ustawionego na Twoją stronę - np.
https://your-site.comalbohttp://localhost:3000podczas pracy lokalnej. - Trasy draftu
app/api/draft/route.ts=createDraftRoute(cmssy), żeby edytor mógł wejść w tryb podglądu / draftu. proxy.tsnakładającego CSP przezapplyCmssyCspw trybie edycji.
W cmssy cloud origin edytora jest skonfigurowany za Ciebie. Jeśli hostujesz panel sam, ustaw CMSSY_EDITOR_ORIGIN na origin swojego panelu - SDK używa go do mostu postMessage i do CSP frame-ancestors, które pozwala panelowi osadzić Twoją stronę. Potem otwórz edytor strony w panelu - Twoja strona ładuje się na kanwie, a zmiany pojawiają się natychmiast.
Wdróż
Wdrażaj jak każdą aplikację Next.js (np. na Vercel). Ustaw te same zmienne środowiskowe u hostingu, a potem wskaż Preview URL workspace'u na wdrożoną stronę, żeby edytor mógł ją osadzić.
Aktualizacja SDK
Podbijaj obie paczki razem, żeby złapać poprawki SDK, a potem wdróż ponownie:
Rozwiązywanie problemów
Częste problemy
- "Preview didn't connect" - sprawdź, czy Preview URL workspace'u wskazuje na Twoją stronę. Jeśli hostujesz panel sam,
CMSSY_EDITOR_ORIGINmusi być originem Twojego panelu. - Pusta strona - sprawdź, czy
CMSSY_WORKSPACE_SLUGzgadza się z Twoim workspace'em (a przy self-hoście - czyCMSSY_API_URLto pełny endpoint GraphQL). - "Port 3000 already in use" - zatrzymaj inne serwery deweloperskie albo odpal
next dev -p 3001. - Błąd wersji Node.js - przejdź na Node.js 20+ przez
nvm install 20.
Następne kroki
Skoro masz już wszystko gotowe, zajrzyj do tych przewodników:
- Szybki start - zbuduj swój pierwszy blok od początku do końca
- Tworzenie bloków - anatomia bloku, schematy i typy pól
- Page Builder - edycja treści w edytorze wizualnym