Tidier
This crate provides a safe abstraction over the Tidy C library.
Features
- Currently, it only supports formatting of HTML, XHTML and XML documents.
Examples
Note: Check out the basic CLI example in the examples directory.
use ;
let html = "<html>
<head><title>Tidy Usage Example</title></head>
<body><p>Usage example</p></body>
</html>";
let opts = FormatOptions ;
// Alternatively
let opts = new
.tabs
.strip_comments
.wrap;
let doc = new?;
let s1 = doc.format?;
// Or for short:
let s2 = format?;
assert_eq!;
# Ok::
Build Requirements
This crate uses tidy-sys, which generates bindings on the fly using bindgen, then compiles the tidy C library from source. Therefore you need;
- clang: For parsing C headers to generate Rust bindings
- A C compiler: To compile the Tidy C library
- CMake: To configure and orchestrate compilation of the Tidy C library (it uses CMake as the build system)
You don't need to install libtidy on your system; tidy-sys vendors the source code, builds and links to it statically.