Gleam.br Wiki

GBR SSG: CLI & Servidor de Preview Local | Governança

Especificação técnica e manual do componente gbr_ssg.

GBR SSG: CLI & Servidor de Preview Local

A aplicação gbr_ssg é a interface de linha de comando (CLI) executável e o servidor HTTP de visualização local que compõem o ecossistema de Static Site Generator do Gleam-BR.


1. Por quê? (Why)

A adoção de nossa própria ferramenta de compilação estática (prática de *Dogfooding*) responde a objetivos estratégicos de engenharia e governança:

  • *Zero Infraestrutura Monolítica:* Elimina a necessidade de manter servidores complexos de bancos de dados relacionais e pilhas de software pesadas (como BookStack ou Confluence) apenas para gerenciar a base de conhecimento interna (Wikis) da holding.
  • *Deploy de Borda a Custo Zero:* Ao compilar as documentações de governança e arquitetura em arquivos HTML5 estáticos puros, a hospedagem e a distribuição podem ser feitas em CDN na Edge (como Cloudflare Pages ou GitHub Pages) a custo zero, com latência mínima e segurança imbatível (imune a vetores comuns de invasão web).
  • *A Lucidez da Rastreabilidade:* A base de conhecimento reside no próprio repositório Git em formato de texto estruturado Djot. Toda decisão arquitetural (ADR) ou alteração de regras de negócio passa por Code Review e versionamento unificado junto ao código-fonte.

2. Como? (How)

A aplicação CLI é construída no topo do ecossistema Erlang BEAM com Gleam:

Interface de Linha de Comando (CLI)

Gerenciada via glint para parsing de comandos e flags estruturadas:

  1. **Build Estático (gbr_ssg):** Faz a varredura recursiva de arquivos de conteúdo .djot utilizando simplifile, extraindo os metadados em memória em uma primeira passagem para compor o SiteIndex global e depois renderizando os HTMLs finais na pasta de destino. bash gleam run -- --input=./content --output=./dist

  2. **Servidor de Preview Local (serve):** Inicia um servidor web em background combinando o microframework wisp e o adaptador HTTP mist. bash gleam run -- serve --dir=./dist --port=8080

Resiliência do Servidor HTTP (Fallbacks)

Para prover uma experiência de navegação idêntica à de produção na Edge, o servidor Wisp implementa o middleware nativo wisp.serve_static e intercepta caminhos físicos ausentes de forma inteligente:

  • *Mapeamento de Diretórios:* Uma requisição para /blog resolverá automaticamente para /blog/index.html.
  • *URLs Amigáveis:* Uma requisição para /blog/meu-post sem extensão resolverá automaticamente para /blog/meu-post.html.
  • *Status 404:* Qualquer rota que não corresponder a um arquivo físico ou fallback resulta em uma resposta de status 404 Not Found personalizada.

3. Para quê? (What for)

O gbr_ssg é a ferramenta final utilizada para compilar o *Startup Blueprint* da holding FVideen, bem como todas as wikis públicas e privadas do ecossistema de infraestrutura P2P, IA e BPMN da comunidade Gleam-BR.


4. Exemplo de Estrutura de Arquivo (.html)

Todo arquivo de documentação dentro de ./content/ deve possuir metadados TOML válidos no topo (delimitados por +++) e conteúdo em formato Djot:

+++
title = "Meu Artigo Técnico"
description = "Uma introdução lúcida ao desenvolvimento de software."
category = "Engenharia"
order = 1
+++

# Introdução

Este é o corpo do texto na sintaxe Djot.

## Recursos Principais:

- *Resiliência:* Rápido e de tipagem estática forte.
- *Velocidade:* Compilação na BEAM.