Write more with LESS

Mit jedem neuen Projekt sollte man etwas neues lernen, wenn es nicht sowieso etwas komplett neues ist, wie SOAP Schnittstellen oder die Innereien eines Wikis.

Ich habe mir in den letzten Wochen und Monaten Markdown, SOAP und WSDL, Angular.js (nach einer Woche real World Probleme zu lösen, aufgegeben), Node.js, Code Igniter und endlich auch Git angeignet, um den "Workflow zu optimieren".

Dabei realisierte ich, daß ich nicht zur Avantgarde gehöre, da diese Techniken alle schon wieder 4 jahre alt sind und es 1000 "bessere" und "hippere" Paketmanager und Workflows gibt. Seis drum.

Da man in fast jedem JavaScript Plugin, oder ähnlichem, auf Github ein gruntfile.js findet, kam ich nicht umhin mir das einmal genauer zu betrachten und endlich zu verstehen, wie man CSS komprimiert, ohne jedes Leerzeichen und jeden Zeilenumbruch per Hand zu zu entfernen. (Nein ich habe das nicht gemacht!)

Das Aufsetzen von Grunt.js via Node.js Packet Installer npm war relativ simpel und die Beispiele im Netz sind meist einfach nachzuvollziehen und eigentlich immer die gleichen: Wie komprimiert man JS oder CSS? Dabei taucht öfter der CSS Preprozessor LESS als Beispiel auf.

Über LESS wird man auch schon gestolpert sein, wenn man Bootstrap.css in Verwendung hat, also lag es nahe für einen großen anstehenden Relaunch, bei allem Zeitdruck gleich noch eine neue Technik zu erlernen, die verspricht Zeit zu sparen.

Bis jetzt hat das Einrichten von Grunt und das lesen der Doku mehr Zeit in Anspruch genommen, als das schreiben von ausführlichen CSS Regeln.
Aber die Effizienz ist trotz Lernkurve schon spürbar und allein die Verwendung von Variablen ist schon unheimlich hilfreich.

Da LESS über verschiedene Wege kompiliert werden kann und im Notfall auch einfach die gerenderten CSS Dateien geändert werden können (falls man LESS nicht mehr nutzen will) denke ich, daß das es auf Dauer gesehen effizienteres Arbeiten ermöglicht. Es addiert erstmal einen weiteren Arbeitsschritt hinzu, der mehr benötigt, als einen Texteditor und FTP, aber ich glaube das kann man in gut in den Workflow integrieren.