Skip to content

nyarvin/rssagg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 

Repository files navigation

This is a simple RSS aggregator, written in Perl.  It has a low number
of CPAN dependencies, and produces a single HTML page of output.

Inputs:
	rss.list - text file with one feed URL per line; RSS/RDF/Atom are
	    supported.

	    Comments can be included in the file: any line starting
	    with a '#' is ignored.  (There can be whitespace before
	    the '#'.)  Blank lines are likewise ignored.

	    Also supported are conditions which must be satisfied for
	    each article to be printed: the conditions for a URL
	    should be put on the lines following the URL, and indented
	    (by spaces or tabs).  For instance, to subscribe to the
	    Volokh Conspiracy weblog, but only to posts by Orin Kerr
	    or Eugene Volokh, not the twenty or so other
	    "co-conspirators", you can write:

	    http://volokh.com/feed/
	        $author eq "Eugene Volokh" or
	        $author eq "Orin Kerr"

	    The syntax for the condition is Perl syntax; the code uses
	    Perl's eval() function to evaluate it.  The accessible
	    variables are $author, $title, $link (a hyperlink to the
	    web version of the post), and $text (its full text, if
	    you're lucky).  Since the condition can be arbitrary Perl
	    code, you can also do other things with it, including
	    changing any or all of those variables.

Outputs:
	index.html - fresh digest
	1.html .. 9.html - rotated previous digests

Program state:
	rss.data - binary file with last states of feeds (Last-modified, Etag
            and hashes of articles seen)

How to run:
	./rssagg.pl <DIRECTORY>

where <DIRECTORY> is where all the above files are located.

When started from the terminal it prints each URL before it is fetched;
otherwise it's silent.

About

RSS aggregator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Perl 100.0%