NAME
Email::MIME::Kit::Assembler::Markdown - build multipart/alternative messages from Markdown alone
VERSION
version 0.100007
SYNOPSIS
In your mkit's (JSON, here) manifest:
{
"renderer" : "TT",
"assembler": [
"Markdown",
{ "html_wrapper": "wrapper.html" }
],
"path" : "body.mkdn",
"header": [
{ "Subject": "DynaWoop is now hiring!" },
{ "From" : "[% from_addr %]" }
{ "To" : "[% user.email %]" }
]
}
This kit will build a multipart/alternative message with a plaintext part (containing the rendered contents of body.mkdn ) and an HTML part (containing body.mkdn rendered into HTML using Markdown).
At present, attachments are not supported. Actually, quite a few things found in the standard assembler are not yet supported. The standard assembler desperately needs to be refactored to make its features easier to incorporate into other assemblers.
The html_wrapper
parameter for the Markdown assembler is the path to a kit entry. If given, that kit entry will be used for the HTML part, and the Markdown-produced HTML will be injected into it, replacing a comment containing the marker
given in the Markdown assembler's configuration. The default marker is CONTENT
, so the wrapper.html used above might read as follows:
<h1>DynaWoop Dynamic Woopages</h1>
<!-- CONTENT -->
<p>Click to unsubscribe: <a href="[% unsub_url %]">here</a></p>
The text_wrapper
setting works exactly the same way, down to looking for an HTML-like comment containing the marker. It wraps the Markdown content after it has been rendered by the kit's Renderer, if any.
If given (and true), the munge_signature
option will perform some basic munging of a sigdash-prefixed signature in the source text, hardening line breaks. The specific munging performed is not guaranteed to remain exactly stable.
If given (and true), the render_wrapper
option will cause the kit entry to be passed through the renderer named in the kit. That is to say, the kit entry is a template. In this case, the marker
comment is ignored. Instead, the wrapped content (Markdown-produced HTML or text) is available in a template parameter called wrapped_content
, and should be included that way.
If given (and true), the encode_entities
option will cause HTML in the source text to be entity encoded in the HTML part (and passed through unmodified in the plain text part)
AUTHOR
Ricardo Signes <rjbs@cpan.org>
CONTRIBUTORS
Chris Nehren <cnehren@gmail.com>
Michael McClimon <michael@mcclimon.org>
Robert Norris <rob@eatenbyagrue.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2018 by Ricardo Signes.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.