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]
--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.
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:
/*
" bis zur nächsten Zeichenfolge "*/
" einschließlich wird durch ein Leerzeichen ersetzt.;
") werden entfernt.";
" folgt, werden durch ein einzelnes Leerzeichen ersetzt.{
") werden entfernt.}
") werden entfernt.:
" werden entfernt.:
" werden entfernt.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.
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.
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.