package Mardent::Dialect::Theory; =pod =head1 NAME Markdent::Dialect::Theory - Markdown extensions proposed by David Wheeler (aka Theory) =head1 SYNOPSIS use Markdent::Parser; my $parser = Markdent::Parser->new( dialects => 'Theory', handler => ... ); =head1 DESCRIPTION The Theory roles add parsing for Markdown extensions proposed by David Wheeler (aka Theory). See L and L for details. =head2 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. =over 4 =item The header's "marker" row can use "+====+" as well as "+----+": | Header 1 | Header 2 | +==========+==========+ | Body 1 | Body 2 | =item The table does not require a header: | Body 1 | Body 2 | | Body 3 | Body 4 | =item 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 | +------+-------------+------------------------------+--------+ =item Currently it just does tables, not definition lists. This will be fixed in a future release. =item 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). =back =head1 BUGS See L for bug reporting details. =head1 AUTHOR Dave Rolsky, Eautarch@urth.orgE =head1 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. =cut