Přeskočit na obsah

Hledání, média, přesměrování, návštěvnost

Vyhledávání (runtime)

Sekce “Vyhledávání (runtime)”
  • Endpoint: GET /search-index → agregovaný index všech publikovaných typů (články, stránky, pojmy, autoři…).
  • Jak: stáhni index (při buildu jako statický JSON, nebo fetchni za běhu) a filtruj na klientovi (vlastní stránka /hledat/). Žádná server-side fulltextová služba není potřeba.
// build-time: ulož index do public/search-index.json
const idx = await get('/search-index', []); // [{ title, perex, href, kind, ... }]
// runtime na /hledat/: fetch('/search-index.json') → filtruj dle dotazu → vypiš odkazy

Galerie / Média (assets · FREE)

Sekce “Galerie / Média (assets · FREE)”
  • Není samostatný „GET media“ pro výpis — obrázky přijdou jako URL přímo v obsahu (coverSrc, gallery[].src, hero.image, obrázky v bodyHtml).
  • Servírování: GET /public/assets/:siteSlug/:filename (MinIO + transformace Sharp). V Astru jen <img src={…} alt={…}>.
  • Galerie na homepage: ze site-config.gallery ([{src,alt}]) → mřížka, volitelně lightbox (přístupně: role="dialog", focus-trap, Esc).
  • Admin: modul Média (upload, optimalizace, deduplikace dle obsahu).

Přesměrování (redirects · MAX)

Sekce “Přesměrování (redirects · MAX)”
  • Endpoint: GET /redirects.
  • Jak: při buildu vygeneruj edge konfiguraci — na Cloudflare Pages zapiš do public/_redirects.
const rules = await get('/redirects', []); // [{ from, to, status }]
const txt = rules.map((r) => `${r.from} ${r.to} ${r.status ?? 301}`).join("\n");
// zapiš do public/_redirects (formát Cloudflare Pages)
  • Admin: modul Přesměrování (hladká migrace ze starého webu). Po změně → rebuild.

Návštěvnost / Umami (analytics · FREE)

Sekce “Návštěvnost / Umami (analytics · FREE)”
  • websiteId přijde v site-config.settings.analytics.umami { websiteId, scriptUrl }. Cookieless → bez cookie lišty.
{u?.websiteId && <script is:inline defer src={u.scriptUrl} data-website-id={u.websiteId}></script>}
  • Admin: statistiky v modulu Návštěvnost (klient vidí jen svůj web).