Markerb Pure
This fork uses Kramdown for generating the HTML. Since Kramdown is a fast, pure Ruby implementation, you can use markerb-pure also on JRuby.
Markerb
Markerb allows you to render multipart e-mails from a single template. The template is written in Markdown, which is delivered as a text part, but also rendered and delivered as an HTML part.
The usage is quite simple. Assuming you have a notifier as below:
class Notifier < ActionMailer::Base
def contact(recipient)
@recipient = recipient
mail(:to => @recipient, :from => "[email protected]") do |format|
format.text
format.html
end
end
end
If you create a template at app/views/notifier/contact.markerb
:
Multipart templates **rocks**, right <%= @recipient %>?!
It will generate two parts, one in text and another in html when delivered. Before we finish, here are a few things you might need to know:
The
contact.markerb
template should not have a format in its name. Adding a format would make it unavailable to be rendered in different formats.The order of the parts matter. It is important for e-mail clients that you call
format.text
before you callformat.html
.Notice you can normally use ERb inside the template.
Enjoy!
Copyright and License
Created by the fine folks at PlataformaTec under the MIT-LICENSE (please check MIT-LICENSE file for more info). Adapted to a pure markdown library for usage on JRuby by Michael Kessler.