M.: Tool um doppelte CSS-Eigenschaften zu eliminieren

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

--
42
  1. 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

    1. 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.

      --
      42