ACACHY

Criar um Blog

Exemplo completo de modelagem e consumo de blog usando o Acachy CMS.

Este exemplo cria um blog básico para um site institucional ou portfólio.

Content Type: Posts

Crie Posts com estes campos:

CampoTipoObrigatórioUso no site
titletextSimTítulo da página e do card.
slugslugSimURL do post.
excerpttextareaNãoResumo em listagens.
coverimageNãoImagem de capa.
categoryselectNãoCategoria do conteúdo.
publishedDatedateNãoData exibida no site.
bodymarkdownSimConteúdo principal.

Exemplo de configuração:

{
  "name": "Posts",
  "fields": [
    { "name": "title", "type": "text", "required": true },
    { "name": "slug", "type": "slug", "required": true },
    { "name": "excerpt", "type": "textarea" },
    { "name": "cover", "type": "image" },
    { "name": "category", "type": "select", "options": ["News", "Guides", "Updates"] },
    { "name": "publishedDate", "type": "date" },
    { "name": "body", "type": "markdown", "required": true }
  ]
}

Listagem no Site

const posts = await client.findMany('posts', {
  limit: 12,
  sort: 'publishedAt',
  order: 'desc',
  fields: 'title,slug,excerpt,cover,publishedDate',
})

Página de Post

const post = await client.findBySlug('posts', params.slug)

Busca

Use o parâmetro search para uma busca simples:

const results = await client.findMany('posts', {
  search: 'cms',
  fields: 'title,slug,excerpt',
})

Revalidação com Webhook

Crie um webhook para entry.published apontando para uma rota do seu site, por exemplo:

https://site.example.com/api/revalidate

Use um segredo próprio nessa rota do site. Não reutilize segredos do CMS.

On this page