Email::MIME::Kit::Assembler::Markdown - build multipart/alternative messages from Markdown alone
version 0.100006
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:
html_wrapper
marker
CONTENT
<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.
text_wrapper
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.
munge_signature
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.
render_wrapper
wrapped_content
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)
encode_entities
Ricardo Signes <rjbs@cpan.org>
Chris Nehren <cnehren@gmail.com>
Michael McClimon <michael@mcclimon.org>
Robert Norris <rob@eatenbyagrue.org>
This software is copyright (c) 2017 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.
To install Email::MIME::Kit::Assembler::Markdown, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Email::MIME::Kit::Assembler::Markdown
CPAN shell
perl -MCPAN -e shell install Email::MIME::Kit::Assembler::Markdown
For more information on module installation, please visit the detailed CPAN module installation guide.