App-BookmarkFeed
view release on metacpan or search on metacpan
lib/App/BookmarkFeed.pm view on Meta::CPAN
5960616263646566676869707172737475767778
my
$feed_file
=
pop
(
@files
);
die
"Usage:\nbookmark-feed markdown-files... feed-file\n"
unless
@files
;
my
(
$filename
,
$dirs
,
$suffix
) = fileparse(
$feed_file
,
".rss"
,
".xml"
);
my
$db_file
= File::Spec->catfile(
$dirs
,
$filename
.
".db"
);
my
$sql
= Mojo::SQLite->new(
"sqlite:$db_file"
);
$sql
->migrations->from_data->migrate;
my
$db
=
$sql
->db;
for
(
@files
) {
die
"$_ is not readable\n"
unless
-r
$_
}
my
@items
;
for
my
$file
(
@files
) {
my
$dt
= DateTime->from_epoch(
epoch
=> (
stat
(
$file
))[9]);
my
$md
= read_text(
$file
);
my
$parser
= CommonMark::Parser->new;
$parser
->feed(
$md
);
my
$doc
=
$parser
->finish;
push
(
@items
, to_items(
$doc
,
$dt
));
}
update(
$db
,
@items
);
write_feed(
$db
,
$feed_file
);
}
( run in 0.399 second using v1.01-cache-2.11-cpan-05444aca049 )