Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

A command-line HTML pretty-printer: Making messy HTML readable [closed]

Have a look at the HTML Tidy Project: http://www.html-tidy.org/

The granddaddy of HTML tools, with support for modern standards.

There used to be a fork called tidy-html5 which since became the official thing. Here is its GitHub repository.

Tidy is a console application for Mac OS X, Linux, Windows, UNIX, and more. It corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards.

For your needs, here is the command line to call Tidy:

tidy inputfile.html

Update 2018: The homebrew/dupes is now deprecated, tidy-html5 may be directly installed.

brew install tidy-html5

Original reply:

Tidy from OS X doesn't support HTML5. But there is experimental branch on Github which does.

To get it:

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

That's it! Have fun!


To have an updated, OS-agnostic answer to this question:

While the original HTMLTidy project has been dormant for over 6 years, a "W3C Community & Business group" that goes by the name "HTML Tidy Advocacy Community Group (HTACG)" has now begun to continue its development, with the goal of making it fully HTML5-compatible. The group was formed in January 2015 and although they describe the current state as "work in progress", binaries are already available for download.

  • Project homepage: http://www.html-tidy.org/
  • Group page at W3C: https://www.w3.org/community/htacg/
  • Github repository: https://github.com/htacg/tidy-html5
  • Binary downloads: http://www.htacg.org/binaries/

I think HTML tidy is one of the household names in that field.


Just a late followup on an OT question.

Homebrew has a tidy-html5 installed as you'd expect.

It's linked up as tidy5.