Landing Pages — Sectors
Estrutura e deploy de landing pages de **Sectors** (sub-divisões de Área que agrupam módulos relacionados). Distinto de landing de Área (mais alto) e landing de produto (mais granular).
Padrão de Landing Pages — Sectors da Stack Koder
Visão Geral
Cada uma das 9 Áreas do ecossistema Koder (Foundation, Data Platform, Cloud Infrastructure, Observability, Intelligence, Developer Platform, Workspace, Industry Solutions, Brand & Presence) é subdividida em *ectors* Um Sector agrupa 1–N *ódulos*do monorepo que servem juntos um mesmo propósito.
Exemplos de Sectors:
| Área | Sector | Módulos agrupados |
|---|---|---|
| Foundation | Koder Linux | linux/distro, linux/shell, linux/x, linux/keyboard, linux/kolide |
| Foundation | Koder Kompass | platform/kompass + sub-módulos platform/crm, platform/desk |
| Data Platform | Queues | data/mq, platform/q |
| Observability | Logging | observe/log, platform/log |
| Intelligence | AI Runtime | ai/runtime, ai/gateway, ai/guard |
Landings de Sector são uma *amada intermediária*entre as landings de Área (areas.kmd) e as landings de Produto (products.kmd). Elas existem pra contar a história do agrupamento — porque esses módulos estão juntos, o que eles compartilham, e como escolher entre eles.
Quando Criar uma Landing de Sector (e Quando NÃO)
| Cenário | Landing de Sector? | Alternativa |
|---|---|---|
| Sector com * 2 módulos de peso equivalente*(ex.: Koder Linux com distro + shell + keyboard) | *im*— landing própria | — |
| Sector com * 2 módulos, mas um é claramente o flagship*e os outros são satélites | Opcional | Landing do flagship serve como "de facto" do Sector, com seção "Related" listando os satélites |
| Sector com * único módulo* | *ão* | O subdomínio do Sector redireciona HTTP 301 pra landing do módulo único |
| Sector ainda em planejamento (nenhum módulo implementado) | *ão* | Marcar como "upcoming" no card da Área, sem subdomínio próprio |
*egra prática:*landing de Sector se justifica quando um visitante da Área precisa *scolher entre os módulos do Sector* Se não há escolha a fazer, a landing do módulo basta.
Hierarquia de Navegação
Toda landing de Sector participa de uma cadeia:
Koder (www.koder.dev)
└─> Área (foundation.koder.dev)
└─> Sector (linux.koder.dev) ← esta landing
└─> Módulo 1 (distro.koder.dev)
└─> Módulo 2 (shell.koder.dev)
└─> Módulo N ...A landing precisa deixar essa posição clara:
- *readcrumb no hero*ou navbar:
Koder › Foundation › Koder Linux - *ink de subida*pra Área-pai no header ou footer
- *iblings sectors*da mesma Área listados como nav lateral ou seção final
Estrutura do Arquivo
{sector}/site/
├── index.html ← Landing de Sector (HTML monolítico inline)
├── icon.svg ← Ícone do Sector (forma = conceito do agrupamento)
├── og-image.svg ← Fonte da imagem OG (1200×630)
└── og-image.png ← Imagem OG rasterizadaPara Sectors que *ão têm um módulo próprio*no monorepo e existem puramente como taxonomia (ex.: uma agrupação virtual), colocar em sites/{sector-slug}/ seguindo a convenção do que é feito para as landings de Área.
Para Sectors que *oincidem com um módulo flagship*(ex.: Koder Kompass = platform/kompass), a landing do módulo também serve como landing do Sector — nesse caso *ão se cria landing separada* o {sector}.koder.dev aponta pro mesmo diretório.
Head — Meta Tags e Setup
Meta Tags Obrigatórias
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{Sector} — {Tagline curta do agrupamento}</title>
<meta name="description" content="{1-2 frases sobre o que o Sector agrupa e por quê}">
<meta name="keywords" content="{slug dos módulos}, {área pai}, koder">*omprimento máximo do <title>:*60 caracteres incluindo o separador — (3 chars). Browsers truncam a aba por volta de 55–60 chars; Google Search por volta de 55 chars. Exemplo dentro do limite: KDB — Multi-model database and storage (38 chars).
Open Graph + Twitter Card
Mesmas regras do products.kmd seção "Head". URL absoluta HTTPS para og:image (1200×630, PNG obrigatório).
Anti-Flash Script
Mesmo snippet do products.kmd e areas.kmd.
Favicon
<link rel="icon" type="image/svg+xml" href="icon.svg"> com o ícone do próprio Sector.
CSS — Design Tokens
*egra de reuso:*landings de Sector podem reaproveitar /ecosystem.css (o stylesheet compartilhado das landings de Área) pra manter coerência visual com a Área-pai. Acentos diferem:
--ec(cor accent do Sector) herda a cor da Área-pai por padrão, mas pode ser override pra uma variante mais clara/saturada que identifique o Sector internamente- Ícone SVG do Sector usa a mesma paleta, mas com forma distinta (cada Sector tem sua silhueta)
Se não usar /ecosystem.css, replicar os tokens padrão de produtos (--bg, --bg2, --bg3, --text, --text2, --text3, --accent, --accent2, --accent-light, --border, --card, --card-shadow, --gradient, --font, --mono) como definidos em products.kmd.
Seções Obrigatórias (em ordem)
1. Navbar
- Altura 64px, fixa no topo com
backdrop-filter: blur(12px) - Esquerda:
.nav-brandcom ícone SVG 32×32 + nome do Sector + breadcrumbKoder › {Área} - Direita:
.nav-linksâncoras (#modules,#related,#about), theme toggle, botão "← Back to {Área}" pra subir na hierarquia - *em*Login button (landings de Sector são navegacionais, não autentica ninguém)
2. Hero (coluna única, centralizado)
Diferente do products.kmd, o hero de Sector é *oluna única* não duas. A razão: não há um produto único a ilustrar, então não faz sentido um mockup/code block direita. O hero serve pra contextualizar o agrupamento.
Conteúdo:
- Eyebrow:
{Área} · Sector N of M(ex.: "Foundation · Sector 2 of 7") - H1: ícone SVG inline + nome do Sector com o mesmo span-gradient do
products.kmd - Tagline curta (1 frase, font-size ~1.5rem)
- Lead paragraph (2
3 frases, `-text2`) explicando o que o Sector agrupa e por que existe - CTA: botão primário "See all modules →" com anchor pra
#modules - Background:
radial-gradientsutil atrás com a cor accent do Sector
3. Modules Grid (#modules)
*eção mais importante*— é a razão pela qual o Sector existe.
.section-headercom h2 ("Modules" ou "{Sector} Modules") + subtitle- Grid:
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr))comgap: 20px - Cada card de módulo mostra:
- Ícone do módulo (SVG 48×48, canto superior esquerdo)
- Nome do módulo (h3, font-weight 700)
- 1-2 frases descrevendo o módulo
- Lista de tags/features-chave (até 3 tags pequenas tipo
.tagdoproducts.kmd— reutilizar padrão) - Link "Visit →" apontando pra landing do módulo (
{slug}.koder.dev) ou fallback praplatform.koder.dev/{slug}se o módulo ainda não tem landing dedicada
- Hover: border muda pra
var(--accent),translateY(-2px), sombra
4. How These Work Together (#about — opcional mas recomendada)
Se os módulos do Sector se integram entre si de forma relevante, incluir uma seção explicando como. Formato livre: diagrama ASCII, bloco de código, ou lista alternada (igual .code-section do products.kmd).
5. Related Sectors (#related)
Grid horizontal ou vertical com *s outras Sectors da mesma Área*(excluindo a atual). Permite navegação lateral sem voltar à Área.
- Cards menores que o Modules Grid
- Cada card: ícone + nome do Sector + link pra
{sector}.koder.dev - Card da Sector atual NÃO aparece (só as siblings)
6. Back to Area CTA
Ao final da página, banner destacado (fundo var(--bg2) ou gradient suave) convidando o visitante a voltar pra Área-pai:
- H2: "Part of Koder {Área}"
- P: 1 frase descrevendo a Área
- Botão: "Explore {Área} →" apontando pra
{área}.koder.dev
7. Footer
Igual ao products.kmd seção "Footer":
border-top: 1px solid var(--border),padding: 40px 24px- Flexbox: copyright esquerda + links direita
- Links do footer de Sector:
{Área}(sobe pra Área)Koder(sobe pra raizwww.koder.dev)- Um link por módulo do Sector (opcional, se não poluir)
JavaScript — Comportamentos
Mínimo necessário: theme toggle + navbar scroll effect. Nada de filtros, acordeões ou busca — landings de Sector são enxutas por design.
OG Image
Mesmas regras do products.kmd. Conteúdo da thumb:
- Ícone do Sector (canto esquerdo ou centralizado, ~30% da altura)
- Nome do Sector em texto grande com gradient
- Subtítulo:
{Área} Sector · N modules - URL:
{sector}.koder.devdiscreta no canto
Responsividade
*egra:*toda landing de Sector deve funcionar sem problemas em dispositivos móveis. Isso é obrigatório — não opcional.
Breakpoints
max-width: 768px: Navbar hamburger (breadcrumb completo pode ser ocultado, manter só ícone + nome do Sector), modules grid em 1-2 colunas, related sectors grid em 1 colunamax-width: 480px: Modules grid em 1 coluna, footer empilhado, padding lateral ≥ 16px
Regras obrigatórias
- Nenhum elemento deve causar *verflow horizontal*
- Breadcrumb longo (
Koder › Foundation › Koder Linux) trunca ou some em mobile — nunca quebra o layout - Modules grid (
auto-fit, minmax(300px, 1fr)) — verificar que ominmaxmínimo de 300px não força overflow em telas < 320px; se necessário, reduzir paraminmax(260px, 1fr) - Botões com área de toque mínima de *4×44px*
- Nenhum texto com fonte < 14px em mobile
Verificação obrigatória antes de deploy
- *hrome DevTools → modo responsivo*→ testar em 375px, 390px e 768px
- *em overflow horizontal*
document.documentElement.scrollWidth === window.innerWidth - *avbar hamburger funcional*em 375px
- *odules grid*em 1 coluna abaixo de 480px
- *readcrumb*não vaza o layout em telas pequenas
Deploy
- Servir em
https://{sector-slug}.koder.dev - DNS A record no ClouDNS apontando pra
181.191.210.127 - Config em
/etc/koder-jet/sites.tomlna LXCs.k.lin - HTTPS automático via koder-jet (ACME/Let's Encrypt)
- Quando o Sector *ão tiver*landing dedicada, criar redirect 301 do subdomínio do Sector pra landing do módulo único (via entrada
redirectnosites.toml)
Referência Cruzada
products.kmd— padrão das landings de módulo (os filhos do Sector)areas.kmd— padrão das landings de Área (a mãe do Sector)docs/stack/areas.md— fonte canônica das 9 Áreas e seus Sectors atuaissites/foundation/index.html— exemplo de como uma Área lista seus Sectors como cards clicáveis
Estado Atual (20260411)
Nenhum Sector tem landing dedicada hoje. Subdomínios de Sector como linux.koder.dev ou queues.koder.dev ainda não existem — os visitantes chegam nos módulos via landings de Área ou via platform.koder.dev. Essa spec normatiza o formato pra quando as primeiras landings de Sector forem criadas.