Alle posts tagged mit Javascript

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.

$inpath     =  '/var/www/www.domain.de/css_raw';
$outpath    =  '/var/www/domain.de/css';

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 link="http://www.devilweb.de/wp-content/uploads/2011/03/js_minimizer.zip" smalltext="js_minimizer.zip 24 kB"]Download JS-Minimizer[/download]
[download link="http://www.devilweb.de/wp-content/uploads/2011/03/css_minimizer.zip" smalltext="css_minimizer.zip 24 kB"]Download CSS-Minimizer[/download]