module Nanoc::Helpers::HTMLEscape
Contains functionality for HTML-escaping strings.
Public Instance Methods
html_escape(string = nil, &block)
click to toggle source
Returns the HTML-escaped representation of the given string or the given block. Only `&`, `<`, `>` and `“` are escaped. When given a block, the contents of the block will be escaped and appended to the output buffer, `_erbout`.
@example Escaping a string
h('<br>') # => '<br>'
@example Escaping with a block
<% h do %> <h1>Hello <em>world</em>!</h1> <% end %> # The buffer will now contain “<h1>Hello <em>world</em>!</h1>”
@param [String] string The string to escape
@return [String] The escaped string
# File lib/nanoc/helpers/html_escape.rb, line 27 def html_escape(string = nil, &block) if block_given? # Capture and escape block data = capture(&block) escaped_data = html_escape(data) # Append filtered data to buffer buffer = eval('_erbout', block.binding) buffer << escaped_data elsif string string .gsub('&', '&') .gsub('<', '<') .gsub('>', '>') .gsub('"', '"') else raise 'The #html_escape or #h function needs either a ' 'string or a block to HTML-escape, but neither a string nor a block was given' end end
Also aliased as: h