Liebe Helga,
bei einigen Kundenprojekten nutzen wir eine Kombination aus:
- Jekyll (https://jekyllrb.com/) als Seitengenerator
- grunt (https://gruntjs.com/) als Aufgaben-Erlediger
Dabei übersetzt Jekyll die Templates und Inhalte in HTML-Dateien und mit grunt lassen wir verschiedene Aufgaben (siehe unten) ausführen.
Die Projekte sind alle ein paar Jahre alt. Heute würden wir statt grunt wohl eher gulp (https://gulpjs.com/) verwenden – bei grunt scheint insbesondere die Entwicklung von Plugins etwas eingeschlafen zu sein. Oder direkt npm verwenden (vgl. https://www.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/).
(Zum Einstieg in Jekyll:
- https://css-tricks.com/building-a-jekyll-site-part-1-of-3/
- https://www.taniarascia.com/make-a-static-website-with-jekyll/)
Nachdem die Seite mit Jekyll in HTML übersetzt wurde, erledigt grunt auch folgendes:
- postcss (https://www.npmjs.com/package/grunt-postcss): Zum automatischen Ergänzen möglicherweise notwendiger Browser-Prefixes für einzelne CSS-Eigenschaften und komprimieren des CSS-Codes.
- uglify (https://github.com/gruntjs/grunt-contrib-uglify): Zum komprimieren von Javascript-Code.
- cache-busting (https://www.npmjs.com/package/grunt-cache-busting): Um Verweise auf CSS- und JS-Dateien bei Änderungen umzubenennen, um sicher zu gehen, dass sie tatsächlich geladen werden.
- responsive_images (https://www.npmjs.com/package/grunt-responsive-images) / responsive_images_extender (https://github.com/stephanmax/grunt-responsive-images-extender): Um Bilder in verschiedenen Größen/Auflösungen zu generieren und im HTML einzubinden.
- imageoptim (https://github.com/JamieMason/grunt-imageoptim): zum Optimieren der generierten Bilder
Ich bin jetzt etwas unsicher, ob dir das schon hilft oder ob es dich verwirrt … Es ist alles recht viel und komplex, wenn man das erste Mal damit konfrontiert wird. Und es ist natürlich auch immer die Frage, ob der Aufwand, das zu lernen lohnt … Wir konnten das bei mehreren Projekten einsetzen und da war es schon hilfreich.
Wenn du noch Fragen hast, melde dich gern!
Liebe Grüße,
Phillip