package Dancer2::Plugin::MarkdownFilesToHTML::MarkdownParser ; use strict; use warnings; use parent qw(Exporter); our @EXPORT = qw( markdown ); use XSLoader; XSLoader::load('Text::Markdown::Hoedown', '1.02'); sub markdown { my $str = shift; my %args = ( html_options => 0, extensions => '| HOEDOWN_EXT_FENCED_CODE', max_nesting => 16, toc_nesting_lvl => 99, @_, ); my $renderer = Text::Markdown::Hoedown::Renderer::HTML->new( $args{html_options}, $args{toc_nesting_lvl}, ); my $md = Text::Markdown::Hoedown::Markdown->new( $args{extensions}, $args{max_nesting}, $renderer ); return $md->render($str); }