13 releases (7 breaking)
0.8.1 | Jan 21, 2024 |
---|---|
0.7.1 | Dec 23, 2023 |
#4 in #tidy
37 downloads per month
Used in tidier
2MB
38K
SLoC
tidy-sys
Rust bindings for the HTML Tidy library.
Documentation
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 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
andTIDY_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 theSUPPORT_LOCALIZATIONS
option toon
with CMake).