Rychlý start
Minimální cesta: založit web v adminu → nastavit proměnné → přidat API klienta → vyrenderovat obsah.
1. Získej přístupový klíč
Sekce “1. Získej přístupový klíč”Založ web v adminu (nebo POST /admin/sites). Backend jednorázově vrátí
apiKey (formát rk_…) — ulož si ho. To je tvůj X-Site-Key.
2. Nastav proměnné prostředí
Sekce “2. Nastav proměnné prostředí”CONTENTA_API_URL = https://api.contenta.cz/api/v1 # build-timeSITE_KEY = rk_… # apiKey (mimo bundle)SITE_SLUG = muj-web# Jen pro runtime moduly (komentáře/formuláře/hledání) — viditelné v prohlížeči:PUBLIC_API_BASE_URL = https://api.contenta.cz/api/v1PUBLIC_SITE_KEY = rk_…PUBLIC_SITE_SLUG = muj-web3. Přidej API klienta
Sekce “3. Přidej API klienta”const API = import.meta.env.CONTENTA_API_URL ?? 'https://api.contenta.cz/api/v1';const KEY = import.meta.env.SITE_KEY ?? '';const SLUG = import.meta.env.SITE_SLUG ?? 'muj-web';const BASE = `${API}/public/sites/${SLUG}`;
export async function get<T>(path: string, fallback: T): Promise<T> { if (!KEY) return fallback; // bez klíče (CI) → prázdno try { const res = await fetch(`${BASE}${path}`, { headers: { 'X-Site-Key': KEY } }); if (!res.ok) return fallback; // backend down → build nespadne const json = await res.json(); // { data, meta? } return (json.data ?? fallback) as T; } catch { return fallback; }}4. Vyrenderuj obsah
Sekce “4. Vyrenderuj obsah”---import { get } from '../../lib/contenta';export async function getStaticPaths() { const posts = await get('/posts', []); return posts.map((p) => ({ params: { slug: p.slug }, props: { p } }));}const post = await get(`/posts/${Astro.params.slug}`, null);---<h1>{post.title}</h1><div set:html={post.bodyHtml} />5. Auto-rebuild
Sekce “5. Auto-rebuild”Nastav build hook, aby se web po publikaci obsahu sám přebudoval.
Hotovo — dál pokračuj implementací modulů.