/gitfeed

Git repository to RSS translator and optional Sinatra-based server

Primary LanguageRubyMIT LicenseMIT

gitfeed

Produces an RSS v2 XML stream for a Git repository. Can be used inline in an application or as a stand-alone server.

Usage

Gitfeed can be used inline in an application to produce a string with the RSS commits:

require 'rubygems'
require 'gitfeed'

gf = Gitfeed.new('/home/git/repository')
puts gf.feed

It can also be used as a standalone server inside of an application:

require 'rubygems'
require 'gitfeed'

Gitfeed::Server.start('/home/git/repository')

Or it can be used on the command line:

gitfeed /home/git/repository

Customizing the output

You can specify a Haml file to be used for each entry, the default is:

/  
%p
  %strong Author:
  = entry.author.name
  <
  %a{ :href => "mailto:#{entry.author.email}" }
    = entry.author.email
  >
%p
  %strong Date:
  = entry.author.date
%p
  %strong Message:
  = entry.message
%p
  %strong SHA:
  = entry.objectish
- if @include_diffs && !entry.parents.empty?
  %pre
    = @git.diff(entry.parents.first.objectish, entry.objectish)

This can be passed as a configuration option either to the construtor, server or command line:

gitfeed --template=template.haml /home/git/repository

Copyright © 2010 Scott Wheeler. See LICENSE for details.