1. Wichtige Notiz
  2. Minifikation
    1. Leerzeichen
    2. Zahlen
    3. Farben
    4. Selektoren, benutzerdefinierte Eigenschaften, Animationsnamen
    5. Leere Regeln
  3. Argumente der ausführbaren Datei
    1. Hilfe anzeigen
    2. Aktuelle Konfiguration anzeigen
    3. Konfigurationsdatei erstellen
    4. Pfad der Konfigurationsdatei festlegen
    5. Standard-Ausgabe
    6. Eingabedatei festlegen
    7. Ausgabeordner festlegen
  4. Konfigurations-Datei
    1. Header [general]
      1. Listeneinstellungen
      2. Zeichenketten­einstellungen
      3. Boolesche Einstellungen
    2. Header [css]
      1. Listeneinstellungen
      2. Boolesche Einstellungen
  5. PHP-Include-Datei
  6. Minifikation im laufenden Betrieb
WICHTIGE NOTIZ:

Sollte eine bestimmte Funktion für Sie nicht ordnungsgemäß funktionieren, deaktivieren Sie diese in der Konfigurationsdatei und melden einen Fehler.

Seien Sie vorsichtig beim Verwenden der Attributselektoren, wenn Sie ID- und Klassennamen-Minifikation verwenden.

HSPP sollte korrekt funktionieren mit der Zeichenkodierung UTF-8, sowie solchen, die eine Teilmenge davon darstellen. Auch sollten 8-Bit-Kodierungen wie ISO 8859-x und windows-125x kein Problem darstellen.

HSPP unterstützt bisher keine Quellenzuordnung (Source-Mapping).

Minifikation

Leerzeichen

Alle optionalen Leerzeichen werden entfernt.

Zahlen

Führende und nachfolgende Nullen werden entfernt (nachfolgende nur bei Zahlen mit einem Dezimalpunkt).
Beispiele:
000.500.5
001.0001
Wenn möglich wird die wissenschaftliche Notation verwendet (nur wenn die Zahl dadurch kürzer wird).
Beispiele:
1000001e5
1230000123e4
1010 (nicht 1e1!)
100100 (nicht 1e2!)

Farben

Hexadezimal-Farbangaben werden (wo möglich) gekürzt.
Beispiele:
#aabbcc#abc
#aabbccdd#abcd
rgb() und rgba() -Funktionen werden in Hexadezimal-Farbangaben umgewandelt.
Beispiele:
Falls der Alpha-Kanal nicht oder auf 100% eingestellt ist, wird jede der folgenden Funktionen
rgb(51, 102, 153)
rgb(20%, 40%, 60%)
rgb(51, 102, 153, 1)
rgb(20%, 40%, 60%, 1)
rgb(51, 102, 153, 100%)
rgb(20%, 40%, 60%, 100%)
rgb(51 102 153)
rgb(20% 40% 60%)
rgb(51 102 153 / 1)
rgb(20% 40% 60% / 1)
rgb(51 102 153 / 100%)
rgb(20% 40% 60% / 100%)
#369 ergeben.
Falls use_rgba_hex_notation deaktiviert und Alpha < 100% ist, wird jede der folgenden Funktionen
rgb(51, 102, 153, 0.5)
rgb(20%, 40%, 60%, 0.5)
rgb(51, 102, 153, 50%)
rgb(20%, 40%, 60%, 50%)
in rgb(51,102,153,.5) resultieren
und jede
rgb(51 102 153 / 0.5)
rgb(20% 40% 60% / 0.5)
rgb(51 102 153 / 50%)
rgb(20% 40% 60% / 50%)
in rgb(51 102 153/.5).
Falls use_rgba_hex_notation aktiviert und Alpha < 100% ist, wird jede der folgenden Funktionen
rgb(51, 102, 153, 0.5)
rgb(20%, 40%, 60%, 0.5)
rgb(51, 102, 153, 50%)
rgb(20%, 40%, 60%, 50%)
rgb(51 102 153 / 0.5)
rgb(20% 40% 60% / 0.5)
rgb(51 102 153 / 50%)
rgb(20% 40% 60% / 50%)
in #3366997f resultieren.
Das Minifikationsverhalten für die Funktionen rgb() und rgba() ist dasselbe.

Selektoren, benutzerdefinierte Eigenschaften, Animationsnamen

ID- und Klassen-Selektoren, benutzerdefinierte Eigenschaften und Animationsnamen werden minimiert, wenn die entsprechenden Einstellungen aktiviert sind (minify_ids, minify_class_names, minify_custom_properties, minify_animation_names).
Attributselektorwerte werden (wo möglich) ohne Anführungszeichen geschrieben.
Keyframes-Selektoren werden gekürzt.
Beispiele:
#some-id {...}#a{...}
.some-class {...}.a{...}
--some-color: #abc--a:#abc
color: var(--some-color)color:var(--a)
@keyframes fade-in {...}@keyframes a{...}
animation-name: fade-inanimation-name:a
input[type="text"] {...}input[type=text]{...}
from {...}0%{...}
100% {...}to{...}
Die vom Namensgenerator erstellten Namen bestehen aus Klein-/Großbuchstaben und Ziffern, wobei das erste Zeichen immer ein Buchstabe ist.

