Search code examples
ruby-on-railsmarkdownslim-lang

Rendering markdown with Slim/Rails from an instance var


I'm having trouble getting Slim to render my markdown:

div.container
    div.row
        div.col-md-8.job_description
            markdown: 
                = @listing.job_description

That just renders the string

This is an h1 ## h2 ### h3 > this is a quote * hello * goodbye foo

No line breaks or anything (which are contained in the actual string)

How do I get this to render properly? Thanks!


Solution

  • I gave up on using markdown: in slim, had tried everything.

    I ended up creating this helper, place it in just any file in app/helpers

    def markdown(content)
      return '' if content.blank?
      markdown = Redcarpet::Markdown.new(Redcarpet::Render::XHTML, autolink: true, space_after_headers: true)
      sanitize(markdown.render(content)).html_safe
    end
    

    And then in a view

    = markdown @listing.job_description
    

    You will of course have to install the redcarpet gem.

    gem 'redcarpet'