oracular (3) HTML::TagCloud.3pm.gz

Provided by: libhtml-tagcloud-perl_0.38-4_all bug

NAME

       HTML::TagCloud - Generate An HTML Tag Cloud

SYNOPSIS

         # A cloud with tags that link to other web pages.
         my $cloud = HTML::TagCloud->new;
         $cloud->add($tag1, $url1, $count1);
         $cloud->add($tag2, $url2, $count2);
         $cloud->add($tag3, $url3, $count3);
         my $html = $cloud->html_and_css(50);

         # A cloud with tags that do not link to other web pages.
         my $cloud = HTML::TagCloud->new;
         $cloud->add_static($tag1, $count1);
         $cloud->add_static($tag2, $count2);
         $cloud->add_static($tag3, $count3);
         my $html = $cloud->html_and_css(50);

         # A cloud that is comprised of tags in multiple categories.
         my $cloud = HTML::TagCloud->new;
         $cloud->add($tag1, $url1, $count1, $category1);
         $cloud->add($tag2, $url2, $count2, $category2);
         $cloud->add($tag3, $url3, $count3, $category3);
         my $html = $cloud->html_and_css(50);

         # The same cloud without tags that link to other web pages.
         my $cloud = HTML::TagCloud->new;
         $cloud->add_static($tag1, $count1, $category1);
         $cloud->add_static($tag2, $count2, $category2);
         $cloud->add_static($tag3, $count3, $category3);
         my $html = $cloud->html_and_css(50);

         # Obtaining uncategorized HTML for a categorized tag cloud.
         my $html = $cloud->html_without_categories();

         # Explicitly requesting categorized HTML.
         my $html = $cloud->html_with_categories();

DESCRIPTION

       The HTML::TagCloud module enables you to generate "tag clouds" in HTML. Tag clouds serve as a textual way
       to visualize terms and topics that are used most frequently. The tags are sorted alphabetically and a
       larger font is used to indicate more frequent term usage.

       Example sites with tag clouds: <http://www.43things.com/>, <http://www.astray.com/recipes/> and
       <http://www.flickr.com/photos/tags/>.

       This module provides a simple interface to generating a CSS-based HTML tag cloud. You simply pass in a
       set of tags, their URL and their count.  This module outputs stylesheet-based HTML. You may use the
       included CSS or use your own.

CONSTRUCTOR

   new
       The constructor takes a few optional arguments:

         my $cloud = HTML::TagCloud->new(levels=>10);

       if not provided, levels defaults to 24

         my $cloud = HTML::TagCloud->new(distinguish_adjacent_tags=>1);

       If distinguish_adjacent_tags is true HTML::TagCloud will use different CSS classes for adjacent tags in
       order to be able to make it easier to distinguish adjacent multi-word tags.  If not specified, this
       parameter defaults to a false value.

         my $cloud = HTML::TagCloud->new(categories=>\@categories);

       If categories are provided then tags are grouped in separate divisions by category when the HTML fragment
       is generated.

METHODS

   add
       This module adds a tag into the cloud. You pass in the tag name, its URL and its count:

         $cloud->add($tag1, $url1, $count1);
         $cloud->add($tag2, $url2, $count2);
         $cloud->add($tag3, $url3, $count3);

   add_static
       This module adds a tag that does not link to another web page into the cloud.  You pass in the tag name
       and its count:

         $cloud->add_static($tag1, $count1);
         $cloud->add_static($tag2, $count2);

   tags($limit)
       Returns a list of hashrefs representing each tag in the cloud, sorted by alphabet. Each tag has the
       following keys: name, count, url and level.

   css
       This returns the CSS that will format the HTML returned by the html() method with tags which have a high
       count as larger:

         my $css  = $cloud->css;

   html($limit)
       This returns the tag cloud as HTML without the embedded CSS (you should use both css() and html() or
       simply the html_and_css() method). If any categories were specified when items were being placed in the
       cloud then the tags will be organized into divisions by category name.  If a limit is provided, only the
       top $limit tags are in the cloud, otherwise all the tags are in the cloud:

         my $html = $cloud->html(200);

   html_with_categories($limit)
       This returns the tag cloud as HTML without the embedded CSS.  The tags will be arranged into divisions by
       category.  If a limit is provided, only the top $limit tags are in the cloud.  Otherwise, all tags are in
       the cloud.

   html_without_categories($limit)
       This returns the tag cloud as HTML without the embedded CSS.  The tags will not be grouped by category if
       this method is used to generate the HTML.

   html_and_css($limit)
       This returns the tag cloud as HTML with embedded CSS. If a limit is provided, only the top $limit tags
       are in the cloud, otherwise all the tags are in the cloud:

         my $html_and_css = $cloud->html_and_css(50);

AUTHOR

       Leon Brocard, "<acme@astray.com>".

       Copyright (C) 2005-6, Leon Brocard

       This module is free software; you can redistribute it or modify it under the same terms as Perl itself.