STATIC SITE GENERATOR (SSG)
Création d'un pipeline ETL transformant des fichiers Markdown en site web HTML statique via un moteur de templating.
Contexte
Après utilisation Hugo et Jekyll, curiosité : comment fonctionnent les SSG en interne ? Objectif : construire le mien en Go. Pipeline ETL : dossier Markdown → parsing frontmatter → conversion HTML → application templates → site complet.
Méthodologie d'Apprentissage
- 1
Décomposition pipeline : scan → parse frontmatter → convert MD → apply template → write HTML
- 2
Apprentissage Go en parallèle du développement (simplicité du langage facilitait)
- 3
Utilisation Goldmark pour parsing Markdown robuste
- 4
Moteur templates HTML/template Go + support variables custom
- 5
Optimisation : incremental builds (rebuild seulement fichiers modifiés)
Défis Techniques
Parsing YAML frontmatter complexe
Structures imbriquées. Solution : unmarshal YAML strict typing.
Gestion chemins relatifs multi-niveaux
Liens cassés en sous-dossiers. Solution : normalisation paths + context-aware URL generation.
Performance builds larges (1000+ pages)
Solution : incremental builds + goroutines pour parallelization.
Résultats
SSG fonctionnel : 1000+ pages générées en 2s
Support templating complet + custom frontmatter
Apprentissage Go + compréhension pipeline ETL
Compétence : parsing, templating, optimisation performance
Explore More