59 lines
970 B
Perl
59 lines
970 B
Perl
|
package HiD::Generator::Markdown;
|
||
|
#ABSTRACT: Markdown Processor for HiD
|
||
|
use Moose;
|
||
|
with 'HiD::Generator';
|
||
|
use File::Find;
|
||
|
use File::Basename;
|
||
|
|
||
|
=head1 DESCRIPTION
|
||
|
|
||
|
This generator searches for all markdown files within the HiD working
|
||
|
directory and generates html pages from them.
|
||
|
|
||
|
=cut
|
||
|
|
||
|
=attr markdown files
|
||
|
|
||
|
all found markdown files
|
||
|
|
||
|
=cut
|
||
|
has 'markdown_files' => (is=>'rw', defaults => sub{return [];});
|
||
|
|
||
|
|
||
|
sub generate {
|
||
|
my( $self , $site ) = @_;
|
||
|
my $follow = $site->config->{markdown}{follow_symlinks} || "false";
|
||
|
|
||
|
return unless $site->config->{markdown}{generate};
|
||
|
|
||
|
if ($follow=~/true/)
|
||
|
{
|
||
|
$follow=1;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$follow=0;
|
||
|
}
|
||
|
|
||
|
# find all markdown files
|
||
|
find(sub {
|
||
|
return unless substr($_,0,1) != "_";
|
||
|
|
||
|
my($filename, $dirs, $suffix) = fileparse($File::Find::name);
|
||
|
|
||
|
return unless $suffix=="md";
|
||
|
|
||
|
push(@{$self->markdown_files()},$File::Find::name);
|
||
|
|
||
|
},
|
||
|
[$site->config->{source}]
|
||
|
);
|
||
|
|
||
|
# generate pages
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
1;
|