NAME
tagz.rb
SYNOPSIS
require Tagz
include Tagz.globally
a_(:href => "/foo"){ "bar" } #=> bar
DESCRIPTION
tagz.rb is generates html, xml, or any sgml variant like a small ninja
running across the backs of a herd of giraffes swatting of heads like a
mark-up weedwacker. weighing in at less than 200 lines of code tagz.rb adds
an html syntax to ruby that is both unobtrusive, safe, and available
globally to objects without the need for any builder or superfluous objects.
tagz.rb is designed for applications that generate html to be able to do so
easily in any context without heavyweight syntax or scoping issues, like a
ninja sword through butter.
INSTALL
gem install tagz
HISTORY
4.2.0
- general lib cleanup
- introduction of dual-mixin technique (Tagz.globally)
- few small bug fixes
- ninja tales
SAMPLES
<========< samples/a.rb >========>
~ > cat samples/a.rb
#
# in the simplest case tagz generates html using a syntax which safely mixes
# in to any object
#
require 'tagz'
include Tagz.globally
class GiraffeModel
def link
a_(:href => "/giraffe/neck/42"){ "whack!" }
end
end
puts GiraffeModel.new.link
~ > ruby samples/a.rb
whack!
<========< samples/b.rb >========>
~ > cat samples/b.rb
#
# tagz.rb mixes quite easily with your favourite templating engine, avoiding
# the need for '<% rows.each do |row| %> ... <% row.each do |cell| %> '
# madness and other types of logic to be coded in the templating language,
# leaving templating to template engines and logic and looping to ruby -