2.1 KiB
README
This is an RSS aggregator designed to work as a cron job, and output an HTML file for display and an XML file for its own RSS feed.
It is written in Perl and licensed under GPLv3.0.
Requirements
The following CPAN modules need to be installed on your server:
- LWP::Simple
- LWP::Protocol::https
- XML::RSS
- HTML::Entities
Configuration
The file has three main areas of configuration.
The Feed
This area is for general information on the site and feed.
- Title
- Webmaster email
- Description
- home URL
- feed URL
- copyright
There are three files you have to save, update these with the path of the folders on your server where they will be saved.
- Feed - the RSS feed generated for the site, should be an xml file
- HTML - the site itself, should be an html file
- Error Log - this lists URLs that did not work - should be a txt file
Example paths are given for CPanel type servers:
- Feed - /home/USER_NAME/public_html/feed.xml
- HTML - /home/USER_NAME/public_html/index.html
- Error Log - /home/USER_NAME/public_html/feed.log
You can change the length of time the feed retains by altering this variable to the time you’d like in weeks:
my $num_weeks = 2;
The Site
This section is the HTML that will be saved as the file. You can use variables from the feed section to keep things simple and consistent.
The variable $rssHTML is the output of the RSS aggregation.
The variable $listHTML is a UL list of the URLs that were used to make the page.
A sample is given in the file with a basic structure.
Note: You must include HTML_END at the end of the HTML section, and it must be on its own line without indention.
Note: Any instance of @, % or $ will need to be escaped in this area if it is not intended to be a Perl variable.
i.e. @media in your CSS
The Data
At the bottom of the file, under __DATA__, add your list of RSS feeds, one URL per line. URL should be to the direct XML feed, not the website in general.
Showcase
This was written to power the Sunday Morning Horror News site.