Site de página única da Ocellatus, Tecnologia & Desenvolvimento. É 100% estático (HTML, CSS e um JavaScript mínimo), sem framework, sem etapa de build e sem nenhuma dependência de terceiros em tempo de execução. Fica hospedado no GitHub Pages.
index.html página principal (todo o conteúdo em HTML)
privacidade.html política de privacidade (LGPD)
404.html página de erro
robots.txt, sitemap.xml SEO
llms.txt, llms-full.txt resumo e conteúdo completo para buscadores de IA
site.webmanifest, favicon.ico
.well-known/security.txt contato para relatos de vulnerabilidade
assets/css/site.css estilos e tokens de cor (início do arquivo)
assets/js/site.js animação de entrada (o site funciona sem ele)
assets/fonts/ Prompt 400/500/600 em woff2 (licença OFL)
assets/img/ logos, peixe decorativo, ícones e imagem Open Graph
.github/workflows/pages.yml publicação automática
tools/ scripts opcionais para regenerar imagens e llms-full.txt
python3 -m http.server 8080
# abra http://localhost:8080Use um servidor local, não o arquivo aberto direto. Os caminhos começam com / e a Content Security Policy exige a mesma origem.
Os dados que ainda não foram informados aparecem como marcadores PREENCHER_.... Para listar todos:
grep -rn "PREENCHER" --exclude-dir=.git --exclude=README.md .| Marcador | O que colocar | Onde aparece |
|---|---|---|
PREENCHER_NOME_FUNDADOR |
Nome completo | Sobre, JSON-LD, llms.txt |
PREENCHER_CIDADE / PREENCHER_UF |
Ex.: Manaus / AM |
Sobre, JSON-LD, llms.txt |
PREENCHER_BIO |
Trajetória e por que criou a Ocellatus | Seção Sobre |
PREENCHER_PRAZO_DIAGNOSTICO |
Primeira frase da resposta, ex.: "Em geral, X semanas." | FAQ (HTML e JSON-LD) |
PREENCHER_CNPJ |
Opcional; descomente a linha no rodapé | Rodapé |
Também há dois comentários para revisar em index.html. Um é CONFIRMAR, na seção de segurança, sobre onde os dados ficam. O outro troca o símbolo da seção Sobre pela sua foto (WebP/AVIF 480×480, com alt).
Se um dado não existir, apague a frase ou o link inteiro, em vez de deixar o marcador. Depois de editar textos, rode python3 tools/gerar-llms-full.py para atualizar o llms-full.txt. Nome, cidade e contato precisam ficar idênticos no HTML, no JSON-LD e no llms.txt.
- Em Settings → Pages, em "Build and deployment", escolha Source: GitHub Actions. Isso só precisa ser feito uma vez.
- Cada push na
mainroda.github/workflows/pages.ymle publica o site emhttps://ocellatuslab.github.io/. Dá para rodar manualmente em Actions → Publicar no GitHub Pages → Run workflow.
O workflow copia só os arquivos públicos para _site/. README, tools/ e .github/ ficam de fora. Ele usa upload-pages-artifact@v3 de propósito: a v4 descarta pastas ocultas e o /.well-known/security.txt sumiria.
- Crie o arquivo
CNAMEna raiz com o domínio, numa linha só. Exemplo:ocellatus.dev. - No provedor de DNS:
- Domínio raiz (
ocellatus.dev): registros A para185.199.108.153,185.199.109.153,185.199.110.153,185.199.111.153, e AAAA para2606:50c0:8000::153,2606:50c0:8001::153,2606:50c0:8002::153,2606:50c0:8003::153. - Subdomínio
www: registro CNAME apontando paraocellatuslab.github.io.
- Domínio raiz (
- Em Settings → Pages, informe o domínio em "Custom domain" e, depois que o certificado for emitido, marque Enforce HTTPS.
- Recomendado: verifique o domínio na organização (Settings → Pages → Add a domain nas configurações da organização) para impedir que outra conta o use.
- Troque
https://ocellatuslab.github.iopelo novo domínio em todos os arquivos:
grep -rl "ocellatuslab.github.io" --exclude-dir=.git . | xargs sed -i 's#https://ocellatuslab.github.io#https://ocellatus.dev#g'Revise o resultado. O CNAME do www, que aponta para ocellatuslab.github.io no DNS, continua igual.
Só é necessário se a marca mudar. Extraia o zip oficial da marca e rode:
python3 -m pip install pillow
python3 tools/gerar-assets.py "/caminho/OCELLATUS ARQUIVO" /caminho/Prompt-SemiBold.ttfO script gera os logos (AVIF + WebP), o peixe decorativo, os ícones, o favicon.ico e a imagem Open Graph (og.jpg, 1200×630).
- Segurança: CSP por
<meta>semunsafe-inline(o GitHub Pages não permite cabeçalhos próprios). O site não tem cookies, formulários nem scripts de terceiros. - Fontes: Prompt self-hosted, recortada para o alfabeto latino, com
font-display: swape preload. - Cores: tokens no início de
site.css. O laranja#F5813Enão é usado em texto comum sobre fundo claro (contraste 2,6:1). Ele aparece em linhas, ícones e botões com texto preto (8,1:1). - Modo escuro: automático via
prefers-color-scheme. - Acessibilidade: o conteúdo aparece sem JavaScript, e as animações respeitam
prefers-reduced-motion. - Analytics: nenhum. Se um dia for necessário, use uma opção sem cookies (Plausible ou Umami). Adicione o domínio dela ao
script-srce aoconnect-srcda CSP e atualize a política de privacidade.