refonte: portfolio statique Astro (design moderne développeur)
Some checks failed
Deploy production / build-deploy (push) Failing after 56s
Some checks failed
Deploy production / build-deploy (push) Failing after 56s
- Remplace l'ancien Astro hybrid + admin par un site one-page statique (sortie static) - Thème clair/sombre sans flash, contenu typé (src/data/content.ts), zéro admin - Icônes simple-icons (SVG monochrome), polices auto-hébergées (RGPD) - SEO complet : canonical, Open Graph, Twitter Card, JSON-LD Person, robots.txt, sitemap.xml, image OG 1200x630 - CI Gitea de déploiement FTPS vers Plesk (.gitea/workflows/prod.yml)
This commit is contained in:
17
src/components/TechIcon.astro
Normal file
17
src/components/TechIcon.astro
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
/* Icône d'une techno : SVG simple-icons (currentColor) si dispo,
|
||||
sinon monogramme. Taille pilotée par le CSS (.tile .ic). */
|
||||
import { techIcons, monogram, type TechDef } from "../lib/techIcons";
|
||||
interface Props { name: string; }
|
||||
const { name } = Astro.props;
|
||||
const def: TechDef | undefined = techIcons[name];
|
||||
const path = def && "path" in def ? def.path : null;
|
||||
const mono = def && "mono" in def ? def.mono : monogram(name);
|
||||
---
|
||||
{path ? (
|
||||
<svg class="ic" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
|
||||
<path d={path} />
|
||||
</svg>
|
||||
) : (
|
||||
<span class="tile-mono">{mono}</span>
|
||||
)}
|
||||
Reference in New Issue
Block a user