Module: Nanoc::Helpers::Text

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

Overview

Contains several useful text-related helper functions.

Instance Method Summary collapse

Instance Method Details

#excerptize(string, length: 25, omission: '...') ⇒ String

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.

Parameters:

  • string (String)

    The string for which to build an excerpt

  • length (Number)

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

  • omission (String)

    The string to append to the excerpt when the excerpt is shorter than the original string

Returns:

  • (String)

    The excerpt of the given string



17
18
19
20
21
22
23
24
# File 'lib/nanoc/helpers/text.rb', line 17

def excerptize(string, length: 25, omission: '...')
  if string.length > length
    excerpt_length = [0, length - omission.length].max
    string[0...excerpt_length] + omission
  else
    string
  end
end

#strip_html(string) ⇒ String

Strips all HTML tags out of the given string.

Parameters:

  • string (String)

    The string from which to strip all HTML

Returns:

  • (String)

    The given string with all HTML stripped



31
32
33
34
# File 'lib/nanoc/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