== HTML::AutoTag
Just another HTML tag and attribute generator for ruby.
== Description
Generate HTML tags and attributes with ease (HTML4, XHTML and HTML5). Handles rotating attributes.
== Installation
gem install HTML-AutoTag
== Synopsis
require 'HTML/AutoTag'
auto = HTML::AutoTag.new
puts auto.tag( 'tag' => 'hr' )
puts auto.tag( 'tag' => 'h1', 'cdata' => 'heading' )
puts auto.tag( 'tag' => 'p', 'cdata' => 'paragraph', 'attr' => { 'class' => 'para' } )
attr = { 'style' => { 'color' => %w{ odd even } } }
puts auto.tag(
'tag' => 'ol',
'attr' => { 'reversed' => 'reversed' },
'cdata' => %w{ 1 2 3 4 5 }.map{ |d| { 'tag' => 'li', 'attr' => attr, 'cdata' => d } }
)
Also includes HTML::AutoAttr which provides rotating attributes:
require 'HTML/AutoAttr'
attr = HTML::AutoAttr.new( { 'foo' => ['bar','baz','qux'] } )
4.times { puts attr.to_s }
== Methods
With the exception of new, all methods return an HTML table as a string.
* new( params )
* encode=(boolean)
Whether or not to Encode entities.
* encodes=(string)
Encode these HTML entities. Pass string with chars you want encoded
or leave blank for default control and high bit chars and <>!'"
* indent=(string)
Pretty print results.
* level=(integer)
Indentation level to start at.
* sorted=(boolean)
Sort attribute names of the tag alphabetically.
* tag( params )
* tag=(string)
The name of the tag.
* attr=(hash)
Attribute names and values for the tag.
* cdata=(string,hash,array)
The value wrapped by the tag.
* scalar - the string to be wrapped by the tag
* hash - another tag with its own cdata and attributes
* array - list of scalars or list of more hashes
== More Complex Example
The follow will render an HTML table with row that have alternating class names and cells that have alternating background colors:
require 'HTML/AutoTag'
auto = HTML::AutoTag.new
tr_attr = { 'class' => %w{ odd even } }
puts auto.tag(
'tag' => 'table',
'attr' => { 'class' => 'spreadsheet' },
'cdata' => Array[
{
'tag' => 'tr',
'attr' => tr_attr,
'cdata' => {
'tag' => 'th',
'attr' => { 'style' => { 'color' => %w{ red green } } },
'cdata' => %w{ one two three },
},
},
{
'tag' => 'tr',
'attr' => tr_attr,
'cdata' => {
'tag' => 'td',
'attr' => { 'style' => { 'color' => %w{ green blue } } },
'cdata' => %w{ four five six },
},
},
{
'tag' => 'tr',
'attr' => tr_attr,
'cdata' => {
'tag' => 'td',
'attr' => { 'style' => { 'color' => %w{ red green } } },
'cdata' => %w{ seven eight nine },
},
},
]
)
See Spreadsheet-HTML for generating HTML tables.
== License
MIT
== Copyright
(C) 2016 Jeff Anderson -- All Rights Reserved
== Warranty
This package is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
== Author
Jeff Anderson jeffa@cpan.org