Module: Nanoc2::Helpers::Text

Defined in:
lib/nanoc2/helpers/text.rb

Overview

Nanoc2::Helpers::Text contains several useful text-related helper functions.

Instance Method Summary collapse

Instance Method Details

#excerptize(string, params = {}) ⇒ Object

Returns an excerpt for the given string. HTML tags are ignored, so if you don’t want them to turn up, they should be stripped from the string before passing it to the excerpt function.

params is a hash where the following keys can be set:

length

The maximum number of characters this excerpt can contain, including the omission. Defaults to 25.

omission

The string to append to the excerpt when the excerpt is shorter than the original string. Defaults to ‘…’ (but in HTML, you may want to use something more fancy, like ‘…’).



19
20
21
22
23
24
25
26
27
28
# File 'lib/nanoc2/helpers/text.rb', line 19

def excerptize(string, params={})
  # Initialize params
  params[:length]   ||= 25
  params[:omission] ||= '...'

  # Get excerpt
  length = params[:length] - params[:omission].length
  length = 0 if length < 0
  (string.length > params[:length] ? string[0...length] + params[:omission] : string)
end

#strip_html(string) ⇒ Object

Strips all HTML tags out of the given string.



31
32
33
34
# File 'lib/nanoc2/helpers/text.rb', line 31

def strip_html(string)
  # FIXME will need something more sophisticated than this, because it sucks
  string.gsub(/<[^>]*(>+|\s*\z)/m, '').strip
end