.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Text::Markup::CommonMark 3pm" .TH Text::Markup::CommonMark 3pm 2024-03-03 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH Name .IX Header "Name" Text::Markup::CommonMark \- CommonMark Markdown parser for Text::Markup .SH Synopsis .IX Header "Synopsis" .Vb 6 \& use Text::Markup::CommonMark; \& my $html = Text::Markup\->new\->parse(file => \*(AqREADME.md\*(Aq); \& my $raw = Text::Markup\->new\->parse( \& file => \*(AqREADME.md\*(Aq, \& options => [ raw => 1 ], \& ); .Ve .SH Description .IX Header "Description" This is the CommonMark parser for Text::Markup. On load, it replaces the default Text::Markup::Markdown parser for parsing Markdown . Note that Text::Markup does not load this module by default, but when loaded manually will be the preferred Markdown parser. .PP Text::Markup::CommonMark reads in the file (relying on a BOM ), hands it off to CommonMark for parsing, and then returns the generated HTML as an encoded UTF\-8 string with an \f(CW\*(C`http\-equiv="Content\-Type"\*(C'\fR element identifying the encoding as UTF\-8. .PP It recognizes files with the following extensions as CommonMark Markdown: .IP \fI.md\fR 4 .IX Item ".md" .PD 0 .IP \fI.mkd\fR 4 .IX Item ".mkd" .IP \fI.mkdn\fR 4 .IX Item ".mkdn" .IP \fI.mdown\fR 4 .IX Item ".mdown" .IP \fI.markdown\fR 4 .IX Item ".markdown" .PD .PP To change it the files it recognizes, load this module directly and pass a regular expression matching the desired extension(s), like so: .PP .Vb 1 \& use Text::Markup::CommonMark qr{markd?}; .Ve .PP 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 \f(CW\*(C`raw\*(C'\fR option to \f(CW\*(C`parse\*(C'\fR. .PP In addition Text::CommonMark supports all of the CommonMark parse options and render options, including: .ie n .IP """smart""" 4 .el .IP \f(CWsmart\fR 4 .IX Item "smart" When true, convert straight quotes to curly, \-\-\- to em dashes, \-\- to en dashes. Enabled by default. .ie n .IP """sourcepos""" 4 .el .IP \f(CWsourcepos\fR 4 .IX Item "sourcepos" When true, include a data-sourcepos attribute on all block elements. Disabled by default. .Sp .Vb 1 \& =item C .Ve .Sp When true, render soft-break elements as hard line breaks. Disabled by default. .Sp .Vb 1 \& =item C .Ve .Sp When true, render soft-break elements as spaces. Disabled by default. .Sp .Vb 1 \& =item C .Ve .Sp When true, validate UTF\-8 in the input before parsing, replacing illegal sequences with the replacement character \f(CW\*(C`U+FFFD\*(C'\fR. Disabled by default. .Sp .Vb 1 \& =item C .Ve .Sp Render raw HTML and unsafe links (\f(CW\*(C`javascript:\*(C'\fR, \f(CW\*(C`vbscript:\*(C'\fR, \f(CW\*(C`file:\*(C'\fR, and \&\f(CW\*(C`data:\*(C'\fR, except for \f(CW\*(C`image/png\*(C'\fR, \f(CW\*(C`image/gif\*(C'\fR, \f(CW\*(C`image/jpeg\*(C'\fR, or \&\f(CW\*(C`image/webp\*(C'\fR mime types). Raw HTML is replaced by a placeholder HTML comment. Unsafe links are replaced by empty strings. Enabled by default. .SH Author .IX Header "Author" David E. Wheeler .SH "Copyright and License" .IX Header "Copyright and License" Copyright (c) 2011\-2024 David E. Wheeler. Some Rights Reserved. .PP This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.