Implement Phase 1 of i18n spec: - Configure next-intl with 6 locales (pt, en, es, fr, de, zh-CN) and pathnames - Move routes to app/[locale] structure with localized layouts and metadata - Add middleware for root language negotiation (307), legacy redirects (308), and 404 for non-pt book - Implement language selector dropdown in header with cookie persistence - Add system typography rules for zh-CN and word-break/hyphenation for de/fr Co-Authored-By: Antigravity <noreply@google.com>
4.6 KiB
4.6 KiB
Registro de mudanças
Tudo o que muda de relevante no ESPDocs está aqui. O formato segue o Keep a Changelog e o projeto segue o Versionamento Semântico.
Não lançado
Adicionado
- Infraestrutura de internacionalização com
next-intl(Fase 1):- Roteamento com prefixo de idioma sob
app/[locale]/, com 6 locales declarados (pt,en,es,fr,de,zh-CN). middleware.jscom negociação de idioma na raiz por cookieNEXT_LOCALEe cabeçalhoAccept-Language(com pesosq), redirecionamento 308 de URLs antigas sem prefixo para/pt/, e retorno 404 para/livrofora do português.- Seletor de idiomas acessível no cabeçalho com atalho para os 6 idiomas, persistência via cookie
NEXT_LOCALEe mapeamento de rota correspondente. - Regras de tipografia de sistema CJK para
zh-CNe hifenização/quebra de palavras paradeefr.
- Roteamento com prefixo de idioma sob
1.1.0 - 2026-11-01
Adicionado
- Busca no site, aberta pelo botão do cabeçalho ou por Ctrl/⌘+K. O índice
(séries, frameworks, glossário, erros de diagnóstico, componentes e conexões)
é gerado no build, em
/api/busca.
Alterado
- Os links do repositório do projeto (rodapé, "Sobre", dados estruturados) apontam para o Gitea, e o ícone do GitHub virou o do Gitea. Os links dos frameworks da Espressif continuam no GitHub, porque os repositórios são deles.
- O site passou a rodar na Oracle, a partir da imagem Docker do registro do
Gitea, em
espdocs.cienciaembarcada.com.breespdocs.lucasrguerra.dev.br. - CI: a imagem é construída, escaneada e testada uma vez, em arm64, no push da
branch, e o release só aplica as tags; o gatilho
pull_request(que repetia o push) e o segundonext builddo job de lint saíram, e os caches do npm e da compilação do Next ficam entre as execuções.
1.0.0 - 2026-10-30
A primeira versão com tag. O trabalho anterior nunca foi tagueado, então esta entrada resume tudo desde o primeiro commit, em 2025-10-21, até a imagem Docker.
Conteúdo
- Documentação não oficial do ecossistema ESP32 em português: uma página por série de chips, com especificações, conexões e consumo, e a página de comparação lado a lado.
- Diagramas interativos de conexões e componentes, com o esquema de dados de conexões padronizado.
- Frameworks documentados: ESP-IDF, Arduino, MicroPython, ESP-RainMaker e ESP-Matter.
- Glossário técnico, página "Sobre" e chamadas para o catálogo.
- Catálogo de placas de desenvolvimento a partir de uma planilha do Google
(
/api/placas), com filtros e cache de 10 minutos. - Ferramenta de seleção: perguntas sobre o projeto (Ethernet, tela e outras) e recomendação da série mais adequada.
- Novos modelos, incluindo o ESP32-H4, e a contagem de componentes e de drivers (interface, conectividade e áudio) ampliada.
Interface e acessibilidade
- Tema escuro e redesenho das páginas internas no novo sistema de design, com
contraste AAA e auditoria automática de temas e de páginas (
npm run check). - Identidade nova: logo, ícones,
manifeste imagens Open Graph. - SEO: mapa do site, dados estruturados, trilhas de navegação e favicons.
- Exportação do conteúdo em PDF CMYK e dos slides de treinamento em PDF 16:9, gerados com Puppeteer (scripts locais).
Dados corrigidos
- Revisão dos dados das séries contra os datasheets oficiais da Espressif: consumo, temperatura, ADC, PSRAM, memória LP, CAN FD, frequências e versões de Secure Boot do ESP32, S2, S3, C2, C3, C5, C6, C61, H2, H4, P4 e S31.
Implantação
- Imagem Docker (
node:22-alpine, buildstandalone, usuário sem privilégio,HEALTHCHECK), pronta para o servidor Oracle, publicada paralinux/arm64emgit.lucasrguerra.dev.br/lucasrguerra/espdocs. A variávelNEXT_OUTPUT=standaloneliga o empacotamento só dentro da imagem; fora dela o build continua o mesmo para opm2(start.config.js, porta 3001). - O código passou para o Gitea, com CI em
.gitea/workflows: lint, auditorias, Trivy no repositório e na imagem, e teste de que a imagem sobe e responde. O Release reaproveita a imagem quando nada do que a compõe mudou.
Segurança
next15.5.28, que corrige a execução remota de código sem autenticação na otimização de imagens (GHSA-2464-fhr4-w9xw), epostcssfixado acima da cópia embutida nonext.