Open jlecour opened 14 years ago
Pour faire ça efficacement, c'est à dire en conservant les fichiers séparés comme source pour faciliter leur maintenance, il semble indispensable de programmer cette concaténation au moment de la génération par jekyll. Le problème est que jekyll ne permet pas d'exécuter du ruby - ou tout autre script - pendant la phase de génération.
Heureusement avec liquid tout est prévu pour faire ses propres extensions en ruby, ou en utiliser des tierces, ou modifier des classes existantes :) Le problème là encore c'est que jekyll ne permet pas de les charger, cela semble d'ailleurs en partie expliquer le grand nombre de forks d'après certains commentaires.
Bref, il est quand même possible de bidouiller pour arriver au même résultat et sans utiliser un fork de jekyll en utilisant en complément un autre projet http://github.com/rfelix/jekyll_ext et comme expliqué dans le README, au prix de faire un lien symbolique et modifier le script shell de lancement de jekyll sur chaque installation (il doit contenir le chemin d'accès au vrai jekyll, ça diffère donc suivant les os bien qu'on puisse utiliser which, pwd et compagnie pour faire un script "commun" à tous). Ça complexifie le processus de contribution mais c'est peut-être un mal nécessaire.
Sans faire autant de recherches que toi, j'avais l'intuition de ce que tu viens de vérifier.
Pour le moment, je pense qu'il faut qu'on en reste au paquet "officiel". C'est déjà assez compliqué comme ça de proposer à quelqu'un de contribuer au site, si en plus il faut bidouiller tout ça, personne ne le fera.
C'est bien dommage que jekyll n'intègre pas de modularité alors que son composant principal l'est fondamentalement.
Pour les feuilles de style et le JS, je me demande si je vais pas les concaténer à la main (en gardant les éléments d'origine séparément). La vitesse à laquelle ces éléments évoluent ne rendra pas la maintenance compliquée par rapport au bénéfice de l'internaute, …
À suivre.
La version 3 de Jekyll propose un "asset pipeline" avec SASS …
On devrait pouvoir convertir l'ensemble des CSS pour n'obtenir plus qu'un seul fichier.
Actuellement les CSS et JS sont des fichiers séparés (de par leur origine). Il serait intelligent de les concaténer pour réduire le nombre de requêtes au chargement d'une page et faciliter la mise en cache.