Sha256: 920be758e39f8beb29e4b76a07f54b6a69c6d24c0ff63021271edfe1e4b69600
Contents?: true
Size: 996 Bytes
Versions: 5
Compression:
Stored size: 996 Bytes
Contents
require 'redcarpet' module PushType class MarkdownField < PushType::FieldType DEFAULT_EXTENSIONS = { autolink: true, fenced_code_blocks: true, no_intra_emphasis: true, space_after_headers: true, strikethrough: true, tables: true, underline: true } def form_helper @opts[:form_helper] || :text_area end def markdown @markdown ||= Redcarpet::Markdown.new(renderer, extensions) end def renderer ( @opts[:renderer] || Redcarpet::Render::HTML ).new render_options end def render_options @opts[:render_options] || {} end def extensions DEFAULT_EXTENSIONS.merge(@opts[:extensions] || {}) end initialized_on_node do |object, field| object.presenter_class.class_eval do define_method field.name.to_sym do fields[field.name.to_sym].markdown.render super() end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems