Perlanet-v1.1.3000755001750001750 013312444620 12474 5ustar00davedave000000000000Perlanet-v1.1.3/Build.PL000444001750001750 323713312444620 14132 0ustar00davedave000000000000use strict; use warnings; use Module::Build; my $build = Module::Build->new( license => 'perl', dist_author => 'Dave Cross ', module_name => 'Perlanet', requires => { 'perl' => '5.6.0', 'Encode' => 0, 'List::Util' => 0, 'URI::Fetch' => 0, 'XML::Feed' => '0.22', 'Template' => 0, 'DateTime' => 0, 'DateTime::Duration' => 0, 'YAML' => 0, 'HTML::Tidy' => 0, 'HTML::Scrubber' => 0, 'Moose' => 0, 'Try::Tiny' => 0, 'MooseX::Traits' => 0, 'namespace::autoclean' => 0, }, recommends => { 'CHI' => 0, 'Compress::Zlib' => 0, 'XML::OPML::SimpleGen' => 0, 'MooseX::ConfigFromFile' => 0, }, build_requires => { 'Test::More' => 0, 'File::Path' => 0, 'MooseX::ConfigFromFile' => 0, 'Alien::Tidyp' => 0, }, build_recommends => { 'Test::Pod' => 0, 'Test::Pod::Coverage' => 0, }, create_makefile_pl => 'traditional', script_files => [ 'bin/perlanet' ], meta_merge => { 'meta-spec' => { version => 2 }, resources => { repository => { type => 'git', url => 'git://github.com/davorg/perlanet.git', web => 'https://github.com/davorg/perlanet', }, homepage => "http://perlanet.mag-sol.com/", }, keywords => [ qw( aggregate aggregator atom feed planet rss xml ), ], }, ); $build->create_build_script; Perlanet-v1.1.3/Changes000444001750001750 5325313312444620 14154 0ustar00davedave0000000000002018-06-20 Dave Cross Release 1.1.3 * Various code clean-ups * Remove unnecessarry TT filter from example template 2018-03-04 Dave Cross * bin/perlanet, lib/Perlanet.pm: Remove references to defunct mailing list. * Build.PL, MANIFEST.SKIP: Fix resources listed in metadata 2018-02-20 Dave Cross * docs/style.css, in/style.css: Another tweak * docs/style.css, in/style.css: Style tweak * docs/index.html, in/index.html.md: Dealing with template tag idiocy. * docs/style.css, in/style.css: Make border full-width. * docs/style.css, in/style.css: Improve the footer. * docs/index.html, in/index.html.md: Less shouting. * docs/index.html, in/index.html.md, in/index.html.tt: More text. * docs/CNAME, docs/index.html, docs/style.css: Generate the web site. * in/CNAME, in/index.html.tt, in/style.css, layouts/page: Move the web site from a branch into a directory. 2018-02-16 Dave Cross * Build.PL: Better home page. Remove reference to long-dead mailing list. 2018-02-15 Dave Cross * lib/Perlanet.pm: Bump version for release. 2018-01-22 Dave Cross * lib/Perlanet.pm: Correct TODO link 2018-01-22 Mohammad S Anwar * lib/Perlanet.pm: - TODO link is now clickable. 2017-10-03 Dave Cross * t/01_basic.t, t/02_phases.t, t/03_noconf.t, t/04_mps.t, t/05_cache.t: Switched all tests to use done_testing() 2017-10-02 JJ Merelo * t/01_basic.t: Adds some tests for OPML It's not improving coverage, but at least generates an object of that kind. Before I go any further, I would need some help; I really can't figure out how to add feeds, for instance. Refs #4 Refs #3 * lib/Perlanet.pm, t/01_basic.t: Adds example to test\n\nDoes not improve coverage 2017-07-03 Dave Cross * lib/Perlanet/Trait/Scrubber.pm: Improvements to HTML scrubbing. 2017-07-02 Dave Cross * t/06_youtube.t, t/data/youtube.xml, t/youtube2rc, t/youtuberc: Added tests for new sorting functionality. * MANIFEST, bin/perlanet, lib/Perlanet.pm: Version 1.1.0. Allow sorting by issued date (as well as modified date) 2017-06-23 Dave Cross * lib/Perlanet.pm: Typo in version number FFS! * lib/Perlanet.pm: Bumped version for release (version 1.0.0!) * lib/Perlanet.pm, lib/Perlanet/Trait/OPML.pm, t/02_phases.t, t/04_mps.t, t/05_cache.t: Change various methods to take array refs, not lists. 2017-04-01 Dave Cross * .travis.yml: Force installation of XML::OPML::SimpleGen 2017-03-29 Dave Cross * lib/Perlanet.pm: Bump version for release. * lib/Perlanet/Trait/Scrubber.pm: Remove border attributes * lib/Perlanet/Trait/Scrubber.pm: Best to allow https images these days. Also, the idiocy of some feeds makes it well worth including width and height on image tags. 2015-07-19 Dave Cross * .travis.yml, Build.PL: Another go at building HMTL::Tidy on Travis CI boxes. * .travis.yml: Ensure HTML tidy is installed 2015-07-18 Dave Cross * t/atom.xml: Added t/atom.xml * .travis.yml, MANIFEST.SKIP: Added .travis.yml and MANIFEST.SKIP * .gitignore: Changed .gitignore 2013-04-22 Dave Cross * examples/index.tt: Change index.tt to HTML5 and remove excess tag. 2013-04-22 Tom Bloor * .gitignore, lib/Perlanet/Simple.pm: POD Update updated POD synopsis as per my Blog post 2012-07-27 Dave Cross * lib/Perlanet/Trait/Scrubber.pm: Argh! Scrubbing hasn't been working for about two years :/ Fixed now. Should write a test. * Build.PL: Added missing pre-req (namespace::autoclean) 2012-07-14 Dave Cross * .gitignore: Added some more stuff to .gitignore. 2012-03-17 Dave Cross * Build.PL, lib/Perlanet.pm: Switched from using TryCatch to Try::Tiny. Bumped version for release. 2012-03-14 Dave Cross * lib/Perlanet.pm: Bump version number for release. * Build.PL: Make MooseX::ConfigFromFile required for build (as it's used in the tests) * MANIFEST: Add META.json to MANIFEST. 2011-02-22 Dave Cross * lib/Perlanet.pm: Bump version for release. * lib/Perlanet/Trait/OPML.pm, t/01_basic.t: Fix support for OPML generation (make it _really_ optional). 2010-11-04 Dave Cross * lib/Perlanet.pm: Bump to version 0.53 for release. * t/pod_coverage.t: Added more subroutines to be skipped in the pod coverage tests. 2010-08-26 Dave Cross * lib/Perlanet/Entry.pm, lib/Perlanet/Feed.pm, lib/Perlanet/Trait/Cache.pm, lib/Perlanet/Trait/FeedFile.pm, lib/Perlanet/Trait/OPML.pm, lib/Perlanet/Trait/Scrubber.pm, lib/Perlanet/Trait/TemplateToolkit.pm, lib/Perlanet/Trait/Tidy.pm, lib/Perlanet/Trait/YAMLConfig.pm: Added 'use strict' and 'use warnings' to all modules. 2010-08-23 Dave Cross * lib/Perlanet.pm: Bump version number. * lib/Perlanet/Trait/TemplateToolkit.pm: Pass the whole Perlanet object to the template in a variable called 'cfg'. * lib/Perlanet/Feed.pm: Renamed the 'website' attribute to 'web' (in line with old config files). * lib/Perlanet.pm: Improved reporting for HTTP errors. 2010-08-22 Dave Cross * lib/Perlanet.pm: Bumped to version 0.51. Fixing more problems. * MANIFEST: Added more data files to MANIFEST * MANIFEST, t/04_mps.t, t/data/stevebaker.xml, t/data/talkcarswell.xml, t/mprc: Added some more tests. * lib/Perlanet/Trait/Tidy.pm: Minor reformatting. * lib/Perlanet.pm: Refactoring clean_entries method. * lib/Perlanet/Trait/YAMLConfig.pm: Documentation typo. * lib/Perlanet.pm: Fixed documentation. * lib/Perlanet/Trait/OPML.pm: Fixed broken OPML handling. * t/testrc: Added 'entries_per_feed' config option for tests. * lib/Perlanet.pm: Correct typo * MANIFEST, t/02_phases.t: Added tests for individual phases of the process. 2010-08-21 Dave Cross * lib/Perlanet.pm: Reinstating the "entries_per_feed" support. Not sure when it went missing. Renaming more config settings back to what they should be. * lib/Perlanet/Trait/OPML.pm: Fixed names of the attributes. * t/01_basic.t: Changed calls to reflect corrected config names. * lib/Perlanet.pm: Fix typo. * t/testrc: Fix config format. * lib/Perlanet/Simple.pm: Reformatting. * lib/Perlanet.pm: Bump to version 0.50. * lib/Perlanet/Simple.pm, lib/Perlanet/Trait/Cache.pm, lib/Perlanet/Trait/FeedFile.pm, lib/Perlanet/Trait/OPML.pm, lib/Perlanet/Trait/Scrubber.pm, lib/Perlanet/Trait/TemplateToolkit.pm, lib/Perlanet/Trait/Tidy.pm, lib/Perlanet/Trait/YAMLConfig.pm: Minor reformatting. * lib/Perlanet.pm: Reformatting. * lib/Perlanet.pm: Refactored the calls in the main run method. Now they seem to work. * t/testrc: Changes to reflect the new format for author details. 2010-08-19 Dave Cross * bin/perlanet, lib/Perlanet.pm, lib/Perlanet/Trait/FeedFile.pm, lib/Perlanet/Trait/TemplateToolkit.pm: Attempting to get perlanet comment-line program working again. 2010-08-18 Dave Cross * MANIFEST: Added missing files. * bin/perlanet: Command line program now uses Perlanet::Simple rather than Perlanet. * lib/Perlanet.pm: Bump to version 0.47 for release. * lib/Perlanet/Simple.pm: Fixed called to 'agent' method. Removed nasty typo. * lib/Perlanet.pm: Added 'agent' to list of attributes. * t/01_basic.t: Minor reformatting. * t/testrc: Renamed opml attribute to opml_file. * lib/Perlanet.pm: Better error reporting on XML parsing failures. 2010-07-18 Oliver Charles * lib/Perlanet/Simple.pm, lib/Perlanet/Trait/FeedFile.pm, lib/Perlanet/Trait/Scrubber.pm, lib/Perlanet/Trait/TemplateToolkit.pm, lib/Perlanet/Trait/Tidy.pm, lib/Perlanet/Trait/YAMLConfig.pm: 100% POD coverage * Build.PL: MooseX::ConfigFromFile is required for tests 2010-06-08 Oliver Charles * lib/Perlanet.pm: Be less strict about what properties the output feed must have 2010-06-06 Oliver Charles * lib/Perlanet/Simple.pm: Fix POD syntax errors * Build.PL: Update Build.PL with new dependencies * lib/Perlanet.pm, lib/Perlanet/Simple.pm, lib/Perlanet/Trait/YAMLConfig.pm, t/02_basic.t, t/03_noconf.t, t/04_moose_constr.t, t/05_cache.t: Pass all tests I have removed some fairly redundant tests for now. Now that Perlanet is much more segmented we need to rewrite these tests to do some *real* testing - but at least this gets us a green light for now. 2010-06-03 Oliver Charles * lib/Perlanet.pm, lib/Perlanet/Trait/Scrubber.pm, lib/Perlanet/Trait/Tidy.pm: Slightly change the procedure for cleaning IronMan needs the uncleaned posts and the cleaned posts. This allows us to by default clean all posts, but IronMan can take out the clean_entries routine and run clean_html itself * lib/Perlanet.pm, lib/Perlanet/Simple.pm, lib/Perlanet/Trait/Cache.pm, lib/Perlanet/Trait/FeedFile.pm, lib/Perlanet/Trait/OPML.pm, lib/Perlanet/Trait/Scrubber.pm, lib/Perlanet/Trait/TemplateToolkit.pm, lib/Perlanet/Trait/Tidy.pm, lib/Perlanet/Trait/YAMLConfig.pm, t/01_basic.t, t/testrc: Split more things up into traits. Improved some docs too * lib/Perlanet.pm: Removed any reference of cfg from core Perlanet * lib/Perlanet.pm, lib/Perlanet/Simple.pm: Drastically simplified run in Perlanet to act like a pipeline. The process now takes a list of original feeds, finds valid ones, selects entries, sorts and filters them, cleans them, then renders them. The original behaviour of each of these steps has moved to Perlanet::Simple * lib/Perlanet.pm, lib/Perlanet/Simple.pm, lib/Perlanet/Trait/Cache.pm, lib/Perlanet/Trait/OPML.pm, t/01_basic.t: Begin work separating Perlanet. Currently, Perlanet does too much work, which is making it hard to use for other uses (ie, IronMan). I have started splitting this apart into traits (OPML generation, caching) and a new Perlanet::Simple module that is mostly a DWIM-from-config module to do what Perlanet currently does. This turns the main Perlanet into a pretty dumb module, that's mostly a pipeline of fetch posts, clean them, and then do something with them - it's up to subclasses or roles to decide what each of these steps actually means. 2010-04-25 Dave Cross * lib/Perlanet.pm: Fix typo. * lib/Perlanet.pm: Bump to version 0.46. 2010-04-19 Dave Cross * lib/Perlanet/Entry.pm: Add 'author' to the list of fields that Perlanet::Entry delegates to XML::Feed::Entry. 2010-03-05 Dave Cross * lib/Perlanet.pm: Removed unnecessary 'or next' logic. 2010-01-05 Dave Cross * lib/Perlanet.pm: Fix the (horribly broken) entries_per_feed code. Bump to version 0.45. * lib/Perlanet.pm, lib/Perlanet/Entry.pm: Perlanet::Entry also delegates the link method to XML::Feed::Entry. Bump version to 0.44. * lib/Perlanet.pm: Don't ignore the sorted list of entries - it's there for a reason :-/ Bumped to version 0.43. * t/05_cache.t: Fixed the previous fix. * Build.PL, t/05_cache.t: Add File::Path to build requirements. Ensure cache is deleted at start of caching test. * MANIFEST, lib/Perlanet.pm, t/05_cache.t, t/cacherc, t/perlanetrc: Found a bug in caching support. Added a test and fixed bug. Bumped to version 0.42. 2010-01-04 Dave Cross * MANIFEST: More stuff missing from MANIFEST * MANIFEST: Add missing tests to MANIFEST * MANIFEST, lib/Perlanet.pm: Fixed MANIFEST. Bumped version. * Build.PL, lib/Perlanet.pm: Pod fix * lib/Perlanet.pm: Bump to version 0.40 (coz there are some quite big changes). 2009-12-24 Dave Cross * lib/Perlanet.pm: Bit of code tidying (including taking some advice from Perl::Critic). * lib/Perlanet.pm: Merge documentation patches from Jess Robinson. 2009-12-13 Oliver Charles * lib/Perlanet.pm, lib/Perlanet/Entry.pm, lib/Perlanet/Feed.pm: Pass 100% of tests * lib/Perlanet.pm, lib/Perlanet/Entry.pm, lib/Perlanet/Feed.pm: Go back to 2 spaces for identing, like Dave Cross * lib/Perlanet.pm: Fixes to call to convert format * lib/Perlanet.pm, lib/Perlanet/Feed.pm: Perlanet::Entry to represent posts, with a back link to the feed * lib/Perlanet.pm, lib/Perlanet/Entry.pm: Represent entries as Perlanet::Entry objects * lib/Perlanet.pm: Split cleaning out to work as a function * lib/Perlanet.pm, lib/Perlanet/Feed.pm: * Introduced Perlanet::Feed object, which abstracts the "feeds" configuration option * select_entries now takes a list of feeds to fetch entries from * lib/Perlanet.pm: Flexible cutoff date * lib/Perlanet.pm: Refactor rendering and saving * lib/Perlanet.pm: Formatting stuff * lib/Perlanet.pm: Split out the cleaning stuff * lib/Perlanet.pm: Done sorting/grepping entries * lib/Perlanet.pm: Split out fetching a feed and selecting entries * lib/Perlanet.pm: Refactor body of run loop to fetch feeds 2009-11-23 Dave Cross * lib/Perlanet.pm: Bump to version 0.37. * lib/Perlanet.pm: Add support for HTTP proxy. 2009-10-28 Dave Cross * lib/Perlanet.pm: Version 0.34. 2009-10-15 Dave Cross * MANIFEST: Added t/data/davblog.xml to MANIFEST so the tests work as expected. 2009-10-14 Dave Cross * lib/Perlanet.pm: Oops. One too many entries. * lib/Perlanet.pm: Sort individual feed entries before selecting ones to use. Fix really stupid date sort bug. Version 0.35. 2009-10-14 Dave Cross * bin/perlanet, lib/Perlanet.pm: Fix former change. And document it. * lib/Perlanet.pm: Support an 'entries_per_feed' config option. 2009-10-12 Dave Cross * Build.PL, lib/Perlanet.pm, t/01_basic.t, t/04_moose_constr.t: Make XML::OPML::SimpleGen optional. * lib/Perlanet.pm: Version 0.34. * lib/Perlanet.pm: Really make CHI optional. 2009-10-11 Dave Cross * lib/Perlanet.pm: Bumped to version 0.33. * lib/Perlanet.pm: Fixed stupid error where feeds weren't getting processed if they returned a 304 status. * lib/Perlanet.pm, t/perlanetrc, t/testrc: Couple of typos fixed. More test fixes. * t/01_basic.t, t/02_basic.t, t/03_noconf.t, t/04_moose_constr.t, t/data/davblog.xml, t/perlanetrc, t/testrc: Work to improve test coverage. 2009-10-10 Dave Cross * lib/Perlanet.pm: Bump version to 0.32 * lib/Perlanet.pm: Work around bug in POSIX::setlocale. * lib/Perlanet.pm: Force config file to be opened as utf8 * bin/perlanet: Perltidied. * lib/Perlanet.pm: Fixed typo * Build.PL: Added Moose as a requirement. * lib/Perlanet.pm: Improved error handling (used Carp). 2009-10-07 Dave Cross * Build.PL: Added CHI to recommended modules. Moved Compress::ZLib to recommended modules. * lib/Perlanet.pm: Sort by modified, then issued dates. 2009-10-05 Dave Cross * lib/Perlanet.pm: Add newline to the end of 'warn' call. * bin/perlanet: Added usage and version command line options. * lib/Perlanet.pm: Only show LWP progress if attached to a console. Show status of request for everything other than success. Bump to version 0.31. * bin/perlanet: Add documentation of cache facility. 2009-10-04 Dave Cross * lib/Perlanet.pm: Decided to bump to 0.30 as it's quite a big change. * lib/Perlanet.pm: fix typo * Build.PL, lib/Perlanet.pm: Use a number of kappa's fixes * lib/Perlanet.pm: Bump version in preparation for next release. * lib/Perlanet.pm: Attempted XML::Aton Unicode fix. 2009-09-02 Dave Cross * lib/Perlanet.pm: Version 0.21. * MANIFEST: Added t/index.tt back into MANIFEST 2009-08-10 Dave Cross * lib/Perlanet.pm, t/pod_coverage.t: Initial port to Moose. 2009-06-21 Shlomi Fish * Build.PL: Added meta-resources and keywords. * Build.PL: Added strict and warnings to Build.PL. 2009-06-15 Dave Cross * lib/Perlanet.pm: Force TT output to utf8. 2009-06-14 Dave Cross * .gitignore, README, README.xml: Renamed README.xml to README. * lib/Perlanet.pm: Bump version number for release. * bin/perlanet, lib/Perlanet.pm: Fixed links to wiki * bin/perlanet, lib/Perlanet.pm: Typos in documentation 2009-04-28 Dave Cross * bin/perlanet: Corrected link to trac 2009-04-09 Dave Cross * t/01_basic.t, t/testrc: (Slightly) Better tests * .gitignore, t/index.tt: Adding .gitignore. * lib/Perlanet.pm: Moved opml initialisation into constructor. * lib/Perlanet.pm: Cleaned up code for dealing with extra entries. * lib/Perlanet.pm: Moved UA initialisation into constructor. 2009-04-07 Dave Cross * lib/Perlanet.pm: Only convert feeds if necessary. Use LWP::UserAgent instead of LWP::Simple. * bin/perlanet: Documented new 'agent' configuration option. * Build.PL: Removed unnecessary version string. Replace dependency on LWP::Simple with LWP::UserAgent. * t/testrc: Added agent string to test configuration 2008-10-23 Dave Cross * Build.PL: Requier version 0.22 of XML::Feed. * Build.PL: Bump version number for release * lib/Perlanet.pm: Fixes to make use of the code fixes in the recent releases of XML::Feed. This, in turn, means that we are now generating valid Atom feeds. Rah! 2008-09-29 Dave Cross * Build.PL: Bumped version number for release 0.07 2008-09-28 Alex Kapranoff * lib/Perlanet.pm: 1. Stop htmltidy from ruining entities. 2. Add title to OPML outline elements for compatibility. 2008-09-21 Dave Cross * Build.PL: Bumped version for new release. * MANIFEST: Added README and Changes to MANIFEST * README.xml: Added README.xml 2008-09-20 Dave Cross * Build.PL: Bumped version number. * bin/perlanet: Added a lot of documentation * lib/Perlanet.pm: Improved documentation. 2008-09-19 Dave Cross * Build.PL, MANIFEST: Bump version number (by 2). Added MANIFEST. * t/01_basic.t, t/testrc: Added a testrc and made t/01_basic.t look in the right place for it. * index.tt, perlanetrc: Moved some files around * examples/index.tt, examples/perlanetrc: Added examples directory * lib/Perlanet.pm: Added pod for the methods. * t/01_basic.t, t/pod.t, t/pod_coverage.t: Added (basic) tests * Build.PL, Makefile.PL: Switch from Makefile.PL to Build.PL * bin/perlanet, lib/Perlanet.pm, perlanet: First cut at separating most of the code out into a module * perlanet: Applying patches suggested by Alex Kapranoff. I think we're getting closer - but it's still not quite there. * Makefile.PL, index.tt, perlanet: Applied patch from Stephen Steneker. * Added Makefile.PL * Added Pod and tweaked perlanet * Added explicit charset meta element to HTML template * perlanetrc: Some changes to sample perlnetrc (now taken from planet skeptic) 2008-09-17 Dave Cross * perlanet: Remove unfinished 'decode' function. * perlanet: Remove decode call * perlanet: Add "use open" line to specify encoding. 2008-09-01 Dave Cross * perlanetrc: Changed author section of sample config file to reflect latest version. * perlanet: Huge bodge to work around XML::Feed's shortcomings and set the author element correctly. * perlanet: Decode the data as it comes into the program * perlanet: Remove id attributes from spans as they are very unlikely to remain unique 2008-08-29 Dave Cross * perlanet: Add the ability to generate OPML files. * perlanet: Make previous fix into a global replacement * perlanet: Nasty hack (which really don't like) to get round blogspot problem. * perlanet: Reverse order of HTML::Scrub and HTML::Tidy (scrub before tidy now) as HTML::Scrub seems to undo some of HTML::Tidy's good work. Possibly because the output I'm generating from HTML::Tidy is XHTML, not HTML. 2008-07-23 Dave Cross * perlanet: Pass $cfg to tt to enable increased cleverness in templates. * perlanet: Tweaks to allow style attributes in HTML. 2008-07-22 Dave Cross * perlanet: Allow align tags on images. 2008-04-06 Dave Cross * perlanet: Only show entries that are dated less than a week in the future. 2008-03-25 Dave Cross * perlanet: Corrected check for content type * perlanet: Process template in utf8 mode 2008-03-24 Dave Cross * perlanet: Added HTML::Scrubber support. Use 'min' rather than 'max' number of entries (d'oh!) * perlanet: Don't try to output more entries than you have. 2008-03-22 Dave Cross * perlanet: HTML::Tidy support now works correctly. * perlanet: Added support for HTML::Tidy 2008-03-17 Dave Cross * index.tt: Better HTML output. * perlanet: Better error checking. 2008-03-11 Dave Cross * perlanet: Ignore any feeds we can't retrieve 2008-03-10 Dave Cross * perlanet: Deal with feeds with crappy dates. Actually output the feed in the required format. 2008-03-09 Dave Cross * index.tt, perlanet, perlanetrc: Initial import Perlanet-v1.1.3/MANIFEST000444001750001750 127113312444620 13763 0ustar00davedave000000000000bin/perlanet Build.PL examples/index.tt examples/perlanetrc lib/Perlanet.pm lib/Perlanet/Entry.pm lib/Perlanet/Feed.pm lib/Perlanet/Simple.pm lib/Perlanet/Trait/Cache.pm lib/Perlanet/Trait/OPML.pm lib/Perlanet/Trait/TemplateToolkit.pm lib/Perlanet/Trait/YAMLConfig.pm lib/Perlanet/Trait/FeedFile.pm lib/Perlanet/Trait/Scrubber.pm lib/Perlanet/Trait/Tidy.pm Makefile.PL MANIFEST This list of files META.yml t/01_basic.t t/02_phases.t t/03_noconf.t t/04_mps.t t/05_cache.t t/06_youtube.t t/pod.t t/pod_coverage.t t/testrc t/perlanetrc t/cacherc t/mprc t/youtuberc t/youtube2rc t/index.tt README Changes t/data/davblog.xml t/data/stevebaker.xml t/data/talkcarswell.xml t/data/youtube.xml META.json Perlanet-v1.1.3/META.json000444001750001750 576013312444620 14262 0ustar00davedave000000000000{ "abstract" : "A program for creating programs that aggregate web feeds (both", "author" : [ "Dave Cross " ], "dynamic_config" : 1, "generated_by" : "Module::Build version 0.4224", "keywords" : [ "aggregate", "aggregator", "atom", "feed", "planet", "rss", "xml" ], "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : 2 }, "name" : "Perlanet", "prereqs" : { "build" : { "requires" : { "Alien::Tidyp" : "0", "File::Path" : "0", "MooseX::ConfigFromFile" : "0", "Test::More" : "0" } }, "configure" : { "requires" : { "Module::Build" : "0.42" } }, "runtime" : { "recommends" : { "CHI" : "0", "Compress::Zlib" : "0", "MooseX::ConfigFromFile" : "0", "XML::OPML::SimpleGen" : "0" }, "requires" : { "DateTime" : "0", "DateTime::Duration" : "0", "Encode" : "0", "HTML::Scrubber" : "0", "HTML::Tidy" : "0", "List::Util" : "0", "Moose" : "0", "MooseX::Traits" : "0", "Template" : "0", "Try::Tiny" : "0", "URI::Fetch" : "0", "XML::Feed" : "0.22", "YAML" : "0", "namespace::autoclean" : "0", "perl" : "v5.6.0" } } }, "provides" : { "Perlanet" : { "file" : "lib/Perlanet.pm", "version" : "v1.1.3" }, "Perlanet::Entry" : { "file" : "lib/Perlanet/Entry.pm" }, "Perlanet::Feed" : { "file" : "lib/Perlanet/Feed.pm" }, "Perlanet::Simple" : { "file" : "lib/Perlanet/Simple.pm" }, "Perlanet::Trait::Cache" : { "file" : "lib/Perlanet/Trait/Cache.pm" }, "Perlanet::Trait::FeedFile" : { "file" : "lib/Perlanet/Trait/FeedFile.pm" }, "Perlanet::Trait::OPML" : { "file" : "lib/Perlanet/Trait/OPML.pm" }, "Perlanet::Trait::Scrubber" : { "file" : "lib/Perlanet/Trait/Scrubber.pm" }, "Perlanet::Trait::TemplateToolkit" : { "file" : "lib/Perlanet/Trait/TemplateToolkit.pm" }, "Perlanet::Trait::Tidy" : { "file" : "lib/Perlanet/Trait/Tidy.pm" }, "Perlanet::Trait::YAMLConfig" : { "file" : "lib/Perlanet/Trait/YAMLConfig.pm" } }, "release_status" : "stable", "resources" : { "homepage" : "http://perlanet.mag-sol.com/", "license" : [ "http://dev.perl.org/licenses/" ], "repository" : { "type" : "git", "url" : "git://github.com/davorg/perlanet.git", "web" : "https://github.com/davorg/perlanet" } }, "version" : "v1.1.3", "x_serialization_backend" : "JSON::PP version 2.97001" } Perlanet-v1.1.3/META.yml000444001750001750 354113312444620 14105 0ustar00davedave000000000000--- abstract: 'A program for creating programs that aggregate web feeds (both' author: - 'Dave Cross ' build_requires: Alien::Tidyp: '0' File::Path: '0' MooseX::ConfigFromFile: '0' Test::More: '0' configure_requires: Module::Build: '0.42' dynamic_config: 1 generated_by: 'Module::Build version 0.4224, CPAN::Meta::Converter version 2.150010' keywords: - aggregate - aggregator - atom - feed - planet - rss - xml license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: Perlanet provides: Perlanet: file: lib/Perlanet.pm version: v1.1.3 Perlanet::Entry: file: lib/Perlanet/Entry.pm Perlanet::Feed: file: lib/Perlanet/Feed.pm Perlanet::Simple: file: lib/Perlanet/Simple.pm Perlanet::Trait::Cache: file: lib/Perlanet/Trait/Cache.pm Perlanet::Trait::FeedFile: file: lib/Perlanet/Trait/FeedFile.pm Perlanet::Trait::OPML: file: lib/Perlanet/Trait/OPML.pm Perlanet::Trait::Scrubber: file: lib/Perlanet/Trait/Scrubber.pm Perlanet::Trait::TemplateToolkit: file: lib/Perlanet/Trait/TemplateToolkit.pm Perlanet::Trait::Tidy: file: lib/Perlanet/Trait/Tidy.pm Perlanet::Trait::YAMLConfig: file: lib/Perlanet/Trait/YAMLConfig.pm recommends: CHI: '0' Compress::Zlib: '0' MooseX::ConfigFromFile: '0' XML::OPML::SimpleGen: '0' requires: DateTime: '0' DateTime::Duration: '0' Encode: '0' HTML::Scrubber: '0' HTML::Tidy: '0' List::Util: '0' Moose: '0' MooseX::Traits: '0' Template: '0' Try::Tiny: '0' URI::Fetch: '0' XML::Feed: '0.22' YAML: '0' namespace::autoclean: '0' perl: v5.6.0 resources: homepage: http://perlanet.mag-sol.com/ license: http://dev.perl.org/licenses/ repository: git://github.com/davorg/perlanet.git version: v1.1.3 x_serialization_backend: 'CPAN::Meta::YAML version 0.018' Perlanet-v1.1.3/Makefile.PL000444001750001750 205413312444620 14604 0ustar00davedave000000000000# Note: this file was auto-generated by Module::Build::Compat version 0.4224 require 5.006000; use ExtUtils::MakeMaker; WriteMakefile ( 'EXE_FILES' => [ 'bin/perlanet' ], 'INSTALLDIRS' => 'site', 'NAME' => 'Perlanet', 'PL_FILES' => {}, 'PREREQ_PM' => { 'DateTime' => 0, 'MooseX::Traits' => 0, 'Try::Tiny' => 0, 'DateTime::Duration' => 0, 'HTML::Scrubber' => 0, 'URI::Fetch' => 0, 'Alien::Tidyp' => 0, 'HTML::Tidy' => 0, 'XML::Feed' => '0.22', 'YAML' => 0, 'Moose' => 0, 'MooseX::ConfigFromFile' => 0, 'Template' => 0, 'File::Path' => 0, 'List::Util' => 0, 'Test::More' => 0, 'namespace::autoclean' => 0, 'Encode' => 0 }, 'VERSION_FROM' => 'lib/Perlanet.pm' ) ; Perlanet-v1.1.3/README000444001750001750 272613312444620 13520 0ustar00davedave000000000000 Perlanet -------- NAME Perlanet DESCRIPTION WHAT IS Perlanet? Perlanet is a Perl module for aggregating web feeds. It allows you to aggregate a number of web feeds (both Atom and RSS) and to publish a web page and another web feed containing the aggregated content. HOW DO I INSTALL IT? Perlanet uses the standard Perl module architecture and can therefore by installed using the standard Perl method which, in brief, goes something like this: gzip -cd Perlanet-X.XX.tar.gz | tar xvf - cd Perlanet-X.XX perl Build.PL ./Build ./Build test ./Build install Where X.XX is the version number of the module which you are installing. You can also install it using either the 'cpan' or 'cpanp' command line programs. WHERE IS THE DOCUMENTATION? All of the documentation is in POD format. The most useful documentation is included with the 'perlanet' program that is part of this distributions. If you install the module using the standard method you should be able to read it by typing perldoc perlanet at a comand prompt. LATEST VERSION The latest version of this module will always be available from CPAN. COPYRIGHT Copyright (C) 2008, Magnum Solutions Ltd. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. ANYTHING ELSE? If you have any further questions, please contact the author. AUTHOR Dave Cross Perlanet-v1.1.3/bin000755001750001750 013312444620 13244 5ustar00davedave000000000000Perlanet-v1.1.3/bin/perlanet000555001750001750 2074613312444620 15172 0ustar00davedave000000000000#!/usr/bin/env perl use strict; use warnings; use Perlanet::Simple; use Getopt::Std; use File::Basename; use vars qw{$VERSION}; BEGIN { $VERSION = $Perlanet::VERSION; } my %opts; getopts('hv', \%opts); version() if $opts{v} || $opts{h}; help() if $opts{h}; exit if $opts{v} || $opts{h}; my $cfg = shift || './perlanetrc'; my $p = Perlanet::Simple->new_with_config(configfile => $cfg); $p->run; sub version { my ($me) = fileparse $0; print "\n$me, version $VERSION\n\n"; } sub help { my ($me) = fileparse $0; print < 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. =head1 COMMAND LINE ARGUMENTS C 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 C in the current directory. =head1 CONFIGURATION FILE C requires a configuration file which contains details of which feeds to aggregate and what to do with the results of the aggregation. By default, C looks for a file called C 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 L for further details. =head2 Configuration Options The configuration file can contain the following options. =over 4 =item title The title of the resulting page and web feed. This option is mandatory. =item description The description of the resulting page and web feed. This option is mandatory. =item 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. =item 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. =item 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. =item entries The maximum number of entries to include in the aggregated content. This option is mandatory. =item entries_per_feed The C value above defines the total number of entries in the aggregated output feed. The 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. =item entry_sort_order Entries have two dates, issued (which is the date that the item was first published) and modified (which is the date that the item was last updated). This configuration option controls which of these two dates are used to sort the entries in a feed. It can be one of the two values C or C. If this option is omitted, then C is used. =item 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 C options (described below) will all require a C sub-option. =item page This mandatory option contains the details of the web page to be created. There are two sub-options - C gives the name of the file to be created and C