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>
94 lines
4.6 KiB
Markdown
94 lines
4.6 KiB
Markdown
# Registro de mudanças
|
|
|
|
Tudo o que muda de relevante no ESPDocs está aqui. O formato segue o
|
|
[Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/) e o projeto segue o
|
|
[Versionamento Semântico](https://semver.org/lang/pt-BR/).
|
|
|
|
## [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.js` com negociação de idioma na raiz por cookie `NEXT_LOCALE` e cabeçalho `Accept-Language` (com pesos `q`), redirecionamento 308 de URLs antigas sem prefixo para `/pt/`, e retorno 404 para `/livro` fora do português.
|
|
- Seletor de idiomas acessível no cabeçalho com atalho para os 6 idiomas, persistência via cookie `NEXT_LOCALE` e mapeamento de rota correspondente.
|
|
- Regras de tipografia de sistema CJK para `zh-CN` e hifenização/quebra de palavras para `de` e `fr`.
|
|
|
|
## [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.br` e `espdocs.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 segundo `next build` do 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, `manifest` e 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`, build `standalone`, usuário sem privilégio,
|
|
`HEALTHCHECK`), pronta para o servidor Oracle, publicada para `linux/arm64` em
|
|
`git.lucasrguerra.dev.br/lucasrguerra/espdocs`. A variável `NEXT_OUTPUT=standalone`
|
|
liga o empacotamento só dentro da imagem; fora dela o build continua o mesmo
|
|
para o `pm2` (`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
|
|
|
|
- `next` 15.5.28, que corrige a execução remota de código sem autenticação na
|
|
otimização de imagens (GHSA-2464-fhr4-w9xw), e `postcss` fixado acima da cópia
|
|
embutida no `next`.
|
|
|
|
[Não lançado]: https://git.lucasrguerra.dev.br/lucasrguerra/ESPDocs/compare/v1.1.0...HEAD
|
|
[1.1.0]: https://git.lucasrguerra.dev.br/lucasrguerra/ESPDocs/compare/v1.0.0...v1.1.0
|
|
[1.0.0]: https://git.lucasrguerra.dev.br/lucasrguerra/ESPDocs/releases/tag/v1.0.0
|