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
-
#excerptize(string, params = {}) ⇒ Object
Returns an excerpt for the given string.
-
#strip_html(string) ⇒ Object
Strips all HTML tags out of the given string.
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 |