feat(marca): atualiza logo, ícones, manifest e Open Graph para a identidade atual (#3)

- 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>
This commit is contained in:
Lucas Rayan GuerraandClaude Sonnet 5.5 authored and GitHub committed 2026-10-20 16:41:38 -03:00
1 parent bc9ae5c036
commit c61fa06532
16 files changed
+157 -130

No files matched your search

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 686 B

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 975 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

+10 -22
View File
@@ -1,29 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="ESPDocs">
<title>ESPDocs</title>
<defs>
<linearGradient id="g" x1="6" y1="58" x2="58" y2="6" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#3b82f6"/>
<stop offset="0.55" stop-color="#8b5cf6"/>
<stop offset="1" stop-color="#ec4899"/>
</linearGradient>
</defs>
<style>
.p{stroke:#0a5852}.l{stroke:#a8452f}.t{fill:#0b0d10}
@media (prefers-color-scheme: dark){.p{stroke:#2dd4bf}.l{stroke:#ffb39b}.t{fill:#f4f6f8}}
</style>
<!-- Pinos entrando pela esquerda: o sinal que chega do silício. -->
<g stroke="url(#g)" stroke-width="3.4" stroke-linecap="round">
<path d="M2 21h7"/>
<path d="M2 32h7"/>
<path d="M2 43h7"/>
<g class="p" fill="none" stroke-width="3.4" stroke-linecap="round">
<path d="M2 21h7"/><path d="M2 32h7"/><path d="M2 43h7"/>
</g>
<!-- Corpo do encapsulamento. -->
<rect x="9.25" y="9.25" width="45.5" height="45.5" rx="13"
fill="none" stroke="url(#g)" stroke-width="4.5"/>
<!-- Os mesmos três níveis viram linhas de texto: a documentação.
Comprimento decrescente para ler como parágrafo. -->
<g stroke="url(#g)" stroke-width="4.5" stroke-linecap="round">
<path d="M19 21h26"/>
<path d="M19 32h21"/>
<path d="M19 43h15"/>
<rect class="p" x="9.25" y="9.25" width="45.5" height="45.5" rx="13" fill="none" stroke-width="4.5"/>
<!-- Os mesmos três níveis viram linhas de texto: a documentação. -->
<g class="l" fill="none" stroke-width="4.5" stroke-linecap="round">
<path d="M19 21h26"/><path d="M19 32h21"/><path d="M19 43h15"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 869 B

+11 -12
View File
@@ -1,19 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 260 64" role="img" aria-label="ESPDocs">
<title>ESPDocs</title>
<defs>
<linearGradient id="gl" x1="6" y1="58" x2="250" y2="6" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#24645f"/>
<stop offset="0.55" stop-color="#8a3410"/>
<stop offset="1" stop-color="#c4744f"/>
</linearGradient>
</defs>
<g stroke="url(#gl)" stroke-width="3.4" stroke-linecap="round">
<style>
.p{stroke:#0a5852}.l{stroke:#823626}.t{fill:#0b0d10}
@media (prefers-color-scheme: dark){.p{stroke:#2dd4bf}.l{stroke:#ffb39b}.t{fill:#f4f6f8}}
</style>
<!-- Pinos entrando pela esquerda: o sinal que chega do silício. -->
<g class="p" fill="none" stroke-width="3.4" stroke-linecap="round">
<path d="M2 21h7"/><path d="M2 32h7"/><path d="M2 43h7"/>
</g>
<rect x="9.25" y="9.25" width="45.5" height="45.5" rx="13" fill="none" stroke="url(#gl)" stroke-width="4.5"/>
<g stroke="url(#gl)" stroke-width="4.5" stroke-linecap="round">
<!-- Corpo do encapsulamento. -->
<rect class="p" x="9.25" y="9.25" width="45.5" height="45.5" rx="13" fill="none" stroke-width="4.5"/>
<!-- Os mesmos três níveis viram linhas de texto: a documentação. -->
<g class="l" fill="none" stroke-width="4.5" stroke-linecap="round">
<path d="M19 21h26"/><path d="M19 32h21"/><path d="M19 43h15"/>
</g>
<text x="72" y="43" font-family="Outfit, Inter, system-ui, sans-serif" font-size="34"
font-weight="800" letter-spacing="-0.5" fill="url(#gl)">ESPDocs</text>
<text class="t" x="72" y="43" font-family="'Space Grotesk', Inter, system-ui, sans-serif" font-size="34" font-weight="600" letter-spacing="-1.5">ESPDocs</text>
</svg>

Before

Width:  |  Height:  |  Size: 954 B

After

Width:  |  Height:  |  Size: 1.0 KiB

+10 -22
View File
@@ -1,29 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="ESPDocs">
<title>ESPDocs</title>
<defs>
<linearGradient id="g" x1="6" y1="58" x2="58" y2="6" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#24645f"/>
<stop offset="0.55" stop-color="#8a3410"/>
<stop offset="1" stop-color="#c4744f"/>
</linearGradient>
</defs>
<style>
.p{stroke:#0a5852}.l{stroke:#823626}.t{fill:#0b0d10}
@media (prefers-color-scheme: dark){.p{stroke:#2dd4bf}.l{stroke:#ffb39b}.t{fill:#f4f6f8}}
</style>
<!-- Pinos entrando pela esquerda: o sinal que chega do silício. -->
<g stroke="url(#g)" stroke-width="3.4" stroke-linecap="round">
<path d="M2 21h7"/>
<path d="M2 32h7"/>
<path d="M2 43h7"/>
<g class="p" fill="none" stroke-width="3.4" stroke-linecap="round">
<path d="M2 21h7"/><path d="M2 32h7"/><path d="M2 43h7"/>
</g>
<!-- Corpo do encapsulamento. -->
<rect x="9.25" y="9.25" width="45.5" height="45.5" rx="13"
fill="none" stroke="url(#g)" stroke-width="4.5"/>
<!-- Os mesmos três níveis viram linhas de texto: a documentação.
Comprimento decrescente para ler como parágrafo. -->
<g stroke="url(#g)" stroke-width="4.5" stroke-linecap="round">
<path d="M19 21h26"/>
<path d="M19 32h21"/>
<path d="M19 43h15"/>
<rect class="p" x="9.25" y="9.25" width="45.5" height="45.5" rx="13" fill="none" stroke-width="4.5"/>
<!-- Os mesmos três níveis viram linhas de texto: a documentação. -->
<g class="l" fill="none" stroke-width="4.5" stroke-linecap="round">
<path d="M19 21h26"/><path d="M19 32h21"/><path d="M19 43h15"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 869 B

+8 -5
View File
@@ -2,10 +2,11 @@
"name": "ESPDocs",
"short_name": "ESPDocs",
"description": "Documentação do ecossistema ESP32 em português brasileiro",
"lang": "pt-BR",
"start_url": "/",
"display": "standalone",
"background_color": "#020617",
"theme_color": "#8b5cf6",
"background_color": "#07090d",
"theme_color": "#07090d",
"icons": [
{
"src": "/favicon-48x48.png",
@@ -15,12 +16,14 @@
{
"src": "/icon-192.png",
"sizes": "192x192",
"type": "image/png"
"type": "image/png",
"purpose": "any maskable"
},
{
"src": "/icon-512.png",
"sizes": "512x512",
"type": "image/png"
"type": "image/png",
"purpose": "any maskable"
}
]
}
}