Feito com Chinaski

Conceitos Centrais

A arquitetura e o modelo de conteúdo por baixo do Chinaski: o modelo mental que vale quarenta minutos antes de construir qualquer coisa substancial. Tudo nesta seção reflete como o sistema realmente se comporta; a seção Authoring cobre os cliques do dia a dia.

Nesta seção

  • Arquitetura: o design de dois programas: um CMS em Perl que domina a camada de administração, um processo builder separado produzindo o site público e um servidor web servindo arquivos puros.
  • O Pipeline de Build: o que acontece em cada build: staging, verificações, assinatura, promoção, e por que um build ou chega por completo ou não chega de forma alguma.
  • Modelo de Conteúdo: páginas, posts, blocos, snippets, categorias, mídia, documentos: o que cada tipo é e as propriedades que compartilham (idioma, trash, revisões, auditorias).
  • Estrutura de Saída: como o site construído fica em disco: árvores por idioma, arquivos index, os arquivos de redirecionamento, sitemaps e feeds.
  • O Banco de Dados: um arquivo SQLite como única fonte de verdade; por que um banco de dados embutido é a escolha certa aqui e o que isso significa operacionalmente.
  • Instâncias: rodar vários sites independentes do Chinaski em um servidor, e as convenções de nomes/caminhos que tornam isso seguro.
  • Jobs em Segundo Plano: a fila de trabalho assíncrona por trás das tarefas administrativas de longa duração.
  • Lixeira: o modelo de exclusão reversível: o que vai para a lixeira, quanto tempo permanece lá e como restaurá-lo.
  • Busca do Site: como o índice de busca embutido é gerado e consultado.

As ideias que vale internalizar

  • O site é saída de build. O site voltado ao navegador são arquivos estáticos; qualquer edição é invisível até que um build rode, e um build ou se completa (e promove atomicamente) ou preserva o que já estava no ar.
  • Um banco de dados, árvores por idioma. Todo o estado vive em chinaski.db; a saída é uma função pura desse banco de dados mais seus temas e configurações, o que torna os backups tão simples e os rebuilds tão seguros.
  • O servidor web e o CMS só se encontram deliberadamente. Requisições estáticas nunca tocam na aplicação; apenas formulários, downloads de documentos e o admin a atingem.
  • Isolamento de instâncias dá a uma máquina muitos sites não relacionados, com bancos de dados, usuários e agendamentos separados.

Também em Conceitos Centrais

Entenda as quatro peças do Chinaski, o app de admin, o builder, a saída estática e o manager, e como elas se relacionam entre si.

Como um build transforma o banco no site estático: como começa, por que só um roda por vez e a troca de arquivos apenas em caso de sucesso.

Conheça os tipos de conteúdo de um site Chinaski (páginas, posts, blocks, snippets, mídia, navegação) e a base que todos compartilham.

Todo build produz uma árvore de diretórios simples de arquivos. Esta página mapeia o que vive onde, para que você saiba exatamente o que entra no ar.

Como o Chinaski guarda tudo em um arquivo SQLite por instância: CHINASKI_DB, modo WAL, timeout de bloqueio e migrações executadas na inicialização.

O que é uma instância do Chinaski: processo, banco de dados, arquivos, backups e segredo próprios, e o que é isolado entre instâncias e o que não é.

Processe lotes de conteúdo muito grandes pela fila de jobs: envie POST /api/jobs, escolha o tipo de job e acompanhe até os contadores se fixarem.

Entenda a lixeira: os dez tipos de conteúdo cobertos, como restaurar itens e quando a limpeza de 30 dias os remove de vez.

Entenda a página /search/ embutida: um índice JSON estático por idioma, consultado no navegador, o que cobre e como se mantém atualizado.

Leia este site em