feat: add SEO and sitemap functionality
- 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.
This commit is contained in:
1 parent
3de4f2501d
commit
37971056c2
74 files changed
+563
-41337
No files matched your search
@@ -38,6 +38,7 @@
|
||||
<div>
|
||||
<strong>Lucas Rayan Guerra</strong>
|
||||
Ciência Embarcada · ESPDocs
|
||||
linkedin.com/in/lucasrguerra
|
||||
</div>
|
||||
<div style="text-align:right">
|
||||
<strong>Material de apoio</strong>
|
||||
@@ -1884,7 +1885,9 @@ Temperatura: 26.1 C | Umidade: 62.0 %</code></pre>
|
||||
<tr>
|
||||
<td class="destaque">Conteúdo e redação</td>
|
||||
<td><strong>Lucas Rayan Guerra</strong><br>
|
||||
Ciência Embarcada · <a href="https://cienciaembarcada.com.br">cienciaembarcada.com.br</a></td>
|
||||
Ciência Embarcada · <a href="https://cienciaembarcada.com.br">cienciaembarcada.com.br</a><br>
|
||||
<a href="https://linkedin.com/in/lucasrguerra">linkedin.com/in/lucasrguerra</a><br>
|
||||
<a href="mailto:contato@lucasrguerra.dev.br">contato@lucasrguerra.dev.br</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="destaque">Dados técnicos</td>
|
||||
@@ -1942,11 +1945,12 @@ Temperatura: 26.1 C | Umidade: 62.0 %</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="caixa dica">
|
||||
<div class="caixa-titulo">Encontrou um erro?</div>
|
||||
<div class="caixa-titulo">Dúvidas, correções e contato</div>
|
||||
<p>
|
||||
Correções e sugestões são bem-vindas e ajudam as próximas turmas. Reporte pelo ESPDocs,
|
||||
em <a href="https://espdocs.cienciaembarcada.com.br/">espdocs.cienciaembarcada.com.br</a>,
|
||||
ou fale com a coordenação da LASER.
|
||||
Correções e sugestões são bem-vindas e ajudam as próximas turmas. Fale direto com o
|
||||
autor por <a href="mailto:contato@lucasrguerra.dev.br">contato@lucasrguerra.dev.br</a>
|
||||
ou pelo LinkedIn, em
|
||||
<a href="https://linkedin.com/in/lucasrguerra">linkedin.com/in/lucasrguerra</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<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="#3b82f6"/>
|
||||
<stop offset="0.55" stop-color="#8b5cf6"/>
|
||||
<stop offset="1" stop-color="#ec4899"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g stroke="url(#gl)" 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">
|
||||
<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>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 954 B |
@@ -0,0 +1,29 @@
|
||||
<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>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
Reference in new issue
Block a user