Ratiocinator: CSS-Trashman wirft überflüssige Stylesheets raus

CSS-Code wächst bei vielen Projekten mit der Zeit und wird selten bereinigt. Das will Joe Nelson mit seinem Dienst CSS Trashman(öffnet im neuen Fenster) ändern. Er steht in einer Betaversion zur Verfügung und soll aus einer URL den für die jeweilige Webseite optimalen CSS-Code erzeugen. Noch klappt das aber nicht ganz.
CSS Trashman basiert auf der von Nelson entwickelten Open-Source-Bibliothek Ratiocinator(öffnet im neuen Fenster) . Während andere CSS-Optimierer die CSS-Angaben analysieren und optimieren, geht Nelson mit Ratiocinator einen ganz anderen Weg. Dieser erstellt aus dem DOM der gerenderten Webseite den für die Darstellung notwendigen CSS-Code. Dazu kommt das auf Webkit basierende PhantomJS zum Einsatz, das den Quelltext einer Webseite rendert und zugleich eine Liste der letztendlich dargestellten Styles erzeugt. Diese nutzt Ratiocinator und entfernt unnötige Doppelungen. Danach werden noch die Standard-Styles des Browsers abgezogen und anschließend die Styles konsolidiert. Dabei wird nach CSS-Eigenschaften im DOM gesucht, die mehrfach vorkommen, so dass mit verschachtelten Klassen der Code reduziert werden kann. So soll am Ende möglichst kompakter CSS-Code entstehen, mit dem sich die Webseite in identischer Form rendern lässt.
Noch gibt es aber einige Probleme: So werden Angaben zu Höhe, Breite und Rändern von Elementen in festen Pixelwerten angegeben, was nicht optimal ist. Auch wird derzeit kein Code für Pseudoelemente wie :hover oder :visited erzeugt. Auch Media-Queries werden nicht unterstützt.
Nelson hofft daher auf Mithilfe und meint damit in erster Linie Fehlerberichte. Aber auch Entwickler, die helfen wollen, die bekannten Probleme zu lösen, sind willkommen.



