Starter-ul pentru Astro rulează ca server (adaptorul Node), ca să meargă ciornele din editorul vizual și webhook-ul de reîmprospătare. Listează o colecție, arată orice intrare după schema ta și numără vizitele cu t.js. Îl descarci din Conectează-ți site-ul → Astro → Starter, cu cheile deja în .env.
Pornirea în trei pași
- Cheile. Copiezi
.env.exampleîn.env(completat în starter-ul descărcat). - Instalarea.
npm install, apoinpm run types(scriesrc/manifolio.d.ts). - Pornirea.
npm run devși deschizi http://localhost:4321. În producție:npm run build && npm start.
Cache-ul și webhook-ul
Astro nu are un cache de date al lui. src/lib/manifolio.ts ține răspunsurile publicate în memorie cinci minute; src/pages/api/revalidate.ts verifică semnătura webhook-ului și golește cache-ul. Cu mai multe servere, golești acolo CDN-ul.
const client = preview
? createClient({ project, preview }) // ciorne, fără cache
: createClient({ project, key, fetch: cachedFetch }); // publicat, cu cacheMerge și un site Astro complet static: citești în getStaticPaths, scoți adaptorul și îndrepți webhook-ul spre build hook-ul gazdei. Ciornele cer atunci o rută de server separată.
Editorul vizual
src/middleware.ts permite încadrarea de către MANIFOLIO_ADMIN_ORIGIN și trimite Cache-Control: private, no-store la previzualizare. Adresa de previzualizare: https://site-ul-tau/{type}/{slug}.
Până ajunge @manifolio/sdk pe npm, starter-ul descărcat îl are în vendor/manifolio-sdk.