Radius 0.0.2 -- Powerful Tag-Based Templates


#1

Things have stabilized enough to release Radius 0.0.2. This release
contains a couple of minor refactorings.

What’s New?

  • Refactored Parser to use Context#render_tag instead of #send when
    rendering tags defined on a Context.

  • UndefinedTagError is now thrown when the parser tries to render a tag
    which doesn’t exist on a context.

  • Added Context#tag_missing which works like method_method missing on
    Object, but is tag specific.

What is Radius?

A small, but powerful tag-based template language for Ruby similar to
the ones used in MovableType and TextPattern. It has tags similar to
HTML or XML, but can be used to generate any form of plain text (not
just HTML).

Installation:
% gem install radius

Download:
http://rubyforge.org/frs/?group_id=1262

Documentation:
http://radius.rubyforge.org

A small example of Radius in action:

class ThreeStoogesContext < Radius::Context
def initialize
@prefix = ‘ts’
end
def stooge(attr)
content = ‘’
[“Larry”, “Moe”, “Curly”].each do |name|
@name = name
content << yield
end
content
end
def name(attr)
@name
end
end

parser = Radius::Parser.new(ThreeStoogesContext.new)

template = <<-TEMPLATE

TEMPLATE

puts parser.parse(template)

This will output:

 <li>Larry</li>

 <li>Moe</li>

 <li>Curly</li>

Learn more by reading the Quick Start guide:
http://radius.rubyforge.org/files/QUICKSTART.html

Enjoy!