This needs build.rs in the src parent directory. (Where Cargo.* lives.)
This creates a built.rs in the target directory, which gets included.
To get git information, you need to git tag 0.1.0
the version.
(If you want that in the built info.)
Also, if you do anything with git -- it seems like you need to do
cargo clean; cargo build
so it redoes the built file.
It sounds like it isn't easy to tell when git has changed something,
at least from built's perspective.
It would be an interesting project to port HTML::TokeParser to rust.
I don't see a stream "pull" parser out there.