NAME

Markdent::Dialect::Theory - Markdown extensions proposed by David Wheeler (aka Theory)

SYNOPSIS

use Markdent::Parser;

my $parser = Markdent::Parser->new( dialects => 'Theory', handler => ... );

DESCRIPTION

The Theory roles add parsing for Markdown extensions proposed by David Wheeler (aka Theory). See http://justatheory.com/computers/markup/markdown-table-rfc.html and http://justatheory.com/computers/markup/modest-markdown-proposal.html for details.

DEVIATIONS

The dialect differs from David Wheeler's proposals in a few ways. Most of these deviations were discussed with David Wheeler and included with his approval.

  • The header's "marker" row can use "+====+" as well as "+----+":

    | Header 1 | Header 2 |
    +==========+==========+
    | Body 1   | Body 2   |
  • The table does not require a header:

    | Body 1 | Body 2 |
    | Body 3 | Body 4 |
  • You can include a header marker at the beginning and/or end of the table. This matches how MySQL outputs tables from its CLI tool.

    +------+-------------+------------------------------+--------+
    | id   | name        | description                  | price  |
    +------+-------------+------------------------------+--------+
    |    1 | gizmo       | Takes care of the doohickies |   1.99 |
    |    2 | doodad      | Collects *gizmos*            |  23.80 |
    |   10 | dojigger    | Foo                          | 102.98 |
    | 1024 | thingamabob | Self-explanatory, no?        |   0.99 |
    +------+-------------+------------------------------+--------+
  • Currently it just does tables, not definition lists. This will be fixed in a future release.

  • Table continuation lines are expected to have the same number of cells as the line being continued. In other words, this doesn't work:

    | cell1 | cell2     |
            : continues

    Instead, you must write this:

    | cell1 | cell2     |
    :       : continues :

    This is not an approved deviation, and may be corrected in a future release if I can figure out how to do so (patches welcome).

BUGS

See Markdent for bug reporting details.

AUTHOR

Dave Rolsky, <autarch@urth.org>

COPYRIGHT & LICENSE

Copyright 2009-2012 Dave Rolsky, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.