Mongoid Markdown Extension
Mongoid field extension that returns an object with to_html
method returning the content converted from Markdown syntax to html. The Markdown conversion is done using the Redcarpet library.
Installation
Add this line to your application's Gemfile:
gem 'mongoid_markdown_extension'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mongoid_markdown_extension
Configuration
The defaults are as follows:
extensions = {
autolink: true
footnotes: true
highlight: true
space_after_headers: true
strikethrough: true
superscript: true
}
render_options = {}
These can be overwritten with an initializer, for example config/initializers/mongoid_markdown.rb
:
MongoidMarkdownExtension::Markdown.configure do |c|
c.extensions = { autolink: true }
c.render_class = CustomRenderer
c.render_options = { filter_html: true }
end
See Redcarpet documentation for available extensions and render options.
Usage
Add to a Mongoid model:
class MyModel
include Mongoid::Document
field :text, type: MongoidMarkdownExtension::Markdown
end
Use it:
my_model.text = "*foo*"
my_model.text.to_html # => <strong>foo</strong>
my_model.text.to_s # => *foo*
Contributing
- Fork it ( https://github.com/tomasc/mongoid_markdown_extension/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request