Name

Text::Markup::Markdown - Markdown parser for Text::Markup

Synopsis

my $html = Text::Markup->new->parse(file => 'README.md');
my $raw  = Text::Markup->new->parse(
    file    => 'README.md',
    options => [ raw => 1 ],
);

Description

This is the Markdown parser for Text::Markup. It reads in the file (relying on a BOM), hands it off to Text::Markdown::Discount for parsing, and then returns the generated HTML as an encoded UTF-8 string with an http-equiv="Content-Type" element identifying the encoding as UTF-8.

It recognizes files with the following extensions as Markdown:

.md
.mkd
.mkdn
.mdown
.markdown

To change it the files it recognizes, load this module directly and pass a regular expression matching the desired extension(s), like so:

use Text::Markup::Markdown qr{markd?};

Normally this module returns the output wrapped in a minimal HTML document skeleton. If you would like the raw output without the skeleton, you can pass the raw parameter to parse.

The Text::Markup::Markdown parse method supports an additional parameter, flags, a bitmask of Text::Markdown::Discount options. Use this parameter to replace the default, which is:

MKD_NOHEADER | MKD_TOC | MKD_DLEXTRA | MKD_FENCEDCODE | MKD_EXTRA_FOOTNOTE | MKD_IDANCHOR

See Also

National Funk Congress Deadlocked On Get Up/Get Down Issue. Markup or Markdown?

Author

David E. Wheeler <david@justatheory.com>

Copyright and License

Copyright (c) 2011-2025 David E. Wheeler. Some Rights Reserved.

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