Pular para o conteúdo

Modelos e rotas

O blog com painel traz três modelos de site. Todos vêm no projeto; o modelo escolhido vale para o site inteiro e pode ser trocado depois, no painel. O padrão é revista.

O modelo é escolhido ao criar o projeto, com --model:

  • slash create <pasta> --template blog usa revista.
  • slash create <pasta> --template blog --model autor usa autor.
  • slash create <pasta> --template blog --model central usa central.

Um nome fora da lista é recusado com a lista dos modelos disponíveis. A saída de slash create é a mesma para revista, autor e central, porque ela não mostra o modelo:

Projeto criado em <projeto>.
Próximos passos, dentro da pasta:
  bun run build  gera o site em dist/
  bun run start  sobe o painel em /painel/ e o site em /
[saída: 0]

O modelo fica gravado em content/snapshot.json, no campo site.blogModel. O projeto não copia arquivos de modelo: os três ficam no código do site, e o campo diz qual deles o build usa.

Para trocar depois, abra Aparência e menus no painel, no campo Modelo (Revista, Autor ou Central). O modelo novo aparece no site na próxima publicação, que grava o content/snapshot.json antes de gerar o site. Veja Publicação.

Um site de revista: capa com um artigo em destaque e grade de artigos.

  • Início: o nome do site no topo, o artigo em destaque na primeira página e a grade de artigos. Os filtros são Todos e as categorias principais que têm artigos. O botão Carregar mais posts leva a /pagina/2/.
  • Artigo: capa larga quando o artigo tem capa. O autor leva à página dele (/autores/<slug>/). O sumário fica ao lado do texto. O rodapé traz as tags, a caixa do autor, a série, três artigos relacionados, a newsletter e os comentários.
  • Arquivo (categoria, tag, autor ou série): grade de três colunas com paginação numerada.
  • Busca: filtros numa coluna lateral.

O blog de uma pessoa. O início apresenta o autor e depois lista os artigos.

  • Início: na primeira página, o autor que tem mais artigos publicados aparece em destaque, com Escrito por. Se empatarem, aparece o primeiro da equipe. Com foto, o destaque é uma faixa com a foto, a biografia e o botão Ler o artigo mais recente. Sem foto, aparece só o cabeçalho com Escrito por, o nome do autor e a biografia. A lista traz o título Artigos e paginação numerada. As outras páginas da lista mostram só o cabeçalho com o nome do site.
  • Artigo: sem capa larga. O autor aparece no cabeçalho sem link, porque não há página de autor. Quando o texto tem títulos, o sumário fica no topo, aberto. O rodapé traz a caixa do autor, a série, os comentários e a newsletter. Não há artigos relacionados.
  • Arquivo: lista de linhas com paginação numerada. Não existe arquivo de autor: /autores/ não é criado.
  • Busca: filtros numa coluna lateral.

Um centro de ajuda: a busca vem antes de tudo.

  • Início: na primeira página, a busca com o título Do que você precisa? vem primeiro e envia o texto para /busca/. Depois vêm as categorias principais como cartões, com a contagem de artigos e a descrição da categoria. Por último, Artigos recentes em grade de três colunas.
  • Artigo: cabeçalho sem autor. O sumário fica ao lado do texto. O rodapé traz as tags, a série e os artigos relacionados, sem caixa do autor, newsletter nem comentários. Abaixo do texto, a faixa Ainda com dúvida? com o botão Fale no WhatsApp.
  • Arquivo: lista simples, com título, resumo, data e tempo de leitura. Não mostra capa nem categoria, porque a página já diz qual é. Abaixo da lista, a mesma faixa do WhatsApp.
  • Busca: os filtros são fichas (chips) no topo, em vez de coluna lateral.

A faixa do WhatsApp só aparece quando o site tem um número de WhatsApp nas configurações. Ela existe só no central: no início (com o título Não achou o que procurava?), no arquivo e no artigo.

Algumas partes não mudam com o modelo:

  • Paginação: cada lista mostra 9 artigos por página. No início, o artigo em destaque fica fora dessa conta.
  • Busca vazia: sem artigos, a busca mostra Ainda não há artigos.
  • Feed: /feed.xml traz os 20 artigos mais recentes, em Atom.
  • Mapa do site: o build grava /sitemap.xml. Páginas marcadas como noindex ficam fora dele.
  • Robots: /robots.txt aponta para o mapa do site.

O caminho de cada página é o mesmo nos três modelos. O que muda é o que a página mostra.

PáginaCaminhoModelos
Início/os três
Mais artigos do início/pagina/2/os três
Artigo/artigos/<slug>/os três
Categoria, tag ou série/categorias/<slug>/, /tags/<slug>/, /series/<slug>/os três
Página seguinte de um arquivo/categorias/<slug>/pagina/2/os três
Autor/autores/<slug>/revista e central
Busca/busca/os três
Página fixa/<slug>/os três

Um arquivo só existe quando tem artigo: uma categoria sem artigo não gera página.

Uma página fixa não pode usar como primeiro trecho do caminho 404, api, artigos, autores, busca, categorias, pagina, painel, series ou tags: esses nomes já são do site ou do painel.

Próximo passo: Módulos e execução mostra --modules, bun run dev e bun run start. Para entrar no painel depois de subir o projeto, veja Acesso.