clean_css.pl


Übersicht

clean_css.pl --help | --version

clean_css.pl [ --in IN ] [ --out OUT ] [ --encoding_in ENC_IN ] [ --encoding_out ENC_OUT ] [ --imageprefix IMAGEPREFIX ] [--verbose...] [--no_verbose]

Optionen

--version

Gibt kurze Hinweise zum Programm und die Version aus.

--help

Gibt eine kurze Hilfe aus.

--in IN

IN ist der Dateipfad der Eingabedatei (CSS-Datei) oder "-". "-" steht für die Standard-Eingabe und ist die Voreinstellung.

--out OUT

IN ist der Dateipfad der verkleinerten Ausgabedatei (CSS) oder "-". "-" steht für die Standard-Ausgabe und ist die Voreinstellung.

--encoding_in ENC_IN

Zeichenkodierung der Eingabe (CSS). Vorgabe ist "utf-8".

--encoding_out ENC_OUT

Zeichenkodierung der Ausgabe (CSS). Vorgabe ist "utf-8".

--imageprefix IMAGEPREFIX

Relative Verweise auf Bilder haben im CSS-Quelltext die Form url(PATH.SFX). PATH darf nicht mit http: oder / anfangen, und SFX ist eine der Dateinamensendungen jpeg, jpg oder png. In der Ausgabe wird IMAGEPREFIX vor PATH eingefügt.

Beschreibung

Das Perl-Skript clean_css.pl entfernt Kommentare und Leerzeichen aus einer CSS-Datei. Die CSS-Datei wird zeilenweise verarbeitet.

Es werden auch mehrzeilige Kommentare ("Block-Kommentare") entfernt. Eine Zeile, die mit beliebig vielen Leerzeichen und der Zeichenfolge "/*" beginnt und nicht die Zeichenfolge "*/" enthält, leitet einen Block-Kommentar ein. Eine Zeile, die nicht die Zeichenfolge "/*" enthält und mit der Zeichenfolge "*/" und beliebig vielen Leerzeichen endet, schließt einen Block-Kommentar ab.

Die Verarbeitung wechselt zwischen dem Block-Kommentar-Modus und dem Normal-Modus. Sie beginnt im Normal-Modus. Im Normal-Modus durchläuft jede Zeile die folgenden Verarbeitungsschritte:

Im Block-Kommentar-Modus wird nur geprüft, ob die Zeile den Block-Kommentar abschließt. Falls ja, wechselt die Verarbeitung in den Normal-Modus.

Software-Voraussetzungen

Das Skript setzt voraus, daß Perl verfügbar ist. Es wird eine Version ab 5.10 angenommen.

Die Befehlszeilen-Argumente werden mit Hilfe des Moduls Herbaer::Readargs gelesen.

Bugs

Kommentare, die sich über mehr als eine Zeile erstrecken und nicht Block-Kommentare wie oben beschrieben sind, werden nicht erkannt.

Eine existierende Datei unter dem Pfad OUT (s. --out) wird ohne Warnung überschrieben.

Die Vorgaben der Optionen können nicht durch eine Konfigurationsdatei geändert werden.