Contenticious
view release on metacpan or search on metacpan
lib/Contenticious/Content/Node/Directory.pm view on Meta::CPAN
}
sub build_meta {
my $self = shift;
my %meta = ();
# does a 'meta' file exist?
my $meta_fn = $self->filename . '/meta';
if (-f -r $meta_fn) {
# open file for decoded reading
open my $meta_fh, '<:encoding(UTF-8)', $meta_fn
or croak "couldn't open $meta_fn: $!";
# slurp
my $meta_fc = do { local $/; <$meta_fh> };
# extract meta information
$meta{lc $1} = $2
while $meta_fc =~ s/\A(\w+):\s*(.*)[\n\r]+//;
}
lib/Contenticious/Content/Node/File.pm view on Meta::CPAN
use Mojo::Util 'decode';
use Text::Markdown 'markdown';
has raw => sub { shift->build_raw };
has content => sub { shift->build_content_and_meta->content };
has meta => sub { shift->build_content_and_meta->meta };
sub build_raw {
my $self = shift;
# open file for decoded reading
my $fn = $self->filename;
open my $fh, '<:encoding(UTF-8)', $fn or croak "couldn't open $fn: $!";
# slurp
return do { local $/; <$fh> };
}
sub build_content_and_meta {
my $self = shift;
my $content = $self->raw;
( run in 0.297 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )