org-mode comes with HTML/pdf/DocBook export and you can extend the exporter with your own formats.
I usually use perl/sed/awk + markdown for generating html from my own made-up mini-formats. I'd love to keep the sources in org-mode instead, but I wonder whether elisp is the right language for the type of text munging I want to do.
Modifying the HTML output (adding classes etc.) was fairly OK, I haven't tried anything crazy though.