CSS-Minimizer Javascript-Minimizer

Das eigentliche Script zum komprimieren der Dateien ist sehr leicht zu verstehen, es wird bei Bedarf von mir ausgeführt. Einfach das Ursprungsverzeichnis und das Zeilverzeichnis konfigurieren und gut ist.

So sieht es bei mir aktuell aus(/usr/scripting/minimize_css.pl)

#!/usr/bin/perl

$inpath     =  '/tmp/test';
$outpath    =  '/tmp/test/output';



opendir(DIR,$inpath) || die "$inpath: $!";
my @Dateien = readdir(DIR);
closedir(DIR);

foreach(@Dateien) {
   if($_ =~ /.+.css/) {

          use CSS::Minifier qw(minify);
                open(INFILE, '< '.$inpath.'/'.$_) or die('Fehler beim oeffnen der css-files');
                open(OUTFILE, '> '.$outpath.'/'.$_) or die('Fehler beim erstellen der css-files');

                minify(input => *INFILE, outfile => *OUTFILE);
                close(INFILE);
                close(OUTFILE);
   }
}

Lediglich die erste Installation des Perl-Scripts oder eines Perl-Scripts allgemein, war für mich etwas neues. Das Verzeichnis habe ich nach /usr/scripting/CSS-Minifer/ bzw. /usr/scripting/CSS-Minifer/minimize_css.pl kopiert.
Hier kurz die Schritte zum Generieren der .pl-Datei und der Installation:

root@server01:/usr/scripting/CSS-Minifer$  perl Makefile.PL
......Writing Makefile for CSS::Minifier

root@server01:/usr/scripting/CSS-Minifer$  make

root@server01:/usr/scripting/CSS-Minifer$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/CSS-Minifier.t .. ok
All tests successful.
Files=1, Tests=4,  0 wallclock secs ( 0.03 usr  0.00 sys +  0.06 cusr  0.00 csys =  0.09 CPU)
Result: PASS

root@server01:/usr/scripting/CSS-Minifer$ make install
Installing /usr/local/share/perl/5.10.1/CSS/Minifier.pm
Installing /usr/local/man/man3/CSS::Minifier.3pm
Appending installation info to /usr/local/lib/perl/5.10.1/perllocal.pod

Soweit der Abschnitt zum Perl. Jetzt noch die Pfade anpassen in der minimize.pl-Datei anpassen, die Datei selbst für das Linux System ausführbar machen und einen Testlauf machen:

root@server01: nano /usr/scripting/minimize_css.pl
root@server01: chmod +x /usr/scripting/minimize_css.pl
root@server01: /usr/scripting/minimize_css.pl

In meinem Fall gab es nun noch ein paar Probleme mit den Benutzerrechten, der Zielordner gehörte ja www-data und das Perl-Script konnte die komprimierten CSS- und Javascript-Dateien nicht in den Zielordner kopieren. Dies löste ich, indem ich das Script/Programm einfach als anderer Benutzer ausführte (in meinem Fall www-data).

Download:

Download JS-Minimizer [24kB]

Download CSS-Minimizer[24kB]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.