- Notifications
You must be signed in to change notification settings - Fork 134
Interceptors
Sergey Mashkov edited this page Jul 7, 2015 · 3 revisions
You can define interceptors chains that could transform HTML during building or make some observations. There is a default "filter interceptor", so you can filter out some elements.
Below is an example that filters HTML that way so all div will be omited but content will remain
println(document { append.filter { if (it.tagName == "div") SKIP else PASS }.html { body { div { a { +"link1" } } a { +"link2" } } } }.serialize())
The code above will produce the following output
<!DOCTYPE html> <html> <body> <a>link1</a><a>link2</a> </body> </html>
The other interceptor doesn't mutate HTML but measures generation time
System.out.appendHTML().measureTime().html { head { title("Welcome page") } body { div { +"<<<special chars & entities goes here>>>" } div { CDATA("Here is my content") } } }.let { println() println("Generated in ${it.time} ms") }