My .02 on the whole hacking the various weblogs templates discussions (
here,
here,
here) is that someone came up with a way to display Google hits from their referer list. The whole bit about it being a hack or Velocity pages can be as unreadable as JSPs with scriptlets wasn't an irrelevant part of the discussion, but it was a secondary or tertiary concern ... at least to me. It's not an inappropriate use of the technology. Why not exploit a technology to the best of your ability? It might rub you the wrong way in a "best practices" sense, but it's not inappropriate. The best is that the Google referer code becomes a macro or a tag that can be reused within the page and is therefore debugged and improved in only one place and other JRoller users can benefit. The worst is that it stays as is and a few people have 10 extra lines of code in their template. It's not the end of the world. But, it's no different than what exists in other weblog packages like MovableType which do similar processing with their own set of template tags to piece together a page.
It's also not a deficiency in the application. It'd be great if as developers we were omniscient to the point that we could anticipate every usage scenario of our software. Then we could, in the weblog software space, develop all of the tags ahead of time to keep our pages simple and readable while allowing users to display all the appropriate bits of informaiton. The reality is that we're not there (yet) and so we've got to make improvements to the software as users identify different ways in which to use the software or extract certain bits of information.
Various view or template technologies will be appropriate or inappropriate in certain scenarios. That was one of the cases for Velocity's use in Roller. And if I was deploying a service like JRoller using blojsom where I could use Velocity, JSP, FreeMarker, or Groovy, I'd choose Velocity or FreeMarker (FreeMarker seems more powerful) for user's templates as well. Fact of the matter is that in certain situations you can't have people creating arbitrary objects or loading certain classes that could do damage to the host system.
Finally, scripting languages like Groovy have made it into this space. We released a GroovyDispatcher for
blojsom which allows people to develop templates using Groovy.
I say hack away. It shows you care to make your weblog your own in a more personal way ... that is, more personal than say, "I had tuna salad for lunch today."