NAME

HTML::Auto - automatic write HTML for common elements

VERSION

Version 0.05

SYNOPSIS

Simple example:

use HTML::Auto qw/matrix h v/;

my @cols = qw/c1 c2 c3 c4 c5/;
my @lines = qw/l1 l2 l3 l4 l5/;
my $data =
   [ [1,2,3,4,5],
     [6,7,8,9,0],
     [1,1,1,1,1],
     [2,2,2,2,2],
     [3,3,3,3,3] ];

my $m = matrix(\@cols,\@lines,$data);

print v(
        h($m,$m,$m),
        h($m,$m),
      );

Using attributes:

use HTML::Auto qw/matrix h v/;

my @cols = qw/c1 c2/;
my @lines = qw/l1 l2/;
my $data =
   [
     [
       {v => 1, a => { style => 'background: green'}},
       2
     ],
     [
       {v => 3, a => {class => 'foo'}},
       {v => 4, a => {style => 'color: red'}}
     ]
   ];

my $m = matrix(\@cols,\@lines,$data);

print v(
        h($m)
      );

With mouse-over span:

  use HTML::Auto qw/matrix h v/;

  my @cols = qw/c1 c2/;
  my @lines = qw/l1 l2/;
  my $data =
     [[1,2],
	  [3,
	  { v=> 4,
	    more_info => "This is a pop-up!"
	  }]
	 ];


  my $m = matrix(\@cols,\@lines,$data);

  print v(
          h($m)
        );

Passing additional CSS:

 use HTML::Auto qw/matrix h v/;

 my @cols = qw/c1 c2/;
 my @lines = qw/l1 l2/;
 my $data =
    [
      [
        {v => 1, a => { class => 'warn'}},
        2
      ],
      [3,4]
    ];

 my $options = { css => '.warn { background-color: yellow !important; }' };

 my $m = matrix(\@cols,\@lines,$data,$options);

 print v(
         h($m)
       );

SUBROUTINES/METHODS

matrix

h

A function to allow horizontal composition.

v

A function to allow vertical composition.

AUTHOR

Nuno Carvalho, <smash at cpan.org> André Santos, <andrefs at cpan.org>

BUGS

Please report any bugs or feature requests to bug-html-auto at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=HTML-Auto. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc HTML::Auto

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2012 Project Natura.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.