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
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