Das sieht nun so aus:
Code: Alles auswählen
@import url("normalize.css?hash=48eb3f89");
@import url("base.css?hash=3a7fafb1");
@import url("utilities.css?hash=1034bac8");
@import url("common.css?hash=70bd1301");
@import url("links.css?hash=da040ebb");
@import url("content.css?hash=d7d65e66");
@import url("buttons.css?hash=15c14833");
@import url("cp.css?hash=5cc9ac0c");
@import url("forms.css?hash=18ee8211");
@import url("icons.css?hash=dbc0f3b9");
@import url("colours.css?hash=3b03ccfa");
@import url("responsive.css?hash=438ff202");
Die bisherige Strategie war, dass man nur beim Einbinden der Stylesheets in HTML-Template einen fortlaufende Nummer ergänzt hat, die beim Löschen des Board-Cache hochgezählt wurde.
Quelltext in prosilver:
Code: Alles auswählen
<link href="{T_STYLESHEET_LINK}" rel="stylesheet">
Code: Alles auswählen
<link href="./styles/prosilver/theme/stylesheet.css?assets_version=102" rel="stylesheet">
@import
-Befehls sorgt nun dafür, dass wie bei ?assets_version=102
geänderte Dateien als geändert markiert und von allen Browser frisch geladen werden. Was ist nun anders?
In der stylesheet.css wird nun im Import-Befehl der Hash-Wert (CRC32 Hash) der jeweiligen Datei ergänzt. Dies wird automatisch beim Bauen der Pakete erstellt. Das erspart den Entwicklern das manuelle Ändern der Werte, was man z. B. durch ein Ergänzen von der Version
?v=3.3.1
gehabt hätte, insbesondere wenn sich CSS-Dateien zwischen den einzelnen Releases nicht ändern.Was bedeutet das für die Style-Autoren und Benutzer?
Es gibt nun mehrere Optionen, die man als Style-Autor hat:
- Ebenfalls einen Hash der einzelnen Datei bilden und dort ergänzen. Den Hash kann z. B. mit 7-zip erstellen (Rechtsklick > CRC SHA > CRC-32) und dort eintragen (siehe Screenshots)
- Anstelle von
?hash=438ff202
kann auch jede beliebige alphanumerische Zeichenkette verwendet werden und so kann man z. B. statt:@import url("responsive.css?hash=438ff202");
einfach@import url("responsive.css?v=3.3.1");
oder@import url("responsive.css?v=style1");
schreiben. - Anstelle die stylesheet.css als
@import
-Datei zu nutzen und nur diese im Kopf der overall_header einzubinden, kann man alle Stylesheet-Dateien direkt einbinden und per?assets_version={T_ASSETS_VERSION}
das Neuladen erzwingen. - Wenn man auf den Bug-Fix verzichten möchte, kann man den Suffix auch einfach weglassen und nur
@import url("responsive.css");
schreiben.
Bilder:
Schritt 1: Schritt 2: