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.htmlpara 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ãobloge 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.xmlrobots.txtfeed.xml: apenas quando aquele idioma tem pelo menos um post publicadosearch-index.json: o índice que alimenta a busca do site404.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.