- Translate content to English across messages/en.json, data/en, lib/data/en, and public/exemplos/en
- Implement localized routing, slugs, and language negotiation with fallback to en
- Build dedicated search index for English with strict book exclusion
- Update components and pages to dynamically render localized strings and datasets
- Verify full structural parity and exact 1:1 match on Portuguese pages via comparator
Co-Authored-By: Antigravity <noreply@google.com>
- Move getLocalizedHref, LOCALES, and CANONICAL_ROUTES to i18n/links.js to resolve SSR 500 error on home
- Import from @/i18n/links in page.jsx, Header.jsx, Footer.jsx, and LanguageSelector.jsx
- Restore exact production footer texts, author links, and SVG icons in pt
- Verify 100% visible text parity on all pt pages against production with cmp-pt.py
Co-Authored-By: Antigravity <noreply@google.com>
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>
- Logo em duas cores (teal + cobre), inline no cabeçalho e rodapé para
seguir o tema do site; SVGs estáticos com prefers-color-scheme.
- scripts/generate-favicons.mjs passa a gerar favicons, ícones de app
(maskable), site.webmanifest e a imagem Open Graph 1200x630.
- Manifest com fundo/tema obsidiana e lang pt-BR.
Claude-Session: https://claude.ai/code/session_016W1xmizFcmXLrmabSvfSuc
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
* feat(design): redesign das páginas internas no novo design system
Padroniza todas as páginas e componentes internos nos tokens e primitivos
de app/globals.css, com contraste AAA (7:1) nos dois temas e alvos de toque
de 44px.
- Páginas reescritas: glossário, séries, série, seletor, comparador,
diagnóstico, catálogo, component registry, frameworks, framework, sobre
e a nova 404.
- Componentes: PageHero e SectionHead novos; BoardCard, CodeExample,
PinRestrictions, SeriesTabMenu e ConnectionsDiagram refeitos, com abas
e diálogo acessíveis.
- Remove emojis, cores avulsas por série, caixa alta com tracking, texto
menor que 12px e os pares slate-*/dark:*.
- Comparador: "mostrar só as diferenças" e leitura de ?chips=.
- Corrige overflow em 320/390px e ajusta accent/copper do tema claro
para fechar 7:1.
- scripts/auditar-temas.mjs passa a travar paleta crua, dark:, texto
pequeno, emoji e contraste dos tokens.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016W1xmizFcmXLrmabSvfSuc
* ci: roda lint, auditorias de design e build em cada PR
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016W1xmizFcmXLrmabSvfSuc
---------
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
- Implemented robots.txt to guide search engine indexing.
- Created layout components for the selector and series pages to manage metadata.
- Developed a dynamic sitemap generator based on existing series and frameworks data.
- Centralized SEO information in a new lib/seo.js file to maintain consistency across the site.
- Added SVG logos for branding.
- Introduced DESIGN.md to outline rules for maintaining consistent light and dark themes, including color scales, symmetry rules, and contrast requirements.
- Added PinRestrictions component to display pin usage restrictions based on series data, ensuring accurate representation of pin functionalities.
- Implemented auditing script (auditar-temas.mjs) to check for theme consistency issues, including nonexistent tones, inverted pairs, low contrast, and inline fixed colors.
- Updated the `isActive` function in `Header.jsx` to handle root path and include logic for other paths.
chore: Update package-lock.json to remove peer dependencies
- Removed unnecessary peer dependencies from various packages in `package-lock.json`.
feat: Update frameworks.json to include example links
- Changed `exemplo_codigo` to `exemplo` and added `exemplos` links for various frameworks in `frameworks.json`.
feat: Add placa images to series.json
- Included image paths for different ESP32 series in `series.json`.
feat: Create CodeExample component for displaying code snippets
- Added a new `CodeExample.jsx` component to fetch and display code examples dynamically.
feat: Add example Arduino code for Wi-Fi connection
- Created `arduino.ino` example for connecting to Wi-Fi.
feat: Add example code for audio playback using ESP-ADF
- Created `esp-adf.c` example for audio playback using ESP-ADF.
feat: Add example code for DSP operations
- Created `esp-dsp.c` example demonstrating basic DSP operations.
feat: Add example code for ESP-IDF LED blinking
- Created `esp-idf.c` example for blinking an LED using ESP-IDF.
feat: Add example code for Matter integration
- Created `esp-matter.c` example for Matter device initialization and event handling.
feat: Add example code for neural network operations
- Created `esp-nn.c` example demonstrating basic neural network operations.
feat: Add example code for face detection using ESP-WHO
- Created `esp-who.c` example for face detection using ESP-WHO library.
feat: Add MicroPython example for LED blinking
- Created `micropython.py` example for blinking an LED using MicroPython.
Add a new JSON file public/series.json that defines detailed metadata for multiple
ESP32 series variants. The file includes entries for: ESP32, ESP32-S2, ESP32-S3,
ESP32-C3, ESP32-C5, ESP32-C6, ESP32-P4 and ESP32-H2.
Each entry provides human-friendly and technical fields such as:
- nome_completo, icone, descricao
- arquitetura, nucleos, frequencia, coprocessador_ulp, aceleradores_ia (when applicable)
- wireless capabilities (Wi‑Fi, Bluetooth, Zigbee/Thread, Matter), USB, Ethernet
- memory details (SRAM, RTC SRAM, ROM, external flash/PSRAM)
- peripherals and I/O counts (GPIO, ADC, DAC, touch, UART, SPI, I2C, I2S, PWM, SDIO, etc.)
- sensor info, temperature ranges, datasheet links and UI color values
This file will be used to power device/series lists and UI displays with consistent,
localized technical descriptions and links to datasheets.