[ANN]: PageTemplate 2.1

Hi all,

Late one evening, in the dark of the night when nobody was looking, we
released something into the world. It looked small and harmless, but
who knew what damage it would wreak in the wrong hands?

Well, only one way to find out. Here's PageTemplate 2.1. That's 1/10
of 1/2 of 42, which was our ranking level on Rubyforge the day of
release. The day which just happened to be the day after the release
of the movie for the Hitchhiker's Guide To The Galaxy. Just a
coincidence, or is PageTemplate related in some way to the Ultimate
Answer to the Ultimate Question of Life, the Universe, and Everything?
You decide, but it might be a good idea to download a copy for
yourself before the universe is suddenly replaced by a newer and
infinitely more complex one. Again.

Here's the highlights of what has changed since 2.0:

2.1
    Commands:
      Changed: IfCommand now accepts elseif, elsif, else if.
      Changed: LoopCommand accepts multiple iterators.
      Changed: Commands don't accept 'commandname arguments' syntax
      Changed: Commands take arguments they want: called_as, value, iterators
      Changed: Commands no longer recieve parsers on initialize
      Changed: Commands can access parser via namespace.parser
      Removed: modifies? and closes?
      Added: @modifier = sym, @closer = sym. These are syms for the
             SyntaxGlossary's lookups for else, when, end, etc.
    Parser:
      Added: NamespaceItem module
      Changed: Namespace is now just an includer of NamespaceItem
      Changed: Parser and Templare are now both NamespaceItems
      Changed: Namespace#get returns an error message instead of erroring.
      Changed: obj.accessor now also has obj.arrayindex and obj.hashkey
      Changed: SyntaxGlossary is now a singleton, and is more flexible.
      Added: htglossary.rb, providing an HTML::Template HTGlossary
      Fixed: Parser#load() accepts full path names now

   * http://rubyforge.org/projects/pagetemplate/
   * http://coolnamehere.com/products/pagetemplate/

PageTemplate is a Ruby package which allows you to utilize text
templates for your Web projects. It is mainly intended for use in a
CGI environment, but has been designed to be useful in a broad range
of similar applications. It is inspired by, yet almost entirely
unlike, the HTML::Template package available for Perl. It has a few
features that I hope folks will find useful:

   * Variable substitution
   * "if/else" blocks - inserting chunks of content depending on the
existence of a flag variable
   * "loop/no" blocks - repeatedly inserting a chunk of content,
using values from a list
   * A simple default syntax
   * Customizable markup syntax (awkward, but it's there)
   * Cache template information to disk to speed up access (experimental!)
   * New! The ability to include external files (Added in 1.1)

It also has a few features of its own (otherwise, where's the fun?).

   * Customizable markup syntax to simplify integration with your own tools.
   * Cache template information to disk to speed up access (experimental!)

I hope folks like it!

Kind Regards,

Brian Wisti
http://coolnamehere.com/