plucky (3) Markdent.3pm.gz

Provided by: libmarkdent-perl_0.40-2_all bug

NAME

       Markdent - An event-based Markdown parser toolkit

VERSION

       version 0.40

SYNOPSIS

           use Markdent::Simple::Document;

           my $parser = Markdent::Simple::Document->new;
           my $html   = $parser->markdown_to_html(
               title    => 'My Document',
               markdown => $markdown,
           );

DESCRIPTION

       This distribution provides a toolkit for parsing Markdown (and Markdown variants, aka dialects). Unlike
       the other Markdown Perl tools, this module can be used for more than just generating HTML. The core
       parser generates events (like XML's SAX), making it easy to analyze a Markdown document in any number of
       ways.

       If you're only interested in converting Markdown to HTML, you can use the Markdent::Simple::Document
       class to do this, although you can just as well use better battle-tested tools like Text::Markdown.

       See Markdent::Manual for more details on how Markdent works and how you can use it.

QUICK MARKDOWN TO HTML CONVERSION

       If you just want to do some quick Markdown to HTML conversion use either the Markdent::Simple::Document
       or Markdent::Simple::Fragment class.

       This distribution also ships with a command line tool called markdent-html.  See that tool's
       documentation for details on how to use it.

PROCESSING PIPELINES

       If you want to create a Markdown processing pipeline, start by looking at the various handler classes:

       •   Markdent::Handler::HTMLStream::Document

       •   Markdent::Handler::HTMLStream::Fragment

       •   Markdent::Handler::HTMLStream::Multiplexer

       •   Markdent::Handler::HTMLStream::HTMLFilter

       •   Markdent::Handler::HTMLStream::CaptureEvents

       You will probably also want to write your own handler class as part of the pipeline. This will need to
       implement the Markdent::Role::Handler role.

       To do that you'll need to review the many "Markdent::Event::*" classes. Each event represents something
       seen by the parse, such as a piece of the start or end of a piece of block (paragraph, header) or span
       markup (strong, link) or some text.

       The start of a pipeline will generally be either the Markdent::Parser or Markdent::CapturedEvents class.

CUSTOM DIALECTS

       You may also want to implement a custom dialect to add some additional features to the parser. Your
       parser classes will need to consume either the Markdent::Role::Dialect::BlockParser or the
       Markdent::Role::Dialect::SpanParser role. The best way to understand how a dialect is implemented is to
       look at one of the existing dialect classes:

       •   Markdent::Dialect::GitHub::BlockParser

       •   Markdent::Dialect::GitHub::SpanParser

       •   Markdent::Dialect::Theory::BlockParser

       •   Markdent::Dialect::Theory::SpanParser

       You'll also need to dig into the core Markdent::Parser::BlockParser and Markdent::Parser::SpanParser
       classes in order to see how these dialects interact with the core parser.

DONATIONS

       If you'd like to thank me for the work I've done on this module, please consider making a "donation" to
       me via PayPal. I spend a lot of free time creating free software, and would appreciate any support you'd
       care to offer.

       Please note that I am not suggesting that you must do this in order for me to continue working on this
       particular software. I will continue to do so, inasmuch as I have in the past, for as long as it
       interests me.

       Similarly, a donation made in this way will probably not make me work on this software much more, unless
       I get so many donations that I can consider working on free software full time, which seems unlikely at
       best.

       To donate, log into PayPal and send money to autarch@urth.org or use the button on this page:
       <http://www.urth.org/~autarch/fs-donation.html>

BUGS

       Please report any bugs or feature requests to "bug-markdent@rt.cpan.org", or through the web interface at
       <http://rt.cpan.org>.  I will be notified, and then you'll automatically be notified of progress on your
       bug as I make changes.

       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>.

DONATIONS

       If you'd like to thank me for the work I've done on this module, please consider making a "donation" to
       me via PayPal. I spend a lot of free time creating free software, and would appreciate any support you'd
       care to offer.

       Please note that I am not suggesting that you must do this in order for me to continue working on this
       particular software. I will continue to do so, inasmuch as I have in the past, for as long as it
       interests me.

       Similarly, a donation made in this way will probably not make me work on this software much more, unless
       I get so many donations that I can consider working on free software full time (let's all have a chuckle
       at that together).

       To donate, log into PayPal and send money to autarch@urth.org, or use the button at
       <https://www.urth.org/fs-donation.html>.

AUTHOR

       Dave Rolsky <autarch@urth.org>

CONTRIBUTORS

       •   Andrew Speer <andrew.speer@isolutions.com.au>

       •   Denis Ibaev <dionys@gmail.com>

       •   Jason McIntosh <jmac@appleseed-sc.com>

       •   Jonas Smedegaard <dr@jones.dk>

       •   Konrad Bucheli <konrad.bucheli@gmx.ch>

       •   Polina Shubina <925043@mai.com>

       •   Shlomi Fish <shlomif@shlomifish.org>

       •   Stefan Hornburg (Racke) <racke@linuxia.de>

       •   Tom Hukins <tom@eborcom.com>

       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.