#!/usr/bin/env perl # TODO: this really just ought to be a general-purpose utility use warnings; use strict; use 5.10.0; use XML::Atom::SimpleFeed; use HTML::Entities; my $page_url = "http://tilde.club/~brennen/"; my $feed_url = "http://tilde.club/~brennen/feed.xml"; my $log = `git log -10 --pretty=format:"%H _ %ai _ %s"`; my $feed = XML::Atom::SimpleFeed->new( title => "Brennen's tilde.club page", link => $page_url, link => { rel => 'self', href => $feed_url, }, author => 'Brennen Bearnes', id => $page_url, generator => 'XML::Atom::SimpleFeed', # updated => iso_date(Wala::get_mtime($month_file)), ); while ($log =~ m/^([a-z0-9]+) _ (.*) _ (.*)$/gm) { my $hash = $1; my $full_commit = `git show $hash`; my $formatted_commit = '
' . encode_entities($full_commit) . '
'; my $date = $2; my $subj = $3; $feed->add_entry( title => $subj, link => $page_url, id => $hash, content => $formatted_commit, updated => $date, ); } print $feed->as_string; sub iso_date { my ($time) = @_; return strftime("%Y-%m-%dT%H:%M:%SZ", localtime($time)); }