Less ist eine feine Sache, um CSS schneller zu entwickeln: Variablen, Funktionen und Verschachtelungen machen Stylesheets übersichtlicher und kürzer. Das Frontend-Framework „Bootstrap von Twitter“ arbeitet zum Beispiel ebenfalls mit Less und das benutze ich zur Zeit sehr gerne, um Layouts zu erstellen. Das Problem ist nur, dass Less in der Regel per JavaScript in CSS kompiliert wird. Das geht serverseitig per node.js – das kann ich bei mir leider nicht installieren. Oder es geht clientseitig. Dann hängt die schlichte Formatierung der Seite davon ab, dass JavaScript funktioniert. Mit lessphp kann man das aber auch bei Bedarf PHP erledigen lassen.
Ich hatte die Client-Lösung eigentlich für ganz okay gehalten. Die scheint aber wirklich nur in den allerneusten Browsern überhaupt und nur auf schnellen Rechnern auch noch flott zu funktionieren. Es war ein wenig nervig nach der Arbeit am less immer daran zu denken, dass ich wieder eine statische Version erstelle. Eine dauerhafte Lösung musste her, die nicht vom Browser abhängig ist. lessphp ist nun eine einfache PHP Klasse, die sich leicht zum Beispiel in WordPress integrieren lässt:
- Herunterladen
- Entpacken
- Ich habe die Dateien dann in wp-content/themes/MeinTheme/lib/lessphp/ abgelegt.
- Dazu habe ich ein Verzeichnis angelegt: wp-content/themes/MeinTheme/css/
- In dem Verzeichnis liegt meine style.less, die ich bearbeite und ich habe eine leere style.css angelegt und mit Schreibrechten (777) versehen.
- Und dann habe ich in der header.php folgenden Code eingefügt:
<?php require "lib/lessphp/lessc.inc.php"; $less = new lessc; $less->checkedCompile(get_template_directory()."/css/style.less", get_template_directory()."/css/style.css"); ?> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/style.css">Voila!
lessphp schaut jetzt immer nach, ob die style.less neuer ist als die style.css und kompiliert sie nur dann neu. Dadurch erspar ich den Besuchern den Download der JavaScript-Version von less und das Rendern im Browser.
Schreibe einen Kommentar