HTML-TreeStructured version 1.01 ================================ HTML::TreeStructured is a module to generate tree structure HTML. Data and reports can be see via Window file explorer style layout. use HTML::TreeStructured; ### Describe tree via collection of Node and its properties ### Method 1: Via ArrayRef ### ### Node can be a string or '/' concatenated strings to show ancestry ### Properties are name/value pairs my $tree1 = [ ['/aaa', color => 'green'], ['/aaa/bbb' mouseover => 'This is addl info'], ['/aaa/ccc', color => 'red', active => 0] ]; ### Method 2: Via Hashref my $tree2 = { aaa => { color => 'green', bbb => { mouseover => 'This is addl info', }, ccc => { color => 'red', active => 0, }, }; Interpreted Node Properties: color = Color of the node name mouseover = Mouse Over text for the node (Info image is displayed next to node) active = 0 would cause strike thru on node highlight = color code used for marker highlight of node url = URL to hyperlink the node tooltip = popup when mouse is over the link (together with url) (See HTML::Tooltip::Javascript) closed = 1 if node be closed on default display (default, all nodes are open) comment = Text to display next to node in bold weight = A numeric value on node which will be used for sorting node position in at sibling level (Default, nodes are sorted in ascending order per dictionary order) ### Now get HTML equivalent for the tree ### The associated JavaScript for nodes close/open and ExpandAll/CollapseAll is generated alongside $tree_html = HTML::TreeStructured->new( name => 'tree_name', image_path => '/images/', data => $tree1, title => "My Tree", title_width => 300, level => {}, ### If scalar, close BEYOND this depth. Depth start at 0. ### If Hash, close for depths specified in keys )->output; ### The same module can be used to generate FAQ - see "examples/faq.cgi" INSTALLATION To install this module type the following: perl Makefile.PL make make test make install Copy images/ directory to webserver's root. DEPENDENCIES This module requires these other modules and libraries: HTML::Template I have been using HTML tables for structuring HTML presentation. After seeing HTML::PopupTreeSelect from Sam Tregar I liked the idea of stylesheets to indent HTML. COPYRIGHT AND LICENCE Copyright (C) 2004 by Ramana Mokkapati (mvr@cpan.org) This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.0 or, at your option, any later version of Perl 5 you may have available.