== 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) 2015 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