12 |
use POSIX qw/strftime/; |
use POSIX qw/strftime/; |
13 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
14 |
|
|
15 |
|
my $debug = 1; |
16 |
my $max = 999; |
my $max = 999; |
17 |
|
|
18 |
my $page; |
my $page; |
37 |
warn "SKIP: no LastModified in $path $name"; |
warn "SKIP: no LastModified in $path $name"; |
38 |
return; |
return; |
39 |
} |
} |
40 |
|
|
41 |
|
my $w = $ref->{widgets}->{widget}; |
42 |
|
|
43 |
my $data = |
my $data = |
44 |
$ref->{widgets}->{widget}->{data} || |
defined( $w->{data} ) ? $w->{data} : |
45 |
$ref->{widgets}->{widget}->{Body}->{data} || |
defined( $w->{Body}->{date} ) ? $w->{Body}->{date} : |
46 |
die "no data in $path ",dump( $ref ); |
die "no data in $path ",dump( $ref ); |
47 |
|
|
48 |
|
# empty data is returned like empty hash. yack. |
49 |
|
$data = "\n" if ref($data) eq 'HASH' and ! keys %$data; |
50 |
|
|
51 |
$page->{ $name } = { |
$page->{ $name } = { |
52 |
content => convert_markup( $data ), |
content => convert_markup( $data ), |
53 |
date => convert_date( $date ), |
date => convert_date( $date ), |
57 |
$name =~ s,^.+/([^/]+)$,$1,; |
$name =~ s,^.+/([^/]+)$,$1,; |
58 |
push @page_names, $name; |
push @page_names, $name; |
59 |
|
|
60 |
# warn dump( $ref ); |
warn "## $path = ",dump( $ref ) if $debug; |
61 |
}, |
}, |
62 |
}, shift @ARGV || '.'); |
}, shift @ARGV || '.'); |
63 |
|
|
135 |
last if $count++ == $max; |
last if $count++ == $max; |
136 |
|
|
137 |
my $p = $page->{$name}; |
my $p = $page->{$name}; |
138 |
|
|
139 |
|
warn "## $name = ",dump( $p ) if $debug; |
140 |
|
|
141 |
my $body = $p->{content} || die "no content?"; |
my $body = $p->{content} || die "no content?"; |
142 |
my $date = $p->{date} || die "no date?"; |
my $date = $p->{date} || die "no date?"; |
143 |
|
|