Posted by kohsuke
on June 7, 2006 at 9:50 PM PDT
I've always been frustrated by the lack of "programmability" in HTML, which makes it hard to write good HTMLs. So, I wrote a tool to fix that problem.
Writing a serious, consistent, nice-looking documents in HTML is hard. CSS improves the situation a bit, but it's still very painful. For example, suppose if you are writing a release note like this , and you want to do:
- Generate the navigation bar in multiple pages
- Have the same footer for all documents
If you can do the equivalent of JSP tag files (which lets you define your own tag, which will expand to HTML fragment), these would be really easy to do. That got me started to write a tool called HTMLMacro .
This is the tool I use to generate JAXB release notes and unofficial JAXB user guide .
It's basically just a thin wrapper around Jelly , but it let you define your own tags as well as use any Jelly tags --- such as a for loop, variable, XSLT transformation, RDBMS query, you name it.
The interesting thing about this tool is that it really starts to feel like Lisp macro (except you use angle brackets), and you'll quickly find out that HTML is very suitable for DSL (domain specific language), perhaps not too surprisingly.
I hope you'll find this useful, and I'll try to convince other teams in my group to use this for their docs.