\note The repository <a href="https://github.com/htacg/tidy-html5">github.com/htacg/tidy-html5</a> and this documentation should be considered canonical for HTML Tidy as of 2015-January-15.
- \b TidyLib - is easy to integrate. Because of the near universal adoption of C linkage, a C interface may be called from a great number of programming languages.
- \b TidyLib - is designed to use opaque types in the public interface. This allows the application to just pass an integer around and the need to transform data types in different languages is minimized. As a results it’s straight-forward to write very thin library wrappers for C++, Pascal, and COM/ATL.
- \b TidyLib - is Thread Safe and Re-entrant. Because there are many uses for HTML Tidy - from content validation, content scraping, conversion to XHTML - it was important to make TidyLib run reasonably well within server applications as well as client side.
- \b TidyLib - uses adaptable I/O. As part of the larger integration strategy it was decided to fully abstract all I/O. This means a (relatively) clean separation between character encoding processing and shovelling bytes back and forth. Internally, the library reads from sources and writes to sinks. This abstraction is used for both markup and configuration “files”. Concrete implementations are provided for file and memory I/O, and new sources and sinks may be provided via the public interface.
By default cmake sets the install path to `/usr/local` in unix.
If you wanted the binary in say `/usr/bin` instead, then use `-DCMAKE_INSTALL_PREFIX=/usr`
On windows the default install is to `C:\Program Files\tidy5`, or `C:/Program Files (x86)/tidy5`, which is not very useful. After
the build the `tidy[n].exe` is in the `Release\` directory, and can be copied to any directory in your `PATH` environment variable, for global use.
If you need the tidy library built as a 'shared' (DLL) library, then in add the command `-DBUILD_SHARED_LIB:BOOL=ON`.
This option is `OFF` by default, so the static library is built and linked with the command line tool for convenience.
<h4>Compile</h4>
\code{.sh}
# *nix
make
# windows
cmake --build . --config Release
\endcode
<h4>Install</h4>
\code{.sh}
# *nix
[sudo] make install
# windows
cmake --build . --config Release --target INSTALL
\endcode
\page history History
- This repository originally transferred from w3c.github.com/tidy-html5.
- First moved to <a href="https://github.com/htacg/tidy-html5">Github</a> from <a href="http://tidy.sourceforge.net/">tidy.sourceforge.net</a>
<p><strong>HTML Tidy</strong> was created by the <a href="http://www.w3.org/">W3C’s</a> own <a href="http://www.w3.org/People/Raggett/">Dave Raggett</a> back in the
dawn of the Internet age. His original Internet page is still available and
gives a sense of the early history: <a href="http://www.w3.org/People/Raggett/tidy/">Clean up your Web pages with HTML TIDY</a>.</p>
<p>Satisfied with his work Dave passed the torch to a dedicated group of
maintainers at <a href="http://tidy.sourceforge.net/">tidy.sourceforge.net</a> where the important tasks of turning
<strong>Tidy</strong> into a C library and keeping up with developing standards was
performed.</p>
<p>W3C members took a renewed interest in <strong>Tidy</strong> in 2011 and forked the
project to <a href="https://github.com/w3c/tidy-html5">github</a> (now redirects to new maintainers), where it featured
compatibility with HTML5 via a <a href="https://lists.w3.org/Archives/Public/www-archive/2011Nov/0007.html">key contribution</a> from one of the SourceForge
key members.</p>
<p>In 2015 a group of concerned developers, users, and software integrators formed
<a href="http://www.htacg.org">HTACG</a> with the goal of revitalizing <strong>Tidy</strong>, which had fallen into a
non-maintained state. As a W3C Community Group, HTACG was deemed worthy by the
W3C, and W3C passed ownership of their project to HTACG, where it is currently
being developed and prepped for a new, stable, and modern release.</p>
<p>HTACG is also working diligently with the SourceForge maintainers in an effort
to harmonize <strong>HTML Tidy</strong> into a single, stable, solid release once again.</p>