Feito com Chinaski

Estrutura de Saída

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.

Raízes por idioma

No modo de URL padrão de path, cada Idioma Ativo recebe sua própria subárvore:

output/
  en/
  es/
  pt/

Sem segmentos de idioma (modo de idioma único), o conteúdo fica diretamente em output/. Com o modo de subdomínio, os mesmos diretórios por idioma carregam o conteúdo, e seu servidor web roteia cada subdomínio de idioma para seu diretório.

A promoção substitui a árvore ao vivo por meio de um symlink ou rename de diretório. Os visitantes só veem uma árvore totalmente construída.

Arquivos de páginas e posts

  • Páginas vivem em seu próprio caminho aninhado: output/en/about/philosophy/index.html para uma página filha sob sua página pai.
  • Posts vivem sob o prefixo do blog dentro da árvore de idioma: output/en/blog/my-post/index.html (o prefixo tem como padrão blog e pode ser sobrescrito por idioma).
  • Arquivos de categoria ficam dentro do prefixo do blog também: /blog/category/<slug>/.

Categorias e páginas se aninham a partir da estrutura de conteúdo do admin; as regras de base da URL vêm das configurações de URL de cada idioma.

Arquivos compartilhados por idioma

Cada diretório de idioma também carrega seus arquivos de detecção e índice gerados:

  • sitemap.xml
  • robots.txt
  • feed.xml : apenas quando aquele idioma tem pelo menos um post publicado
  • search-index.json : o índice que alimenta a busca do site
  • 404.html : a página not-found construída
  • .well-known/security.txt : quando um contato de segurança está configurado
  • Extras de PWA quando habilitados: manifest.json, sw.js, offline.html

No nível da raiz: uma página de redirecionamento (ou página real) ocupa output/{lang}/index.html dependendo de onde a raiz do domínio deve apontar.

Assets são sincronizados por idioma

Diretórios compartilhados grandes são copiados por idioma em cada build:

  • media/ : os uploads da tela de mídia do admin, espelhados em cada árvore de idioma; apenas os arquivos alterados são reescritos, de modo que assets sincronizados atravessem builds inalterados.
  • fonts/ : os arquivos de tipografia do site.
  • Arquivos de favicon na raiz do idioma (favicon.ico, favicon-96x96.png, apple-touch-icon.png) quando um está configurado.

Um arquivo de logo precisa existir sob a pasta de assets do site; os builds avisam "not found in assets/, skipping" se a configuração nomear um que não está lá. O log de build marca cada sincronização com uma linha "media synced" por diretório de idioma.

Redirecionamentos

Os redirecionamentos são renderizados de duas formas na árvore:

  • Páginas de redirecionamento HTML nos caminhos antigos (com links canônicos), por idioma;
  • trechos de configuração de servidor gerados na raiz da saída (_redirects.caddy), e, para configurações estilo netlify, também um arquivo _redirects; redirecionamentos de padrão existem apenas como páginas HTML.

Fora da árvore de saída

O build também escreve um manifest assinado fora da saída: um diretório private/ ao lado dela guarda build-manifest.json e sua assinatura. Esta é a alegação de integridade do que entrou no ar. E, numa promoção malfeita, o manifest anterior é restaurado, não sobrescrito.

Leia este site em