Extended Markdownizer
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


#Extended Markdownizer

A simple gem for Rails 3 to render some ActiveRecord text field as Markdown!

Based on Markdownizer, by Txus.

It mixes CodeRay and RDiscount to give you awesome code highlighting :)

Besides that:

  • Converts Youtube urls into embedded videos.
  • Converts Vimeo urls into embedded videos.
  • Converts image urls into the img element.
  • Detects urls and converts into anchors.

You can check the generated Rocco documentation on the project page.


In your Gemfile:

gem 'extended_markdownizer'

If you want code highlighting, you should run this generator too:

rails generate extended_markdownizer:install

This will place a extended_markdownizer.css file in your public/stylesheets folder. You will have to require it manually in your layouts, or through jammit, or whatever.


In your model, let's say, Post:

class Post < ActiveRecord::Base
  extended_markdownize! :body
  # In this case we want to treat :body as markdown.
  # You can pass an options hash to the code renderer, such as:
  #   extended_markdownize! :body, :line_numbers => :table

Extended Markdownizer needs an additional field (:rendered_body), which you should generate in a migration. (If the attribute was :some_other_field, it would need :rendered_some_other_field!) All these fields should have the type :text.

You save your posts with markdown text like this:

Post.create body: """
  # My H1 title
  Markdown is awesome!
  ## Some H2 title...

  {% code ruby %}
  {% caption 'This caption will become an h5 and also a property of the enclosing div' %}
  {% highlight [1,2,3] %}  <- this will highlight lines 1, 2 and 3 (it accepts a Range as well)

    # All this code will be highlighted properly! :)
    def my_method(*my_args)
      something do
        . . .

  {% endcode %}

And then, in your view you just have to call <%= raw @post.rendered_body %> :)


  • 0.1.3 Added image detection, so when the urls to images are detected and converted into img elements
  • 0.1.2 First version (because I was playing with the 0.1.1 so it doesn't count)


  • Update specs
  • Improve docs


Markdown: Copyright (c) 2011 Codegram. See LICENSE for details. Extended Markdown: Copyright (c) 2011 José M. Gilgado