Module: Nanoc3::Helpers::Text

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

Overview

Contains several useful text-related helper functions.

Instance Method Summary collapse

Instance Method Details

#excerptize(string, params = {}) ⇒ 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

  • params (Hash) (defaults to: {})

    a customizable set of options

Options Hash (params):

  • length (Number) — default: 25

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

  • omission (String) — default: "..."

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

Returns:

  • (String)

    The excerpt of the given string



21
22
23
24
25
26
27
28
29
30
# File 'lib/nanoc3/helpers/text.rb', line 21

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) ⇒ 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



37
38
39
40
# File 'lib/nanoc3/helpers/text.rb', line 37

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