-#!/usr/bin/perl
-
use FindBin;
use lib $FindBin::Bin.'/code';
use Web::Simple 'Bloggery';
return Bloggery::Post->from_file($file);
}
+sub map {
+ my ($self, $code) = @_;
+ map $code->($_), $self->all;
+}
+
package Bloggery::Post;
sub from_file {
filter_response { $self->render_html($_[1]) },
},
sub (GET + /) {
- $self->redispatch('index.html')
+ redispatch_to '/index.html';
},
sub (GET + /index) {
$self->post_list
$data->html
} elsif ($data->isa('Bloggery::PostList')) {
<ul>,
- (map {
+ $data->map(sub {
my $path = '/'.$_->name.'.html';
<li>,
<h4>, <a href="$path">, $_->title, </a>, </h4>,
<span class="summary">, $_->summary_html, </span>,
</li>;
- } $data->all),
+ }),
</ul>;
} else {
<h2>, "Don't know how to render $data", </h2>;