Download: rawdog-2.11.tar.gz (101K, MD5sum bcd73ab0348fbfafab22b3a0909a50a4, GPG signature)

Available through Darcs (Atom feed of changes):
darcs get http://offog.org/darcs/rawdog/

About rawdog

rawdog is an RSS Aggregator Without Delusions Of Grandeur. Written in Python, it uses Mark Pilgrim's feed parser to read RSS 0.9, 1.0, 2.0, CDF and Atom feeds. It runs from cron, collects articles from a number of feeds, and generates a static HTML page listing the newest articles in date order. It supports per-feed customisable update times, and uses ETags, Last-Modified, and gzip compression to minimise network bandwidth usage.

rawdog's output format is similar to that of PyDS and Hep; this is what a small fragment of it looks like in Konqueror with the default configuration:

rawdog screenshot

Full documentation is included in the source package to get you started with rawdog -- if you're using a binary package that doesn't include the documentation, you can view the latest README, config and style.css files here.

rawdog's output is built using templates; it's easy to integrate the output of rawdog into your own web pages. You can customise rawdog's behaviour further using plugin modules written in Python -- for example, you can provide output in different formats, or filter or modify incoming data from feeds. See the PLUGINS file in the source package for more details of the plugin API, or look at the example plugins below.

Mailing list

There is a mailing list for rawdog users and developers, upon which new versions of rawdog are announced and discussed.

Federico Sevilla III has set up a searchable archive of the rawdog mailing list.

Packaged versions of rawdog

rawdog packages are available for some systems; these are usually more convenient than installing rawdog using the source tarball.

On FreeBSD, you can install the news/rawdog port maintained by Tim Bishop.

SuSE users can use Tristan Miller's rawdog RPMs.

Xavier Santolaria maintains a www/rawdog port for OpenBSD.

Decklin Foster packages rawdog for Debian.

Plugins

Here are the plugins that are currently available; if you've written rawdog plugins that you'd like to be listed here, please let me know.

To install a plugin, make sure that you have plugindirs plugins in your config file, and drop the plugin into your ~/.rawdog/plugins directory.

Name Maintainer Purpose
archive Adam Sampson Write incoming articles in Atom format to a local archive (needs my atomwriter module)
article-filter Adam Sampson Filter articles on a per-feed basis using regular expressions
article-stats Adam Sampson Print counts of articles added, updated, expired and stored when rawdog exits
author-no-link Stephan Manske Provide author with HTML removed for templates
backwards Adam Sampson Example plugin: reverse the article sort order
digest-auth Adam Sampson Add HTTP digest authentication support
enclosure Virgil Bucoci Display links to article enclosures
feedgrep Steve Atwell Filter articles by regular expression
feedgroup Zephaniah E. Hull Index articles by user-defined groups
feedwise Virgil Bucoci Group articles by feed rather than by date
feed-execute Adam Sampson Execute commands before or after fetching feeds
imgstrip Virgil Bucoci Replace images with links
inline_link Brian Jaress Provide data: links to long article descriptions
links TheCrypto Add static links to rawdog's output
paged-output Adam Sampson Split output into several smaller files (needs rawdog 2.5rc1 or later)
select-feeds Adam Sampson Select feeds to include in the output
sidebarfeedwise Gutemberg A. Vieira Feed-grouped display with a sidebar
slashdot Virgil Bucoci Display Slashdot's department lines in articles
status-log Adam Sampson Keep and display a log of errors when fetching feeds
tagcat Decklin Foster Organise feeds using user-defined tags
truncate Adam Sampson Truncate and/or strip HTML markup from articles
vellum-templates Adam Sampson Replace rawdog's templating system with the one from Vellum
xml_archiver BAM Write rawdog's article database out as XML for external processing

Styles

The appearance of rawdog's output can be customised using CSS stylesheets and HTML templates. rawdog includes a default style (shown in the screenshot above), but here are some more that rawdog users have contributed. If you've come up with a new stylesheet or template that others might like, please let me know!

Name Author
dec23 Adam Sampson
shym Samuel Hym

Related work

Wari has written an xscreensaver fortune program that retrieves random articles from rawdog 1.x.

Nimrod's Dogwalker is a modified version of rawdog 1.x that supports FTP uploading and RTL languages like Hebrew.

Steve Pomeroy's rawdog to OPML exporter converts rawdog config files to OPML, with categories.

Conversely, Tero Karvinen's opml-export-feeds script can turn an OPML list into a rawdog config fragment.

Austin Bingham's rded provides a web-based interface for editing your rawdog config.

Brian M. Clapper's curn is very much like rawdog, but written in Java. Neither of us were aware of the other's project!

Keith Fieldhouse has written an article about using rawdog to keep track of software development.

If you've done something cool related to rawdog, let me know so I can add a link here to your project!

Contact: <ats@offog.org>

Copyright © 1997-2008 Adam Sampson

Why does this page look odd?