NAME HTML::TagCloud::Sortable - A sortable HTML tag cloud SYNOPSIS my $cloud = HTML::TagCloud::Sortable->new; # old HTML::TagCloud style $cloud->add( 'foo', $url, 10 ); # new HTML::TagCloud::Sortable style $cloud->add( { name => 'foo', url => $url, count => 10, bar => 'baz' } ); # old style print $cloud->html( 4 ); # new style print $cloud->html( { limit => 4, sort_field => 'count', sort_type => 'numeric' } ); DESCRIPTION HTML::TagCloud::Sortable is an API-compatible subclass of HTML::TagCloud. However, by using a different API, you can gain two features: * Store arbitrary data with your tags * Sort the tags by any stored field METHODS new( %options ) An overridden construtor. Takes the same arguments as HTML::TagCloud. add( \%tagdata ) Adds the hashref of data to the list of tags. NB: Insertion order is maintained. At the minimum, you will need to supply "name", "url" and "count" key-value pairs. tags( \%options ) This method is used by "html" to get the relevant list of tags for display. Options include: * limit - uses the N most popular tags * sort_field - sort by this field * sort_order - 'asc' or 'desc' * sort_type - 'alpha' or 'numeric' The default sort order is alphabetically by tag name. You can pass a sub reference to "sort_field" to do custom sorting. Example: $cloud->html( { sort_field => sub { $_[ 1 ]->{ count } <=> $_[ 0 ]->{ count }; } } ); Passing undef to sort_field will maintain insertion order. AUTHOR Brian Cassidy COPYRIGHT AND LICENSE Copyright 2008 by Brian Cassidy This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO * HTML::TagCloud