Rebuild du site sur Astro : i18n multilingue, faits verifies, Docker, CI, tests
- Astro statique, EN par defaut + /fr/ + /nl/, detection langue navigateur - i18n par fichiers JSON, ajouter une langue = ajouter des traductions - Contenu original porte a l'identique (diff d'inventaire par langue) - Chronologie legislative corrigee sur sources primaires (PE, Conseil, votes) - Timeline 23 precedents + observatoire 35 items + annuaire 66 outils FOSS, chaque affirmation verifiee et sourcee - Zero requete tierce (teste), lisible JS coupe, axe WCAG AA x2 themes - Version offline monofichier par langue a chaque build - Docker multi-stage vers nginx + CSP stricte auto-generee - CI GitHub Actions (SHA-pinnees) + verification hebdo des liens - CONTRIBUTING : divulgation d'affiliation obligatoire, allowlist de domaines testee en CI
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
---
|
||||
// Brand icon from the build-time-embedded simple-icons set (CC0).
|
||||
// Unknown slug → nothing renders; callers keep their monogram fallback.
|
||||
import { BRAND_ICONS } from '../icons.generated'
|
||||
|
||||
interface Props {
|
||||
slug: string
|
||||
size?: number
|
||||
class?: string
|
||||
}
|
||||
|
||||
const { slug, size = 18, class: className } = Astro.props
|
||||
const path = BRAND_ICONS[slug]
|
||||
---
|
||||
|
||||
{
|
||||
path && (
|
||||
<svg
|
||||
viewBox="0 0 24 24"
|
||||
width={size}
|
||||
height={size}
|
||||
fill="currentColor"
|
||||
aria-hidden="true"
|
||||
class={className}
|
||||
>
|
||||
<path d={path} />
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user