# tidy-sys Rust bindings for the [HTML Tidy](https://github.com/htacg/tidy-html5) library. ## Documentation - [tidy-sys](https://docs.rs/tidy-sys/latest/tidy_sys/) - [libtidy](https://www.html-tidy.org/developer/) ## Note About Vendored Dependencies 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. ## Requirements 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](https://github.com/htacg/tidy-html5) needs it) ## The Default Build Configuration 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` and `TIDY_SYS_CFLAGS`) ## Setting Build Options 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. ## Crate Features Currently there's only one feature, by default disabled: - `localization`: Enable multi-language support in Tidy (sets the `SUPPORT_LOCALIZATIONS` option to `on` with CMake).