module Asciidoctor::PDF::Sanitizer
Constants
- BuiltInNamedEntities
- CharRefRx
- InverseXMLSpecialChars
- InverseXMLSpecialCharsRx
- SanitizeXMLRx
- XMLSpecialChars
- XMLSpecialCharsRx
Public Instance Methods
encode_quotes(string)
click to toggle source
# File lib/asciidoctor/pdf/sanitizer.rb, line 40 def encode_quotes string (string.include? ?") ? (string.gsub ?", '"') : string end
escape_xml(string)
click to toggle source
# File lib/asciidoctor/pdf/sanitizer.rb, line 36 def escape_xml string string.gsub InverseXMLSpecialCharsRx, InverseXMLSpecialChars end
sanitize(string)
click to toggle source
Strip leading, trailing and repeating whitespace, remove XML tags and resolve all entities in the specified string.
FIXME move to a module so we can mix it in elsewhere FIXME add option to control escaping entities, or a filter mechanism in general
# File lib/asciidoctor/pdf/sanitizer.rb, line 30 def sanitize string string = string.gsub SanitizeXMLRx, '' if string.include? '<' string = string.gsub(CharRefRx) { $1 ? BuiltInNamedEntities[$1] : ([$2 ? $2.to_i : ($3.to_i 16)].pack 'U1') } if string.include? '&' string.strip.tr_s ' ', ' ' end