Module: Prarupa::TextHelpers
- Included in:
- ActionView::Base
- Defined in:
- lib/prarupa/text_helpers.rb
Instance Method Summary collapse
-
#markdown(text, *options) ⇒ Object
Returns the text with all the Markdown codes turned into HTML tags.
-
#textilize(text, *options) ⇒ Object
Returns the text with all the Textile codes turned into HTML tags.
-
#textilize_without_paragraph(text, *options) ⇒ Object
Returns the text with all the Textile codes turned into HTML tags, but without the bounding
tag that RedCloth adds.
Instance Method Details
#markdown(text, *options) ⇒ Object
Returns the text with all the Markdown codes turned into HTML tags. This method requires RDiscount to be available.
Examples
markdown("We are using Markdown now!")
=> "
We are using Markdown now!
"markdown("We like to _write_ `code`, not just _read_ it!")
# => "<p>We like to <em>write</em> <code>code</code>, not just <em>read</em> it!</p>"
markdown("The [Markdown website](http://daringfireball.net/projects/markdown/) has more information.")
# => "<p>The <a href="http://daringfireball.net/projects/markdown/">Markdown website</a>
# has more information.</p>"
markdown('')
# => '<p><img src="http://rubyonrails.com/images/rails.png" alt="The ROR logo" title="Ruby on Rails" /></p>'
81 82 83 84 85 86 87 88 89 90 |
# File 'lib/prarupa/text_helpers.rb', line 81 def markdown(text, *) text = h(text) unless text.html_safe? || .delete(:safe) if text.blank? "" else markdowned = RDiscount.new(text, *) markdowned.to_html.chomp #used chomp to remove the \n appended by RDiscount end.html_safe end |
#textilize(text, *options) ⇒ Object
Returns the text with all the Textile codes turned into HTML tags.
You can learn more about Textile's syntax at its website. This method requires RedCloth to be installed.
Examples
textilize("This is Textile! Rejoice!")
=> "
This is Textile! Rejoice!
"textilize("I _love_ ROR(Ruby on Rails)!")
# => "<p>I <em>love</em> <acronym title="Ruby on Rails">ROR</acronym>!</p>"
textilize("h2. Textile makes markup -easy- simple!")
# => "<h2>Textile makes markup <del>easy</del> simple!</h2>"
textilize("Visit the Rails website "here":http://www.rubyonrails.org/.)
# => "<p>Visit the Rails website <a href="http://www.rubyonrails.org/">here</a>.</p>"
textilize("This is worded <strong>strongly</strong>")
# => "<p>This is worded <strong>strongly</strong></p>"
textilize("This is worded <strong>strongly</strong>", :filter_html)
# => "<p>This is worded <strong>strongly</strong></p>"
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/prarupa/text_helpers.rb', line 27 def textilize(text, *) ||= [:hard_breaks] text = h(text) unless text.html_safe? || .delete(:safe) if text.blank? "" else textilized = RedCloth.new(text, ) textilized.to_html end.html_safe end |
#textilize_without_paragraph(text, *options) ⇒ Object
Returns the text with all the Textile codes turned into HTML tags, but without the bounding
tag that RedCloth adds.
You can learn more about Textile's syntax at its website. This method is only available if RedCloth is available.
Examples
textilize_without_paragraph("This is Textile! Rejoice!")
=> "This is Textile! Rejoice!"
textilize_without_paragraph("I _love_ ROR(Ruby on Rails)!")
# => "I <em>love</em> <acronym title="Ruby on Rails">ROR</acronym>!"
textilize_without_paragraph("h2. Textile makes markup -easy- simple!")
# => "<h2>Textile makes markup <del>easy</del> simple!</h2>"
textilize_without_paragraph("Visit the Rails website "here":http://www.rubyonrails.org/.)
# => "Visit the Rails website <a href="http://www.rubyonrails.org/">here</a>."
57 58 59 60 61 62 |
# File 'lib/prarupa/text_helpers.rb', line 57 def textilize_without_paragraph(text, *) textiled = textilize(text, *) if textiled[0..2] == "<p>" then textiled = textiled[3..-1] end if textiled[-4..-1] == "</p>" then textiled = textiled[0..-5] end return textiled end |