Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Render any text as markdown, with code highlighting and all!
Ruby CSS

Merge pull request #7 from gabrielecirulli/patch-1

Use Github fenced code blocks in readme
latest commit 8001bd7a0e
@mrcasals mrcasals authored
Failed to load latest commit information.
lib
spec
.gemtest
.gitignore
.rspec
.rvmrc
Gemfile
Gemfile.lock
LICENSE
Rakefile
Readme.md
init.rb
markdownizer.gemspec

Readme.md

Markdownizer

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

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

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

Install

In your Gemfile:

gem 'markdownizer'

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

rails generate markdownizer:install

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

Usage

In your model, let's say, Post:

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

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
        . . .
      end
    end

  {% endcode %}
"""

And then, in your view you just have to call @post.rendered_body :)

Contribute!

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add specs for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. If you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull.
  • Send me a pull request. Bonus points for topic branches.

Copyright

Copyright (c) 2011-2013 Codegram. See LICENSE for details.

Something went wrong with that request. Please try again.