Sha256: f67022a2aa720b81890f0c7dc14595df27ca363f5fe638d846c23faceda60be9

Contents?: true

Size: 817 Bytes

Versions: 10

Compression:

Stored size: 817 Bytes

Contents

require "redcarpet"
require "rouge"
require "rouge/plugins/redcarpet"

class HTML < Redcarpet::Render::HTML
  include Rouge::Plugins::Redcarpet # yep, that's it.
end

# config/initializers/markdown.rb

# We define a module that can parse markdown to HTML with its `call` method
module MarkdownHandler
  def self.erb
    @erb ||= ActionView::Template.registered_template_handler(:erb)
  end

  def self.call(template, source)
    compiled_source = erb.call(template, source)
    "Redcarpet::Markdown.new(Redcarpet::Render::HTML.new(with_toc_data: true), extensions = {fenced_code_blocks: true}).render(begin;#{compiled_source};end).html_safe"
  end
end

# Now we tell Rails to process any files with the `.md` extension using our new MarkdownHandler
ActionView::Template.register_template_handler :md, MarkdownHandler

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
shadcn-ui-0.0.15 config/initializers/markdown.rb
shadcn-ui-0.0.14 config/initializers/markdown.rb
shadcn-ui-0.0.13 config/initializers/markdown.rb
shadcn-ui-0.0.12 config/initializers/markdown.rb
shadcn-ui-0.0.10 config/initializers/markdown.rb
shadcn-ui-0.0.8 config/initializers/markdown.rb
shadcn-ui-0.0.5 config/initializers/markdown.rb
shadcn-ui-0.0.4 config/initializers/markdown.rb
shadcn-ui-0.0.3 config/initializers/markdown.rb
shadcn-ui-0.0.2 config/initializers/markdown.rb