Tool um doppelte CSS-Eigenschaften zu eliminieren
M.
- css
Mahlzeit,
System: Debian/Squeeze 64
Kennt wer ein Tool, das mir aus verschiedenen CSS-Dateien doppelte Eigenschaften entfernt.
Es geht mir darum, dass ich die Dateigrössen einschrumpfe.
Ich kann mir natürlich was programmieren, in Bash o.ä., aber bevor ich das Rad neu erfinde, nehm ich lieber was, was es schon gibt. ;)
Und nein, die div. Browsertools, die mir anzeigen, welche Eigenschaften aktiv sind und welche überschrieben wurden, sind keine Alternative, da ich dann wieder per Hand jede einzelne doppelte Eigenschaft löschen muss, das will ich ja grad nicht.
thx4hlp
Hallo,
Was ist eine doppelte CSS-Eigenschaft? Was sind die Kriterien für eine programmatische Erkennung?
Ob eine Eigenschaft doppelt ist, lässt sich oft nur feststellen, wenn *sämtliches* Markup bekannt ist, worauf die CSS-Regeln angewandt werden. Das ist schwierig, wenn Markup dynamisch generiert bzw. verändert wird.
Im Allgemeinen gibt es verschiedene Tools mit verschiedener Basis und Arbeitsweise:
Client-side JavaScript: https://github.com/geuis/helium-css
Node/Grunt: https://github.com/addyosmani/grunt-uncss
Node: https://npmjs.org/package/ucss
Python: https://pypi.python.org/pypi/mincss
Ruby: https://github.com/aanand/deadweight
Firefox addons:
https://addons.mozilla.org/en-US/firefox/addon/css-usage/
https://addons.mozilla.org/en-US/firefox/addon/dust-me-selectors/
Online:
http://gtmetrix.com/remove-unused-css.html
http://unused-css.com/
Die zielen aber meist darauf ab, *ungenutzte* Regeln zu erkennen; insofern weiß ich nicht, ob sie dir weiterhelfen können.
Grüße,
Mathias
Mahlzeit,
Was ist eine doppelte CSS-Eigenschaft? Was sind die Kriterien für eine programmatische Erkennung?
Ganz einfach. Wenn ein Selektor in mehreren Dateien den gleichen Wert zugewiesen bekommt. Es reicht, wenn erkannt wird, ob exakt der gleiche Selektor doppelt genutzt wird.
Ob eine Eigenschaft doppelt ist, lässt sich oft nur feststellen, wenn *sämtliches* Markup bekannt ist, worauf die CSS-Regeln angewandt werden. Das ist schwierig, wenn Markup dynamisch generiert bzw. verändert wird.
Das ist in meinem Fall kein Problem. Das Markup ist immer gleich. Ich binde nur, je nach Hostnamen des Client, verschiedene CSS-Dateien ein. Und da ich diese CSS-Dateien erstmal kopiere und dann an den jeweiligen Rechner anpasse, kann es vorkommen, dass in der Default-CSS Slektoren sind, die dann in den speziellen Dateien nochmal mit den gleichen Werten überschrieben werden.
Die zielen aber meist darauf ab, *ungenutzte* Regeln zu erkennen; insofern weiß ich nicht, ob sie dir weiterhelfen können.
Danke für die Links, die kann ich für andere Dinge schon brauchen, aber für mein aktuelles Problem helfen die leider nix.