Rust bindings for the HTML Tidy library.
The source code for Tidy is vendored in this repository for ease of use, under the vendor/
directory.
Otherwise this is an unassociated project.
Also note that Tidy has its own license; this crate's license is for files excluding the vendor/
directory.
This crate will build the Tidy library from source and generate bindings depending on the target platform. Some external tools are required:
- CMake (Tidy uses CMake as the build system)
- A C compiler (to compile Tidy)
- Clang (as bindgen needs it)
Tidy will be built with:
-DNDEBUG
, regardless of the rust profile (not setting it causes Tidy to debug-log to stderr uncontrollably)- CMake profile always set to
Release
as other values cause problems with Visual Studio generators - Optimization level matching the rust build's opt-level (overwritten with
CFLAGS
andTIDY_SYS_CFLAGS
)
This crate respects the standard environment variables used by C compilers and related tools, such as CC
, CFLAGS
, LD
etc.
In addition, you can set the TIDY_SYS_CFLAGS
environment variable; the values will be appended to CFLAGS
while building Tidy.
Currently there's only one feature, by default disabled:
localization
: Enable multi-language support in Tidy (sets theSUPPORT_LOCALIZATIONS
option toon
with CMake).