- Exemple de création d’un blog sans Jekyll, Ghost ni WordPress
- Les exigences de base sont l’utilisation d’un domaine possédé, la génération d’un site statique, le respect du SEO et l’ajout simple d’articles
- L’architecture centrale repose sur
template.html, le script render.py et la rédaction d’articles en Markdown pour rendre automatiquement toutes les pages
- La bibliothèque Python markdown2 est utilisée pour automatiser la conversion Markdown → HTML et la génération des pages
- L’accent est mis sur une structure permettant d’ajouter facilement du contenu tout en respectant le SEO et les standards web modernes
Exigences du blog
- Utiliser un domaine déjà possédé
- Conserver des standards web modernes et une bonne compatibilité SEO
- Ajouter des articles doit être très simple
- Toutes les pages doivent être générées statiquement
Résumé de la mise en œuvre
- Création du fichier
template.html → mise en place de la structure HTML de base
- Installation de l’outil de rendu Markdown avec la commande
pip install markdown2
- Demande à
O1 d’un script Python de rendu (render.py)
- Rédaction des articles dans le dossier
posts/ au format eng.md
- Exécution de
render.py pour convertir en HTML et générer le dossier de sortie
Modèle HTML principal (template.html)
- La structure HTML est simple et minimaliste, avec insertion du rendu Markdown à l’emplacement de
{{ content }}
- Le CSS assure la lisibilité grâce à une police basée sur
system-ui, un padding adaptatif et des réglages comme color-scheme
Script Python principal de rendu (render.py)
- Utilise
markdown2 pour convertir chaque article Markdown en HTML
- Lors de la conversion, les chemins
<img> sont automatiquement remplacés par /posts/{post_code}/
- Le titre HTML est extrait du
# de niveau 1 du Markdown
index.html est composé de greetings.md + de la liste des titres de chaque article
- Le résultat est enregistré au format
.html dans le dossier ./blog/
5 commentaires
Moi aussi, j’exploite actuellement mon blog exactement de cette façon. J’utilise un SSG que j’ai créé pour répondre à mes besoins personnels. J’y ai ajouté des fonctionnalités personnalisées, notamment pour gérer les images de miniature, les catégories et les tags. Les images jointes sont automatiquement converties en webp et référencées comme telles, ce qui me donne une vitesse de rendu très satisfaisante.
Oh, donc vous ajoutez ce genre de fonctionnalités personnalisées en écrivant directement le code au fur et à mesure ? Moi aussi, j’essaie toujours de faire les choses en DIY, mais j’hésite à chaque fois à cause des fonctions d’extension et des plugins proposés par les frameworks de blog SSG que j’utilisais déjà.
Il suffit de se débarrasser du superflu, et le reste n’est pas vraiment si difficile. Même avec
ssg, si vous le demandez à une IA, elle écrit tout le code, et si vous lui demandez d’ajouter des fonctionnalités, elle peut en fait toutes les ajouter aussi, haha.Quand on choisit juste une jolie police, ça devient assez agréable à lire.
Avis Hacker News
Au lancement du blog, utilisation d’un SSG, puis migration vers Wordpress pour gagner en liberté
Deux éléments nécessaires pour qu’un site puisse vraiment être considéré comme un blog
Attachement aux sites web indépendants
Souhait d’un support natif dans le navigateur pour text/markdown et text/gemini
Signalement d’un bug où la chaîne « Minimum viable blog » est remplacée par le titre du post
Exploitation d’un blog avec de simples pages HTML auparavant, puis passage à Astro pour un site plus évolué
Expérimentation avec Bun JS et l’utilisation de HTML sous forme de chaînes JS
Quelques astuces apprises en 15 ans d’expérimentation autour d’un blog minimaliste
Facilité des frameworks standard de blogging statique avec Hugo/Zola et Cloudflare Pages
En remettant en route un ancien blog, expérience des difficultés de Hexo