3 points par GN⁺ 2023-09-11 | 1 commentaires | Partager sur WhatsApp
  • Un article sur la manière d’utiliser « Make » comme générateur de site statique ; cet outil gagne en popularité grâce à sa simplicité, sa rapidité et sa faible maintenance.
  • L’auteur, Karl Bartel, partage son expérience de mise en place d’un blog à l’aide de scripts simples, qu’il a trouvée plus satisfaisante que l’utilisation d’autres constructeurs de sites.
  • La configuration de base consiste à placer tous les fichiers d’entrée dans un répertoire source, à ajouter un en-tête à tous les fichiers HTML pendant le traitement et à copier tous les autres fichiers tels quels dans le répertoire de build.
  • L’auteur fournit des règles de Makefile pour chaque étape, exécutées avec make build, ce qui génère un répertoire de build pouvant être consulté localement dans le navigateur ou téléversé sur un serveur web.
  • L’article explique également comment étendre cette configuration de base pour répondre à divers besoins, comme afficher la page actuelle, générer des pages à partir de Markdown ou ajouter des fonctionnalités pratiques.
  • Parmi ces fonctionnalités pratiques : servir le site en local avec le serveur web intégré de Python, reconstruire automatiquement le site lorsque des fichiers du répertoire source changent, ou publier le site sur GitHub Pages.
  • L’auteur souligne les avantages d’avoir son propre générateur de site statique dans un Makefile, notamment l’absence de dépendances étranges, une maintenance facile et la possibilité de l’adapter rapidement à ses besoins.
  • Un exemple concret de page construite avec cette approche est disponible sur https://github.com/karlb/astridbartel.de.

1 commentaires

 
GN⁺ 2023-09-11
Avis Hacker News
  • Article sur l’idée d’utiliser Make comme générateur de site statique
  • Un utilisateur partage son expérience personnelle de génération de site web avec un Makefile, en y ajoutant des fonctionnalités comme les actualités, les flux RSS, des listes automatiques de publications de recherche et de supports de cours, et explique que cela fonctionne efficacement depuis longtemps
  • L’utilisateur mentionne l’usage de hooks git qui appellent automatiquement make lorsque nécessaire sur le serveur distant qui héberge le site web
  • Un autre utilisateur souligne un problème avec cette approche : si des fichiers sont supprimés dans les sources, ils ne le sont pas dans le build. Il propose comme contournement de supprimer tout le dossier de build avant la reconstruction, mais cela annule l’intérêt du système de build
  • Un utilisateur suggère d’ajouter m4 pour gagner en flexibilité, mais note aussi que cette approche pourrait ne pas fonctionner pour les grands sites web actuels, car elle exige des contributeurs qu’ils maîtrisent le HTML
  • Un utilisateur explique avoir créé son propre générateur de site statique minimaliste (SSG), « barf », inspiré par le shell script « blog.sh » de Karl
  • Un autre utilisateur fait remarquer que si l’on pousse déjà sur Github, il est possible d’y pousser les sources et de laisser Github publier le Markdown en pages hébergées
  • Un utilisateur salue le fait que la plupart des blogs de développeurs qu’il découvre sur Hacker News disposent d’un flux RSS, et partage son habitude de suivre les flux de tous les articles intéressants qu’il lit
  • Un utilisateur raconte son expérience d’utilisation de make pour produire des articles scientifiques : la modification d’un seul fichier de test peut relancer les tests, générer des graphiques, puis régénérer l’ensemble de l’article
  • Un utilisateur affirme que make est utile pour les gros programmes construits avec des compilateurs lents, car il permet des reconstructions incrémentales rapides, mais que pour des sites statiques générables rapidement, un script peut être plus efficace
  • Un utilisateur partage son expérience d’avoir commencé avec des shell scripts avant de passer à un Makefile, qu’il a trouvé mieux adapté. Il mentionne aussi l’usage de templates XSLT pour générer les pages, ainsi que l’index et les flux Atom
  • Un utilisateur, qui utilise Linux et des shell scripts depuis plus de 20 ans sans beaucoup coder, demande pourquoi make est préféré aux shell scripts, et explique qu’après avoir créé un site web avec Zim-wiki, il a pris l’habitude d’utiliser des scripts pour organiser et mettre à jour la page principale de son cours