Pular para o conteúdo
Navegar na documentação

Rendering e construção do head

Core\Kernel\Application monta manualmente container, filesystem, dispatcher, BladeCompiler, engines e Factory. O FileViewFinder consulta Content/Views, views de conteúdo geradas e Content/Pages.

O compilador registra Content/Views/Components como caminho de componentes anônimos. Um stub mínimo de Illuminate\Contracts\Foundation\Application fornece apenas o namespace necessário à tentativa de resolução de componentes de classe.

Application compartilha $basePath, $cssAsset, $assets, $fontStylesheet, $fontPreloads, $siteUrl e $navItems. $assets é um AssetManifest: no build contém os caminhos hasheados de CSS e JavaScript; em dev aponta para os arquivos sem hash em public/assets/. $fontStylesheet é o caminho local hasheado do stylesheet de fontes, ou null; $fontPreloads contém os caminhos públicos deduplicados dos WOFF2 publicados. O catálogo de rotas é reutilizado e a navegação filtra showInNav.

Renderer combina os dados da rota com $head, $meta, $extra, $currentPath e $lastModified. $lastModified é uma variável Blade direta (não $meta->lastModified), com tipo DateTimeImmutable|null, resolvida pelo mesmo fluxo Git/política usado pelo sitemap. Ela é fornecida em todos os contextos renderizados, incluindo páginas, apresentações, slides, páginas de erro e covers; o renderer não cria markup de data automaticamente. renderRoute() passa o HTML por HtmlNavigationOptimizer, que reescreve URLs públicas e materializa somente prefetches opt-in; renderCover() resolve meta.cover, cai em covers.cover por default e não executa esse pós-processamento.

HeadFromContentMeta é o ponto de convergência entre metadata e Head. Ele começa com defaults sociais da rota, aplica overrides autorais e registra canonical/hreflang nas páginas normais e theme color em todas. JSON-LD Article depende de metadata article; WebSite depende da rota /. SiteUrl concentra domínio, prefixo e barra final.

Head mantém grupos ordenados que produzem elementos tipados. Documento, SEO, icons, social, structured data, localização, performance e chrome permanecem separados e não leem Content diretamente.