Crate tagger[][src]

This crate provides primitives to build up a html/xml/svg document programatically, as opposed to a templating type engine.

Why do I have to call end()?

This is to force the user to handle the error case of writing the end tag. If we did this in the destructor of an element, then the write could silently fail.

So we enforce that end() was called at runtime by checking a flag in the destructor and panic if it was not called. If the destructor is called as part of unwinding, then it does nothing.

Modules

prelude

The prelude to import the element manipulation convenience macros.

svg

Contains primitives to make some svg constructs like paths and polylines.

Macros

wr

Convenience macro to reduce code. Create a closure that will use write!() with the formatting arguments.

Structs

Element

The base element structure. It will panic if the user doesnt properly call end() on it.

WriterAdaptor

Used by upgrade

Functions

elem

Write an element.

single

Write a single element with no ending tag.

upgrade

Upgrade a std::io::Write to be a std::fmt::Write