CSS::Compressor - Schnelle und effiziente CSS Komprimierung

| | Kommentare (0)

CSS::Compressor - Perl extension for CSS minification, ein Perl-Port des bekannten Yahoo YUICompressor, bietet eine effiziente Kompression von CSS-Dateien und startet sehr viel schneller als sein Vorbild.

Das Modul CSS::Compressor wurde eigentlich für den internen Gebrauch von Booking.com entwickelt und nun als Open Source Software veröffentlicht.

 

Beispiel

Das folgende Beispielprogramm nimmt Dateinamen auf der Kommandozeile entgegen, liest den Inhalt der CSS-Datei mit File::Slurp in eine skalare Variable ein, komprimiert das CSS mit css_compress() und schreibt das Ergebnis in eine neue Datei.

#!/usr/bin/perl 
use warnings;
use strict;

use CSS::Compressor qw( css_compress );
use File::Slurp;

my @css_files = @ARGV;

foreach my $css_file (@css_files) {
    my $big      = read_file($css_file);
    my $small    = css_compress $big;
    my $out_file = $css_file;
    $out_file    =~ s#css$#min-css#is;
    write_file( $out_file, $small );
}

Aufruf/Verwendung:

$ chmod 755 css.pl
$ ./css.pl ./css_tests/*.css

 

Geschwindigkeitsvergleich

Die angepriesene deutliche Geschwindigkeitsverbesserung kann unter Linux einfach mit Bordmitteln nachgeprüft werden:

$ time ./css.pl ./css_tests/*.css
$ time yui-compressor -o '.css$:-min.css' ./css_tests/*.css

Auf meinen Testservern (Ubuntu 12.04) läuft CSS::Compressor 30 bis 40% schneller als YUICompressor.

 

Siehe auch:

 

Jetzt kommentieren

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Thomas Fahle vom 27.12.12 11:51.

Perl Advent(ures) 2012 ist der vorherige Eintrag in diesem Blog.

String::Dump - Was genau ist in einem String enthalten ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Blog Roll

Powered by

Powered by Movable Type 5.2.10

Creative Commons-Lizenz

Creative Commons License
Dieses Weblog steht unter einer Creative Commons-Lizenz.