ActionMailer:从markdown以正确的方式渲染多部分电子邮件(text / html)?

时间:2013-12-06 13:46:30

标签: view ruby-on-rails-4 render markdown actionmailer

我想使用布局“电子邮件”从markdown呈现我的所有电子邮件。 一直在调查宝石和选项有2个宝石,我都无法工作:

maildown和markerb。

有没有人实施过一种方法来使用动作邮件程序从标记邮件模板渲染文本,html电子邮件以及使用布局?或者知道一个很好的更新文章吗?

Markerb注册了.markerb文件扩展名,如下所示:

module Markerb
  class Railtie < ::Rails::Railtie
    config.markerb = Markerb
    config.app_generators.mailer :template_engine => :markerb
  end
end

和     要求“redcarpet”     需要“markerb / railtie”

module Markerb
  mattr_accessor :processing_options, :renderer
  @@processing_options = {}
  @@renderer = Redcarpet::Render::HTML

  class Handler
    def erb_handler
      @erb_handler ||= ActionView::Template.registered_template_handler(:erb)
    end

    def call(template)
      compiled_source = erb_handler.call(template)
      if template.formats.include?(:html)
        "Redcarpet::Markdown.new(Markerb.renderer, Markerb.processing_options).render(begin;#{compiled_source};end).html_safe"
      else
        compiled_source
      end
    end
  end
end

ActionView::Template.register_template_handler :markerb, Markerb::Handler.new

0 个答案:

没有答案