NAME
Pandoc::Filter::Lazy - facilitate creation of filters
SYNOPSIS
my $filter = Pandoc::Filter::Lazy->new(
'Header => sub { Header $_->level, [ Str $_->string ] }'
);
if ( $filter->error ) {
say STDERR $lazy->error;
say STDERR $lazy->code;
} else {
$filter->apply(...)
}
DESCRIPTION
This module helps creation of Pandoc::Filter with arguments given as string. The following should result in equivalent filters:
Pandoc::Walker::action( ... ); # ... as code
Pandoc::Filter::Lazy->new( '...' ) # '...' as string
The script passed as only argument is tried to convert to valid Perl by escaping selectors and adding a missing sub { ... }"
, for instance
Code|CodeBlock => say $_->class
Is converted to
'Code|CodeBlock' => sub { say $_->class }
METHODS
In addition to the methods inherited from Pandoc::Filter:
error
Return an error message if compilation of the filter failed.
script
Return the (possibly cleaned) script arguments to create the filter.
code( [ indent => $indent, ] [ function => $function ] )
Return a string of Perl code that can be used to create the same filter.
SEE ALSO
This module is used in command line scripts pandocwalk and pod2pandoc.