How to install updated version of HTML tidy

You can install the latest html-tidy from source using the instruction given on its github page.

But the easiest way to install the latest version of html-tidy5 would be downloading the latest binary from this page http://binaries.html-tidy.org/

If you're using 64bit Ubuntu, you'd do basically these commands

wget https://github.com/htacg/tidy-html5/releases/download/5.4.0/tidy-5.4.0-64bit.deb
sudo dpkg -i tidy-5.4.0-64bit.deb

It should be installed fine.


  1. On the latest Ubuntus (Zesty, 17.04, and Artful, 17.10), it is updated to version 5.2.

  2. There is a backports ppa for Trusty (14.04) and Xenial (16.04): ppa:jonathonf/backports

  3. You could also use the nodejs package html-validator-cli as a workaround

    sudo -H npm install -g html-validator-cli
    html-validator --filename=path/to/file
    

    but it needs an internet connection.


1. Summary

Method from official documentation.

If you need the latest CLI version, run in terminal:

$ sudo apt-get install xsltproc
$ git clone https://github.com/htacg/tidy-html5.git
$ cd tidy-html5
$ cd build/cmake
$ cmake ../.. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIB:BOOL=OFF
$ make
$ sudo make install

2. Relevance

This answer is relevant for April 2018. In the future, the data of this answer may be obsolete.


3. Demonstration

On Travis CI environment.


4. Limitations

Else you need custom HTML Tidy things, you can need another options. Some citations of HTML Tidy contributor:

If you are just going to use the console app tidy, which by default is linked with the static library libtidys.a, then not building and installing the shared library, libtidy.so, that is -DBUILD_SHARED_LIB:BOOL=OFF, is fine, but this is unusual in unix/linux…

There are even some in the unix/linux community that prefer to build the console app tidy linking only with the shared library. See the cmake -DTIDY_CONSOLE_SHARED:BOOL=ON option, and see issue #326…

And that also means to try to be consistent with the install location, like using -DCMAKE_INSTALL_PREFIX[:PATH]=/usr, but as stated in most cases the cmake default is also fine… and usually does not represent a problem…


5. Additional links

  • build HTML Tidy in different Operating Systems
  • discussion about build from sources on HTML Tidy issue tracker