Yet another home-grown version:
http://github.com/perchten/neat_html
I like to think it's pretty flexible. It doesn't aim for particular output environment but has a bunch of optional arguments you can specify why change the output/print or behaviour, as well as some persistent settings.