package SVN::Web::RSS; @ISA = qw(SVN::Web::Log); use strict; use SVN::Web::Log; use XML::RSS; sub run { my $self = shift; my $data = $self->SUPER::run(@_)->{data}; my $rss = new XML::RSS (version => '1.0'); my $url = "http://$ENV{HTTP_HOST}$self->{script}/$self->{reposname}"; $rss->channel(title => "subversion revisions of $self->{path}", link => "$url/log$self->{path}", dc => { date => $self->{REVS}[0]{date}, creator => 'SVN::Web', publisher => "adm\@$ENV{HTTP_HOST}", }, syn => { updatePeriod => "daily", updateFrequency => "1", updateBase => "1901-01-01T00:00+00:00", }, ); $_ && $rss->add_item ( title => "$_->{rev} - ".substr ((split("\n",$_->{msg}, 1))[0], 0, 40), link => "$url/revision/?rev=$_->{rev}", dc => { date => $_->{date}, creator => $_->{author}, }, description => $_->{msg}, ) for @{$self->{REVS}}[0..10]; return { mimetype => 'text/xml', body => $rss->as_string }; } 1;