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 )