class Rouge::Formatters::HTML

Transforms a token stream into HTML output.

def escape_special_html_chars(value)

special characters replaced with their escaped counterparts.
Returns either the given `value` argument string as is or a new string with the

a substitution is imminent.
a substitution occurs. This method however invokes `String#gsub` only if
`String#gsub` will always return a new string instance irrespective of whether

HTML from this formatter.
A performance-oriented helper method to escape `&`, `<` and `>` for the rendered
def escape_special_html_chars(value)
  escape_regex = /[&<>]/
  return value unless value =~ escape_regex
  value.gsub(escape_regex, TABLE_FOR_ESCAPE_HTML)
end

def safe_span(tok, safe_val)

def safe_span(tok, safe_val)
  if tok == Token::Tokens::Text
    safe_val
  else
    shortname = tok.shortname \
      or raise "unknown token: #{tok.inspect} for #{safe_val.inspect}"
    "<span class=\"#{shortname}\">#{safe_val}</span>"
  end
end

def span(tok, val)

def span(tok, val)
  return val if escape?(tok)
  safe_span(tok, escape_special_html_chars(val))
end

def stream(tokens, &b)

Other tags:
    Yield: - the html output.
def stream(tokens, &b)
  tokens.each { |tok, val| yield span(tok, val) }
end