);
}
+sub search_help : Local {
+ my ($self, $c) = @_;
+ $c->stash(template => 'search_help.tt2');
+}
+
sub atom : Local {
- # FIXME - implement atom
- Carp::croak "Not implemented.";
- }
+ my($self, $c) = @_;
- sub rss : Local {
- # FIXME - implement rss
- Carp::croak "Not implemented.";
- }
+ my $feed = XML::Atom::Feed->new;
- sub blobdiff_plain : Local {
- # FIXME - implement blobdiff_plain
- Carp::croak "Not implemented.";
+ my $host = lc Sys::Hostname::hostname();
+ $feed->title($host . ' - ' . Gitalist->config->{name});
+ $feed->updated(~~DateTime->now);
+
+ my $project = $c->stash->{Project};
+ my %logargs = (
+ sha1 => $project->head_hash,
+ count => Gitalist->config->{paging}{log} || 25,
+ ($c->req->param('f') ? (file => $c->req->param('f')) : ())
+ );
+
+ my $mk_title = $c->stash->{short_cmt};
+ for my $commit ($project->list_revs(%logargs)) {
+ my $entry = XML::Atom::Entry->new;
+ $entry->title( $mk_title->($commit->comment) );
+ $entry->id($c->uri_for('commit', {h=>$commit->sha1}));
+ # XXX Needs work ...
+ $entry->content($commit->comment);
+ $feed->add_entry($entry);
+ }
+
+ $c->stash(
+ feed => $feed->as_xml,
+ no_wrapper => 1,
+ );
+ $c->response->content_type('application/atom+xml')
}
- sub blob_plain : Local {
- # FIXME - implement blobdiff_plain
-sub search_help : Local {
- # FIXME - implement search_help
- Carp::croak "Not implemented.";
-}
-
+ sub rss : Local {
+ # FIXME - implement rss
Carp::croak "Not implemented.";
}