class Lookbook::MarkdownRenderer

def call

def call
  clean_text = ActionViewAnnotationsStripper.call(text)
  md = Redcarpet::Markdown.new(LookbookMarkdownRenderer.new(default_options), extensions)
  md.render(clean_text).html_safe
end

def default_options

def default_options
  {
    with_toc_data: true
  }
end

def initialize(text, extensions = {}, options = {})

In Lookbook config, `markdown_options` are actually Redcarpet `extensions` so we store them as `@extensions`
def initialize(text, extensions = {}, options = {})
  @text = text
  @extensions = Lookbook.config.markdown_options.merge(extensions.to_h)
  @options = default_options.merge(options.to_h)
end