Blog, rubriky, autoři
Články / Blog (blog · PRO)
Sekce “Články / Blog (blog · PRO)”- Endpointy:
GET /posts(karty),GET /posts/:slug(detail). - Karta:
{ slug, title, perex?, coverSrc?, coverAlt?, date?, category:{slug,name}|null, author:{slug,name,role,photoSrc?}|null } - Detail navíc:
bodyHtml, coverInDetail, author.tagline, seo.
---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>{post.author && <p>Autor: <a href={`/autor/${post.author.slug}/`}>{post.author.name}</a></p>}{post.coverInDetail && post.coverSrc && <img src={post.coverSrc} alt={post.coverAlt} />}<div set:html={post.bodyHtml} />- Admin: modul Články — bohatý editor, autor, plánované publikování. Publikace i naplánované zveřejnění → build hook.
Rubriky (categories · PRO)
Sekce “Rubriky (categories · PRO)”- Endpoint:
GET /categories→{ slug, name, href, tagline?, description?, postCount, accent }[]. - Sémantika URL (důležité): post bez rubriky →
/blog/{slug}/; post s rubrikou → top-level/{rubrika}/{slug}/a zároveň se objeví ve/blog/. Routy musí umět obojí. - Precedence rout: stránka > blog > rubrika > post.
- Routy:
src/pages/[rubrika]/index.astro(výpis) +[rubrika]/[slug].astro(post v rubrice).
Autoři / Tým (authors · PRO)
Sekce “Autoři / Tým (authors · PRO)”- Endpoint:
GET /authors·GET /authors/:slug(detail vrací iposts[]autora). - Přijde:
{ slug, name, role, photoUrl?, initials?, tagline?, bioHtml, credentials[] }(+posts[]). - Routy:
/autor/index,/autor/[slug]— medailonek + mřížka článků autora. - Napojení: byline u článku odkazuje na
/autor/{slug}/.