Sha256: da65c6a9724e03de43355cb85fd37271a684efc6151dbd251d0385e8e2a385da

Contents?: true

Size: 723 Bytes

Versions: 3

Compression:

Stored size: 723 Bytes

Contents

# Tag for text content that is going to be rendered using textarea with markdown
#   {{ cms:markdown identifier }}
#
class ComfortableMexicanSofa::Content::Tag::Markdown < ComfortableMexicanSofa::Content::Tag::Fragment

  def render
    self.renderable ? Kramdown::Document.new(self.content.to_s).to_html : ""
  end

  def form_field(object_name, view, index, &block)
    name    = "#{object_name}[fragments_attributes][#{index}][content]"
    options = {id: nil, data: {"cms-cm-mode" => "text/x-markdown"}}
    input   = view.send(:text_area_tag, name, self.content, options)

    yield input
  end
end

ComfortableMexicanSofa::Content::Renderer.register_tag(
  :markdown, ComfortableMexicanSofa::Content::Tag::Markdown
)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
comfortable_mexican_sofa-2.0.2 lib/comfortable_mexican_sofa/content/tags/markdown.rb
comfortable_mexican_sofa-2.0.1 lib/comfortable_mexican_sofa/content/tags/markdown.rb
comfortable_mexican_sofa-2.0.0 lib/comfortable_mexican_sofa/content/tags/markdown.rb