NAME
Markdent::Parser - A markdown parser
VERSION
version 0.40
SYNOPSIS
my $handler = Markdent::Handler::HTMLStream->new( ... );my $parser = Markdent::Parser->new(dialect => ...,handler => $handler,);$parser->parse( markdown => $markdown );
DESCRIPTION
This class provides the primary interface for creating a parser. It ties a block and span parser together with a handler.
By default, it will parse the standard Markdown dialect, but you can provide alternate block or span parser classes.
METHODS
This class provides the following methods:
Markdent::Parser->new(...)
This method creates a new parser. It accepts the following parameters:
- •
-
dialects =>
$nameor [$name1,$name2]You can use this to apply dialect roles to the standard parser class.
If a dialect name does not contain a namespace separator (::), the constructor looks for roles named
"Markdent::Dialect::${dialect}::BlockParser"and"Markdent::Dialect::${dialect}::SpanParser".If a dialect name does contain a namespace separator, it is used a prefix -
$dialect::BlockParserand$dialect::SpanParser.If any relevant roles are found, they will be used by the parser.
It is okay if a given dialect only provides a block or span parser, but not both.
- •
-
block_parser_class =>
$classThis defaults to Markdent::Parser::BlockParser, but can be any class which implements the Markdent::Role::BlockParser role.
- •
-
span_parser_class =>
$classThis defaults to Markdent::Parser::SpanParser, but can be any class which implements the Markdent::Role::SpanParser role.
- •
-
handler =>
$handlerThis can be any object which implements the Markdent::Role::Handler role. It is required.
$parser->parse( markdown => $markdown )
This method parses the given document. The parsing will cause events to be fired which will be passed to the parser's handler.
ROLES
This class does the Markdent::Role::EventsAsMethods and Markdent::Role::Handler roles.
BUGS
See Markdent for bug reporting details.
Bugs may be submitted at <https://github.com/houseabsolute/Markdent/issues>.
I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".
SOURCE
The source code repository for Markdent can be found at <https://github.com/houseabsolute/Markdent>.
AUTHOR
Dave Rolsky <[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by Dave Rolsky.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
The full text of the license can be found in the LICENSE file included with this distribution.