Gleam.br Wiki

ADR-0020: Hub Central, Portais Dedicados e Resolução de Ativos Absolutos | Wiki

Documentação de engenharia e especificações técnicas da Gleam-BR.

ADR-0020: Hub Central, Portais Dedicados e Resolução de Ativos Absolutos

Este documento especifica a decisão de arquitetura para a reestruturação da topologia do gerador estático gbr_ssg, estabelecendo portais estáticos dedicados (/blog/, /wiki/), um Hub Central na raiz (/) e a padronização de caminhos de ativos globais.

1. Contexto e Motivação

À medida que o gerador gbr_ssg evoluiu para suportar múltiplos layouts (site, wiki, blog), identificamos duas necessidades críticas: 1. *Ativos Desformatados por Profundidade de Caminho:* Documentos em subpastas (como /blog/primeiro-post.html ou /private/blueprint/index.html) perdiam o estilo Tailwind caso as tags de cabeçalho utilizassem caminhos relativos de CSS. 2. *Organização de Portais:* A navegação do ecossistema necessita de portais dedicados com seus próprios índices agregadores: - /dist/index.html $\rightarrow$ Hub Central com atalhos para os 3 portais (Consultoria, Wiki, Blog). - /dist/blog/index.html $\rightarrow$ Portal do Blog com listagem cronológica dos artigos. - /dist/wiki/index.html $\rightarrow$ Portal da Wiki/Documentação com navegação por Sidebar.


2. Decisão Arquitetural

  1. *Padronização de Ativos Globais Absolutos (Absolute Assets):* Todos os arquivos de folha de estilo, scripts e mídias globais devem ser referenciados utilizando caminhos absolutos a partir da raiz da aplicação (ex: /assets/css/main.css ou CDN absoluto). Isso garante que o navegador resolva os estilos com perfeição independentemente da profundidade do arquivo HTML no sistema de arquivos.

  2. *Topologia de Portais Dedicados:* - **Hub Raiz (/):** Atua como a página de destino principal com atalhos visuais para Consultoria B2B, Base de Conhecimento e Blog. - **Portal do Blog (/blog/):** O arquivo blog/index.djot (ou componente compilador de índice) renderiza a grade de artigos ordenados por data. - **Portal da Wiki (/wiki/):** O arquivo docs/index.djot ou wiki/index.djot atua como a porta de entrada da Base de Conhecimento.


3. Requisitos EARS

*Requisitos Ubíquos (Ubiquitous Requirements)* - *UBQ-01 (Injeção de Ativos Absolutos):* Todas as funções de layout (layout_site, layout_wiki, layout_blog) DEVEM injetar referências de folhas de estilo e scripts utilizando caminhos absolutos a partir da raiz (ex: /assets/...), prevenindo quebras de estilo em subdiretórios. - *UBQ-02 (Índices Agregadores de Portal):* O motor de build DEVE garantir a compilação dos portais dedicados /blog/index.html e /wiki/index.html com listagens ordenadas correspondentes a cada contexto.