Provided by: libperlanet-perl_0.56-3_all bug

NAME

       perlanet - command line interface to Perlanet.pm

SYNOPSIS

         $ perlanet

       Or

         $ perlanet config_file

DESCRIPTION

       "perlanet" is a command line program for aggregating web feeds (both Atom and RSS) and
       publishing a new web page and a new web feed containing the results of that aggregation.

COMMAND LINE ARGUMENTS

       "perlanet" takes one optional command line argument, which is the name of a configuration
       file to use. If no filename is given then the program looks for a file called "perlanetrc"
       in the current directory.

CONFIGURATION FILE

       "perlanet" requires a configuration file which contains details of which feeds to
       aggregate and what to do with the results of the aggregation. By default, "perlanet" looks
       for a file called "perlanetrc" in the current directory, but this name can be overridden
       by passing the name of a different file when calling the program.

       The configuration file is in YAML format. YAML is a simple text-based file format. See
       <http://yaml.org/> for further details.

   Configuration Options
       The configuration file can contain the following options.

       title
           The title of the resulting page and web feed. This option is mandatory.

       description
           The description of the resulting page and web feed. This option is mandatory.

       url A URL which will be associated with the resulting page and web feed. This will usually
           be the address where the web page will be published. This option is mandatory.

       author
           The name and email address of the author of the aggregated content. This item has two
           sub-items - one each for the name and email address. This option is mandatory.

       agent
           This optional entry defines the agent string that perlanet will use when requesting
           data from web sites. It's the name of the program that site owners will see in their
           web site access logs. Although it is optional, it is strongly recommended that you
           give a value for this configuration option and that the value you use includes contact
           details so that web site owners can get in touch with you if they have any concerns
           about your use of their site.

       entries
           The maximum number of entries to include in the aggregated content. This option is
           mandatory.

       entries_per_feed
           The "entries" value above defines the total number of entries in the aggregated output
           feed. The <entries_per_feed> value defines the number of entries to take from each of
           your source feeds. For example, if this is set to 1 then there will only be one entry
           from each feed in your output.  If this value is 0 (or missing) then all values from
           all source feeds are used.

       opml
           The system can optionally create an OPML file containing details of the feeds which
           are being aggregated. This optional option controls whether or not this file is
           created. If it exists, it should be the name of the OPML file to be created. If an
           OPML file is being created, then the "feeds" options (described below) will all
           require a "web" sub-option.

       page
           This mandatory option contains the details of the web page to be created.  There are
           two sub-options - "file" gives the name of the file to be created and "template" gives
           the name of a Template Toolkit template which will be processed in order to create
           this file. See the section "Output Template" for more details on this template, and
           the web site <http://tt2.org/> for more information about the Template Toolkit.

       feed
           This mandatory option contains the details of the web feed to be created.  There are
           two sub-options - "file" gives the name of the file to be created and "format" gives
           the format of the output (currently 'Atom' or 'RSS').

       cache_dir
           This if you give a directory name in this option then perlanet will use the cache
           facility of URI::Fetch. This means that web feeds will only be downloaded when they
           change.

       feeds
           This mandatory option gives details of the web feeds to be aggregated. Each item on
           the list has one mandatory sub-option and two optional sub-options.  The mandatory
           sub-option is "url" which gives the URL of the feed. The optional sub-option "title"
           gives a title which will be prepended to all of the entry titles taken from that feed.
           If no title is given, then the title will be taken from the feed title. The optional
           "web" sub-option gives a web site URL associated with the feed (often the address of
           the web site that the feed comes from). This can be used to create a list of the
           aggregated sites. The "web" sub-option becomes mandatory if you are creating an OPML
           file.

   Example Configuration File
         title: planet test
         description: A Test Planet
         url: http://planet.example.com/
         author:
           name: Dave Cross
           email: dave@dave.org.uk
         entries: 20
         opml: opml.xml
         page:
           file: index.html
           template: index.tt
         feed:
           file: atom.xml
           format: Atom
         cache_dir: /tmp/feeds
         feeds:
           - url: http://blog.dave.org.uk/atom.xml
             title: Dave's Blog
             web: http://blog.dave.org.uk/
           - url: http://use.perl.org/~davorg/journal/rss
             title: Dave's use.perl Journal
             web: http://use.perl.org/~davorg/journal/
           - url: http://www.oreillynet.com/pub/feed/31?au=2607
             title: Dave on O'Reillynet
             web: http://www.oreillynet.com/pub/au/2607

   Output Template
       The web page is created from a Template Toolkit template. This template is passed two
       variables.

       feed
           This is the XML::Feed object which has been used to create the aggregated feed. See
           the XML::Feed documentation for details of the data that is held in this object.

       cfg This is the contents of the configuration file, converted to a (nested) Perl hash.

   Example Output Template
       This is a simple template which uses the "feed" variable to display details of the
       aggregated feeds.

         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
         <html xmlns="http://www.w3.org/1999/xhtml">
         <html>
           <head>
             <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
             <title>[% feed.title %]</title>
           </head>
           <body>
             <h1>[% feed.title | html %]</h1>
             <p>[% feed.description | html %]</p>
         [% FOREACH entry IN feed.entries %]
             <h2><a href="[% entry.link | url | html %]">[% entry.title | html %]</h2></a>
             [% entry.content.body %]
         [% IF entry.author OR entry.issued %]
             <p>Published[% IF entry.author %] by [% entry.author | html; END %]
             [% IF entry.issued %] on [% entry.issued | html; END %]</p>
         [% END %]
         [% END %]
             <hr />
             <address>[% feed.author | html %] / [% feed.modified | html %]</address>
           </body>
         </html>

       In the future, the Perlanet wiki at <http://wiki.github.com/davorg/perlanet> will contain
       a cookbook of useful ideas to include in the output template.

SUPPORT

       There is a mailing list which acts as both a place for developers to talk about
       maintaining and improving Perlanet and also for users to get support.  You can sign up to
       this list at <http://lists.mag-sol.com/mailman/listinfo/perlanet>

       To report bugs in Perlanet, please use the CPAN request tracker. You can either use the
       web page at <http://rt.cpan.org/Public/Bug/Report.html?Queue=Perlanet> or send an email to
       bug-Perlanet@rt.cpan.org.

SEE ALSO

       •   perlanet

       •   Plagger

AUTHOR

       Dave Cross, <dave@mag-sol.com>

COPYRIGHT AND LICENSE

       Copyright (C) 2008 by Magnum Solutions Ltd.

       This progam library is free software; you can redistribute it and/or modify it under the
       same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later
       version of Perl 5 you may have available.