Ładna drukarka HTML wiersza polecenia: sprawianie, że niechlujny HTML będzie czytelny [zamknięte]

106

Szukam rekomendacji dla ładnych drukarek HTML, które spełniają następujące wymagania:

  • Pobiera HTML jako dane wejściowe, a następnie wyświetla ładnie sformatowaną / poprawnie wciętą, ale „graficznie równoważną” wersję danego wejściowego kodu HTML.
  • Musi obsługiwać działanie wiersza polecenia.
  • Musi być open source i działać pod Linuksem.
knorv
źródło
5
Inne opcje to pup(bez argumentów) xmllint --format --html -, i xml fo --html.
nisetama
1
curl httpbin.org | tidy -im
Fabijan Bajo
Ponadto: hxnormalize from html-xml-utils (Debian)
elig.
related: stackoverflow.com/questions/16090869/ ... możesz również zajrzeć do Narzędzi XML
Alex
1
Mam problemy ze zrozumieniem, dlaczego jest to uważane za nie na temat, szczerze ...
Victor Schröder

Odpowiedzi:

90

Spójrz na HTML Tidy Project: http://www.html-tidy.org/

Dziadek narzędzi HTML ze wsparciem dla nowoczesnych standardów.

Kiedyś istniał widelec o nazwie tidy-html5, który od tego czasu stał się oficjalną rzeczą. Oto jego repozytorium GitHub .

Tidy to aplikacja konsolowa dla systemów Mac OS X, Linux, Windows, UNIX i nie tylko. Poprawia i czyści dokumenty HTML i XML, naprawiając błędy znaczników i uaktualniając stary kod do nowoczesnych standardów.

Oto wiersz poleceń do wywołania Tidy:

tidy inputfile.html
jonjbar
źródło
14
Dzięki! "tidy -i -m -w 160 -ashtml -utf8 index.html" załatwiło sprawę! Okazuje się, że porządek jest domyślnie instalowany w systemie MacOS X - doskonale!
knorv
1
Schludny zmagała się z coraz wcięcie aż wpadłem go z tej opcji (zamiast pozwolić to domyślne „Auto” -I: schludny --indent Tak
Edward Anderson
2
Tidy świetnie sprawdza się jako narzędzie do sprawdzania poprawności / kłaczków, ale nie jest tak dobre jak narzędzie do upiększania kodu. Dwie kwestie: (1) może działać tylko na plikach, a nie na standardowym wejściu (więc nie można na przykład wysłać zaznaczonego tekstu z Notepad ++ do tidy.exe i zmusić go do wysłania sformatowanego kodu z powrotem do Notepad ++); (2) Ma problemy z formatowaniem dużej ilości kodu, np <form><input><input><input><input><input></form>. : .
thdoan
1
Modyfikuje również plik, gdy nie może zrozumieć tekstu.
Paweł Szczur
Jedna uwaga na temat tidy-html5, jeśli używasz wbudowanego javascript, musisz dołączyć, w type="text/javascript"przeciwnym razie tidy doda<![CDATA[
jcubic
10

Aktualizacja 2018:homebrew/dupes jest teraz przestarzała, schludny-html5 mogą być bezpośrednio instalowane.

brew install tidy-html5

Oryginalna odpowiedź:

Tidyz OS X nie obsługuje HTML5. Ale jest gałąź eksperymentalna, na Githubktórej to robi.

Dostać to:

 brew tap homebrew/dupes
 brew install tidy --HEAD
 brew untap homebrew/dupes

Otóż ​​to! Baw się dobrze!

Paul Brit
źródło
1
Error: No available formula with the name "tidy". brew install tidy-html5Pracuje.
Pysis
Rzeczywiście brew install tidy-html5działa i nie potrzebujesz też kranu homebrew / dupes.
Ogier Schelvis
Tidy robi więcej niż tylko formatowanie HTML. Spowoduje to usunięcie pustych tagów i zmianę kolejności technicznie nieprawidłowego kodu HTML, który jest akceptowany przez przeglądarki (czytaj: jest używany w Internecie). <p class="a"><div class="b"></div></p>zostanie zmieniona w kolejności <p class="a"></p><div class="b"></div>i coś takiego jak <p><div></div></p>po prostu zostanie usunięte. Zobacz ten problem w serwisie GitHub . Jeśli używasz porządków, powinieneś uruchomić go w trybie cichym tidy -qi nie ignoruj ​​żadnych ostrzeżeń, takich jak trimming empty <p>. Nie używaj go na HTML, którego nie napisałeś.
Boris
6

Aby uzyskać zaktualizowaną, niezależną od systemu operacyjnego odpowiedź na to pytanie:

Podczas gdy oryginalny projekt HTMLTidy był uśpiony od ponad 6 lat , „Grupa społeczna i biznesowa W3C”, która nosi nazwę „Grupa społecznościowa HTML Tidy Advocacy (HTACG)” , zaczęła teraz kontynuować swój rozwój, mając na celu uczynienie go w pełni kompatybilny z HTML5 . Grupa powstała w styczniu 2015 roku i chociaż opisują obecny stan jako „w toku”, pliki binarne są już dostępne do pobrania.

zb226
źródło
1

Myślę, że porządek HTML to jedna z nazw domowych w tej dziedzinie.

Pekka
źródło
0

To tylko późna odpowiedź na pytanie OT.

Homebrew ma tidy-html5zainstalowany zgodnie z oczekiwaniami.

Jest połączony jako tidy5.

Dave Newton
źródło