The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTML::Latemp::News - News Maintenance Module for Latemp (and possibly other web frameworks)

SYNOPSIS

    #!/usr/bin/perl

    use strict;
    use warnings;

    use MyManageNews;

    my @news_items =
    (
        .
        .
        .
        {
            'title' => "Changes of 18-April-2005",
            'id' => "changes-2005-04-18",
            'description' => q{Around 18 April, 2005, Jane's Site has seen a
                lot of changes. Click the link for details on them.},
            'date' => "2005-04-18",
            'author' => "Jane Smith",
            'category' => "Jane's Site",
        },
        .
        .
        .
    );

    my $news_manager =
        HTML::Latemp::News->new(
            'news_items' => \@news_items,
            'title' => "Better SCM News",
            'link' => "http://janes-site.tld/",
            'language' => "en-US",
            'copyright' => "Copyright by Jane Smith, (c) 2005",
            'webmaster' => "Jane Smith <jane@janes-site.tld>",
            'managing_editor' => "Jane Smith <jane@janes-site.tld>",
            'description' => "News of Jane's Site - a personal site of " .
                "Jane Smith",
        );

    $news_manager->generate_rss_feed(
        'output_filename' => "dest/rss.xml"
    );

    1;

DESCRIPTION

This is a module that maintains news item for a web-site. It can generate an RSS feed, as well as a news page, and an HTML newsbox, all from the same data.

FUNCTION

HTML::Latemp::News->new(...)

This is the constructor for the news manager. It accepts the following named parameters:

'news_items'

This is a reference to a list of news_items. See below.

'title'

The title of the RSS feed.

'link'

The link to the homepage of the site.

'language'

The language of the text.

'copyright'

The copyright notice of the text.

'webmaster'

The Webmaster.

'managing_editor'

The managing editor.

'description'

A description of the news feed as will be put in the RSS feed.

Format of the news_items

The news_items is a reference to an array, of which each element is a hash reference. The hash may contain the following keys:

'title'

The title of the item.

'id'

The ID of the item. This will also be used to calculate URLs.

'description'

A text description explaining what the item is all about.

'author'

The author of the item.

'date'

A string representing the daet.

'category'

The cateogry of the item.

$news_manager->generate_rss_feed('output_filename' => "rss.xml")

This generates an RSS feed. It accepts two named arguments. 'output_filename' is the name of the RSS file to write to. 'num_items' is the number of items to include, which defaults to 10.

$news_manager->get_navmenu_items('num_items' => 5)

This generates navigation menu items for input to the navigation menu of HTML::Widgets::NavMenu. It accepts a named argument 'num_items' which defaults to 10.

$news_manager->get_news_page_entries('num_items' => 5, 'base_url' => "news/")

This generates HTML for the news page. 'base_url' points to a URL to be appended to each item's ID.

$news_manager->get_news_box('num_items' => 5)

This generates an HTML news box with the recent headlines.

AUTHOR

Shlomi Fish, <shlomif@iglu.org.il>

BUGS

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

SEE ALSO

XML::RSS, HTML::Widgets::NavMenu.

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2005 Shlomi Fish, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the MIT X11 license.