Przejdź do treści
100% lokalnie

Sortowanie klas Tailwind

Uporządkuj klasy utility w atrybutach class/className w zalecanym porządku Tailwind.

Wejście
Wynik

Sortowanie klas Tailwind

Wklej HTML lub JSX, a to narzędzie zmieni kolejność klas w każdym atrybucie class i className, aby odpowiadały zalecanemu porządkowi Tailwind CSS – takim samym porządkiem kategorii, jakie stosuje oficjalny prettier-plugin-tailwindcss: najpierw layout i pozycjonowanie, potem flexbox i grid, odstępy, rozmiary, typografia, tła, obramowania, efekty i tak dalej, z wariantami responsywnymi i stanowymi (hover:, sm:, dark:) umieszczonymi po podstawowej utility, którą modyfikują. Spójny porządek zmniejsza różnice i ułatwia przegląd pull requestów, ponieważ dwaj programiści, którzy napiszą "flex p-4 text-white" i "text-white p-4 flex", skończy się identycznym wyjściem.

Wybierz, czy chcesz przetwarzać cały wklejony dokument – skanując każdy atrybut class i className, który znajdzie – czy potraktować wejście jako jedną samodzielną listę klas bez niczego wokół. Niestandardowe klasy (twoje klasy komponentów, nazwy utility z frameworka CSS, których to narzędzie nie rozpoznaje) są utrzymywane razem na początku lub na końcu każdej listy, zamiast być rozproszone. Włącz "Usuń zduplikowane klasy", aby usunąć dokładne powtórzenia, i "Ostrzegaj o klasach, które się wykluczają", aby oznaczyć pary takie jak p-4 i p-2 lub block i hidden, które się nawzajem zastępują przy wspólnym zastosowaniu – liczba pojawi się w żywym liczniku poniżej wyjścia. "Grupuj warianty responsywne razem" skupia wszystkie klasy sm:, md: i lg: na końcu zamiast przeplatania każdej obok jej nieprefixowanego odpowiednika, co niektóre zespoły preferują do szybkiego skanowania.

Klasy wewnątrz szablonu zawierającego wyrażenie JavaScript, takie jak className={`flex \${isActive ? 'bg-red-500' : 'bg-blue-500'} p-4`}, są domyślnie pozostawiane niezmienione, ponieważ narzędzie nie może wiedzieć, co zmienna wyświetli w czasie wykonywania – wyłącz "Nie zmieniaj dynamicznych klas w wyrażeniach szablonów", aby zamiast tego sortować wokół nich, traktując każde wyrażenie jako nieprzezroczysty token. Wyjście jako zmodyfikowany kod źródłowy, gotowy do wklejenia z powrotem do edytora, lub jako czysta posortowana lista, jeden na linię.

Wszystko działa lokalnie w twojej przeglądarce – HTML, JSX lub lista klas, którą wkleisz, nigdy nie jest nigdzie wysyłana. Gdy skończy się, skopiuj wynik, pobierz go jako plik .txt lub wyślij wyjście z powrotem do wejścia, aby uruchomić inne narzędzie.

Częste pytania

W jakim porządku sortuje klasy?
W takim samym zalecanym porządku kategorii jak oficjalny plugin Tailwind: layout, flexbox/grid, odstępy, rozmiary, typografia, tła, obramowania, efekty, filtry, przejścia, transformacje i interaktywność, z modyfikatorami takimi jak hover: i sm: umieszczonymi po podstawowej klasie, którą modyfikują.
Działa z JSX i szablonami, a nie tylko ze zwykłym HTML?
Tak. Rozpoznaje class="…", className="…" i className={`…`} szablony. className ustawiane ze zmiennej lub wywołania funkcji takiej jak clsx(…) nie można bezpiecznie przeanalizować i pozostaje jak jest.
Co liczy się jako klasa "niestandardowa"?
Każda klasa, którą narzędzie nie rozpoznaje jako utility Tailwind – twoje własne klasy komponentów lub klasy z wtyczki, którą to narzędzie nie obejmuje. Klasy niestandardowe zachowują względny porządek i są umieszczone na początku lub na końcu listy na podstawie wybranej opcji.
Jak wykrywa klasy w konflikcie?
Oznacza typowe przypadki: dwie klasy, które ustawiają tę samą właściwość opartą na skali (takie jak p-4 i p-2) oraz wzajemnie wykluczające się słowa kluczowe (takie jak block i hidden lub text-left i text-right) stosowane z tymi samymi modyfikatorami. Nie jest to wyczerpujący linter, ale wyłapuje klasy, które najczęściej się wkradają.
Czy mój kod jest gdzieś wgrany?
Nie. Sortowanie klas działa całkowicie w twojej przeglądarce – HTML, JSX lub lista klas, którą wkleisz, nigdy nie opuszcza twoje urządzenie.