vidibus-textile¶ ↑
Basically, this is a wrapper for RedCloth with some extensions. It is inspired by the acts_as_textiled plugin and extends your Mongoid models.
This gem is part of the open source SOA framework Vidibus: vidibus.org
Installation¶ ↑
Add the dependency to the Gemfile of your application:
gem "vidibus-textile"
Then call ‘bundle install` on your console.
Usage¶ ↑
The basic methods are:
Vidibus::Textile.new('Some *say*, "love":http://doit.xxx is a _river_.').to_html # => '<p>Some <strong>say</strong>, <a href="http://doit.xxx">love</a> is a <em>river</em>.</p>' # (#to_html is provided by RedCloth) Vidibus::Textile.new('Some *say*, "love":http://doit.xxx is a _river_.').to_text # => "Some say, love is a river."
The method #to_text will return a plain text version of textile content but keep newlines intact. However, if you just want a stripped version without newlines, provide the option :plain => true
# #to_text with :plain => true Vidibus::Textile.new("Super\nTrouper").to_text(:plain => true) # => "Super Trouper"
Mongoid integration¶ ↑
Adding textile content to your Mongoid model is simple:
class Page include Mongoid::Document include Vidibus::Textile::Mongoid textile :body end
By setting textile :body on the page model above, it will be extended by two fields:
field :body # => Contains the textile content. field :body_plain # => Contains a plain text version of the content, stored in the database.
Additionally, the method #body_html is available. As one could guess, it returns rendered html from the textile content.
View helper¶ ↑
For your convenience, the view helper #stripped is available (as counterpart for Rails’ #textilize).
# In your view... stripped("*Super*\nTrouper", :plain => true) # => "Super Trouper"
Copyright¶ ↑
Copyright © 2010 Andre Pankratz. See LICENSE for details.