Leere Regeln

Wenn remove_empty_rules aktiviert ist, werden leere Regeln entfernt.
Beispiel für eine leere Regel:
.some-class > img { }

Argumente der ausführbaren Datei

Konfigurations-Datei

Es wird keine Konfigurationsdatei mit der ausführbare Datei mitgeliefert. Befindet sich in dem Verzeichnis, in dem sich die ausführbare Datei befindet, keine Konfigurationsdatei, verwendet HSPP die Standardkonfiguration.
Verwenden Sie das Argument --config-info, um die aktuelle Konfiguration anzuzeigen.
Verwenden Sie das Argument --create-config-file, um eine Konfigurationsdatei zu erstellen. Die Konfigurationsdatei wird im Verzeichnis erstellt, in dem sich die ausführbare Datei von HSPP befindet.
Diese Option kann außerdem verwendet werden, um die Konfigurationsdatei auf die Standardeinstellungen zurückzusetzen, sofern sie bereits vorhanden ist.
Falls die Konfigurationsdatei bereits existiert, wird HSPP nachfragen, ob Sie die bestehende Datei überschreiben wollen.
Die Konfigurationsdatei ist in Abschnitte unterteilt, welche konfigurierbare Optionen enthalten. Jeder Abschnitt beginnt mit einem Header. Zu einem solchen Header gehören Optionen, die ihm folgen. Beispielsweise gehören alle Optionen, die auf den Header [general] folgen, zu diesem Header, bis der nächste Header oder das Dateiende erreicht ist.

Kommentare

# startet einen Kommentar, der am Ende der Zeile endet.

Kommentare werden beim einlesen der Konfigurations-Datei übersprungen (d.h. nicht als Konfigurations-Daten ausgewertet). Kommentare können zur Beschreibung der Konfiguration verwendet werden. Sie sind aber auch nützlich, wenn Sie eine Option vorübergehend deaktivieren oder auf andere Daten umschalten möchten, die Daten jedoch für eine spätere Verwendung aufbewahren möchten.
Das Kommentarzeichen kann an einer beliebigen Stelle in der Konfigurationsdatei verwendet werden. Folglich dürfen Datei-/Verzeichnispfade dieses Zeichen nicht enthalten, da die Pfadzeichenfolge ansonsten nicht vollständig eingelesen werden kann. Dieses Verhalten kann sich in zukünftigen Versionen von HSPP durch die Verwendung von Zeichenfolgen in Anführungszeichen ändern.

Header [general]

Listen-Einstellungen
Akzeptierte Werte: Dateinamen-Erweiterungen getrennt durch Leerzeichen (einschließlich führender Punkt)

Zeichenketten-Einstellungen

Diese Pfade werden verwendet, wenn keine Pfade über die Befehlszeile übergeben wurden. Entsprechende Befehlszeilenoptionen -i und -o setzen die Pfad-Einstellungen der Konfigurations-Datei außer Kraft.
Die letzten vier Einstellungen sind nur dann von Bedeutung, wenn create_php_include_file aktiviert ist.

Boolesche Einstellungen

Akzeptierte Werte: on / off

Header [css]

Listen-Einstellungen

Akzeptierte Werte: Durch Leerzeichen getrennte Begriffe

Boolesche Einstellungen

Akzeptierte Werte: on / off

PHP-Include-Datei

Wenn create_php_include_file und mindestens eine der Einstellungen minify_ids, minify_class_names, minify_custom_properties, minify_animation_names aktiviert sind, wird eine PHP-Include-Datei im Ausgabeverzeichnis erstellt.
Beispiel für den Inhalt von PHP-Include-Dateien:
${php_class_array_name} = array( '[initial-name]' => '[replacement-name]', 'some-class-1' => 'a', 'some-class-2' => 'b', 'some-class-3' => 'c', ... );
PHP-Include-Datei einbauen:
include 'hspp.php';
Verwenden von Namensarrays um Namen zu ersetzen:
<body class="<?=${php_class_array_name}['initial-name'];?>">
while (...) { echo '<div class="'.${php_class_array_name}['initial-name'].'">...</div>'; }

Minifikation im laufenden Betrieb

Wenn Sie Root-Zugriff auf Ihren Server haben, können Sie HSPP Ihre Stylesheets im laufenden Betrieb minimieren lassen.
Mit PHP kann dies mithilfe von Programmausführungs­operator (Backticks) und exec() oder shell_exec()-Funktionen erreicht werden.
Beispiel mit dem Ausführungsoperator auf einem unixoiden System:
echo `./hspp -i/path/to/some/file.css --stdo`;
Letzte Aktualisierung: 04.03.2023
Datenschutzerklärung
© 2019-2020
Waldemar Zimpel