2009-05-12 3 views
6

Ich bin dabei, ein paar separate asp.net-Anwendungen zu nehmen und sie zu kombinieren.Vergleich und Rationalisierung von CSS - nicht Datei oder diff basiert

Ein Problem ist die Rationalisierung der CSS zwischen den beiden App - app1 hat zwei CSS-Dateien, während App2 etwa 8 von ihnen hat. Ein Großteil des CSS zwischen den beiden Apps ist gleich, aber es gibt einige Unterschiede. Ich suche nach einem Werkzeug, um alle Elemente jeder App zu vergleichen und zu zeigen, was fehlt, was anders ist, usw. Idealerweise würde die Ausgabe 3 Dateien sein: Allgemein, app1 und app2, aber ich werde nicht so wählerisch sein, wenn es das ist kann mir nur die Unterschiede zwischen den beiden Apps zeigen.

Gibt es ein solches Tool?

Antwort

0

Normalerweise würde ich diff empfehlen. Da Sie explizit schreiben, dass Sie nach etwas suchen, das "nicht diff-basiert" ist, könnten Sie vielleicht beschreiben, warum diff Ihnen nicht hilft.

Dann könnten andere etwas anderes vorschlagen.

+2

Diff wird nicht funktionieren, weil es File- und ist zeilenorientiert . Say App1 hat 50 CSS-Elemente in 2 verschiedenen Dateien. App2 hat 60 Elemente in 8 verschiedenen Dateien. Ich muss sehen, wie viele der 50 Elemente gleich sind, wie viele unterschiedlich sind und wie viele nicht existieren. – chris

+0

Das ist, was ich schon lange gesucht habe. Ich denke, ich werde es am Ende selbst schreiben und es als einen automatisierten Online-Service verkaufen. :) – dimitarvp

1

Ich kenne kein eigenständiges Tool, das speziell für diesen Zweck entwickelt wurde. Es gibt a PHP class called "CSS Comparer", aber ich habe keine Ahnung, wie einfach es zu benutzen ist. Der Screenshot auf dieser Seite sieht jedoch vielversprechend aus.

Persönlich würde ich wahrscheinlich nur alle Dateien miteinander verketten, so dass Sie eine Datei für jede Anwendung haben, und dann ein Diff auf ihnen ausführen. Um es noch einfacher zu machen, könnten Sie beide Dateien durch etwas wie CSSTidy laufen lassen oder eine einfallsreiche Dateiverarbeitung mit Suchen/Ersetzen und Sortieren durchführen. Das könnte alle Deklarationen in der gleichen Reihenfolge in beiden Dateien enthalten, so dass der Unterschied klarer wäre.

1

Kombinieren Sie alle diese Dateien in einer einzigen Datei und führen Sie sie durch einen CSS-Optimierer oder -Kompressor. Ein Optimierer sollte alle Ihre doppelten Selektoren sehen und sie aussortieren.

Ich würde YUI's Kompressor empfehlen, aber es gibt auch viele webbasierte Kompressoren/Optimierer. Here's one und another. YMMV mit ihnen, aber eine gute Google-Suche kann eine Menge mehr auftauchen.

2

Wenn Sie den Download-Tools hassen, gibt es eine Online-Version von CSS comparer hier http://www.alanhart.co.uk/tools/compare-css.php

Es bietet einen Vergleich von CSS-Klasse-Dateien zwischen zwei Dateien

+0

Es zeigt keine Unterschiede für ein paar ziemlich komplexe CSS-Dateien, in die ich einen Unterschied eingeführt habe, und es funktioniert nicht einmal für ein triviales Paar von Dateien. Zumindest bei letzterem wird "Class not found" angezeigt, was wahrscheinlich eine Fehlermeldung in die Ausgabe ist. –

Verwandte Themen