Co to jest csscss
csscss to narzędzie, które dokładnie przeanalizuje każdy plik CSS, jaki mu przekażesz i poinformuje Cię o wszystkich znajdujących się w nim duplikatach deklaracji CSS.
Do czego to służy
Jedną z najważniejszych czynności dotyczących utrzymania kodu CSS jest pozbycie występujących w nim duplikatów deklaracji. Nie jest to może panaceum, ale z pewnością pomaga otrzymać lepszej jakości kod, którego po prostu jest mniej.
Aby pozbyć się powtórzeń kodu CSS, trzeba pamiętać wszystko, co kiedykolwiek wpisało się w arkuszu stylów. To bardzo trudne i dlatego powstało narzędzie csscss. Odwali ono za ciebie brudną robotę, a ty zamiast ślęczeć nad kodem możesz cieszyć się życiem.
Sposób użycia
Najpierw narzędzie trzeba zainstalować. Obecnie dostępne jest jako gem Ruby:
$ gem install csscss
Uwaga: csscss działa tylko z Ruby 1.9.x i nowszymi. W Ruby 1.8.x są problemy i nie należy go z tą wersją języka używać.
Po zainstalowaniu narzędzie można uruchomić w wierszu poleceń podając mu ścieżkę do pliku CSS, który ma zostać poddany analizie.
$ csscss sciezka/do/pliku.css sciezka/do/innego-pliku.css
{.contact .content .primary} and {article, #comments} share 5 rules
{.profile-picture}, {.screenshot img} and {a.blurb img} share 4 rules
{.work h2:first-child, .archive h2:first-child, .missing h2:first-child, .about h2, .contact h2} and {body.home h2} share 4 rules
{article.blurb:hover} and {article:hover} share 3 rules
Można też włączyć tryb pełny, aby otrzymać listę wszystkich duplikatów stylów.
$ csscss -v sciezka/do/pliku.css
Narzędzie csscss działa też na plikach zdalnych. Wystarczy mu podać adres URL wybranego pliku.
$ csscss -v http://przyklad.pl/css/main.css
Można też określić minimalną liczbę dopasowań, co spowoduje że duplikaty o mniejszej liczbie wystąpień będą ignorowane.
$ csscss -n 10 -v sciezka/do/pliku.css # ignoruje style powtarzające się mniej niż 10 razy
Jeśli używasz języka SASS, to analizie możesz poddać także pliki sass i scss.
$ gem install sass
$ csscss sciezka/do/pliku.scss
Pliki programu dostępne są do pobrania w serwisie GitHub na licencji MIT.