|
|
- #!/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 = '<pre>' . encode_entities($full_commit) . '</pre>';
- 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));
- }
|