Markdown is popular tool to convert text to HTML.
In this blog we will learn how to integrate Markdown in our rails 4 app using
Little bit about the two gems:
RedCarpet- Redcarpet is a Ruby library for Markdown processing. The core of the Redcarpet library is the Redcarpet::Markdown class. Each instance of the class is attached to a Renderer object; the Markdown class performs parsing of a document and uses the attached renderer to generate output.
CodeRay- CodeRay is a Ruby library for syntax highlighting.You put your code in, and you get it back colored; Keywords, strings, floats, comments - all in different colors. And with line numbers.
Let’s dive straight to the implementation:
Add following gems to your gemfile:
Now in your
application_helper.rb, lets define a helper method to covert text to HTML and simultaneously have syntax highlighting integrated.
Now wherever you need to convert text to HTML, you can simply pass that text into a method named ‘markdown’ as show below
ALright! That’s it! We are done implementing markdown format for our rails app. The blog post is classic example of redcarpet + coderay.
If you want to have line numbers with your code blocks.
CodeRay.scan(code, language).div(line_numbers: :inline) OR
CodeRay.scan(code, language).div(line_numbers: :table)
If you don’t want CodeRay to autodetect code, then, remove
filter_html: true from CodeRayify object. So it becomes,
Possible use of this is when you want to use write direct html in your content, as sometimes it might be required.
This blog post is highly inspired by this post and most of the code is re-written.
I hope you like this post. Please comment down below you have doubts/questions or request for any topics. Thanks for reading!