oxvg_optimiser/lib.rs
1/*!
2The OXVG optimiser is library for optimising SVG documents.
3
4The optimiser should be used with a document from [`oxvg_ast`] which can be processed by the
5optimiser's [`Jobs`].
6
7# Example
8
9Parsing and optimising a document
10
11```
12use oxvg_ast::{
13 implementations::{roxmltree::parse, shared::Element},
14 serialize::{Node, Options},
15 visitor::Info,
16};
17use oxvg_optimiser::Jobs;
18
19let mut jobs = Jobs::default();
20let arena = typed_arena::Arena::new();
21let dom = parse(
22 r#"<svg xmlns="http://www.w3.org/2000/svg">
23 test
24 </svg>"#,
25 &arena,
26)
27.unwrap();
28jobs.run(&dom, &Info::<Element>::new(&arena)).unwrap();
29dom.serialize_with_options(Options::default()).unwrap();
30```
31*/
32
33#[macro_use]
34extern crate lazy_static;
35
36#[cfg(test)]
37mod configuration;
38mod jobs;
39mod utils;
40
41pub use crate::jobs::*;
42
43#[cfg(test)]
44#[ctor::ctor]
45fn init_test() {
46 let _ = env_logger::builder().is_test(true).try_init();
47}