Module: TruncateHTML
- Defined in:
- lib/middleman-blog/truncate_html.rb
Overview
Taken and modified from madebydna.com/all/code/2010/06/04/ruby-helper-to-cleanly-truncate-html.html MIT license
Class Method Summary collapse
Class Method Details
.truncate_html(text, max_length, ellipsis = "...") ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/middleman-blog/truncate_html.rb', line 10 def self.truncate_html(text, max_length, ellipsis = "...") ellipsis_length = ellipsis.length text = text.encode('UTF-8') if text.respond_to?(:encode) doc = Nokogiri::HTML::DocumentFragment.parse text content_length = doc.inner_text.length actual_length = max_length - ellipsis_length if content_length > actual_length doc.truncate(actual_length, ellipsis).inner_html else text end end |