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>
No files matched your search
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 686 B After Width: | Height: | Size: 554 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 975 B |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 8.4 KiB |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||