Sha256: eea42b11d3a8423fd37fd6008345f93e12300bb00760507ca38127b6370dadaa

Contents?: true

Size: 913 Bytes

Versions: 23

Compression:

Stored size: 913 Bytes

Contents

module OodAppkit
  # Class used to handle markdown views in `ActionView::Template`
  module MarkdownTemplateHandler
    # String of ruby code to be evaluated when rendering the view
    # @param template [ActionView::Template] the template to be rendered
    # @return [String] string of ruby code to be evaluated
    def self.call(template)
      "begin;#{render(template.source)}.html_safe;end"
    end

    # Render markdown to HTML
    # @param text [String] markdown text
    # @return [String] escaped version of html text surrounded by quote marks
    def self.render(text)
      markdown.render(text).inspect
    end

    private
      # Markdown renderer used
      def self.markdown
        @markdown ||= OodAppkit.markdown
      end
  end
end

# Register this handler for the various markdown extensions
ActionView::Template.register_template_handler :md, :markdown, OodAppkit::MarkdownTemplateHandler

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
ood_appkit-2.0.2 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-1.1.5 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-1.0.3 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-1.0.2 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-1.0.1 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-1.0.0 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.3.6 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.3.5 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.3.4 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.3.3 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.3.2 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.3.1 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.3.0 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.2.8 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.2.7 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.2.6 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.2.5 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.2.3 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.2.2 lib/ood_appkit/markdown_template_handler.rb
ood_appkit-0.2.1 lib/ood_appkit/markdown_template_handler.rb