Class: Metanorma::Standoc::NamedEscapePreprocessor

Inherits:
Asciidoctor::Extensions::Preprocessor
  • Object
show all
Defined in:
lib/metanorma/standoc/macros.rb

Instance Method Summary collapse

Instance Method Details

#process(document, reader) ⇒ Object



53
54
55
56
57
58
59
60
61
# File 'lib/metanorma/standoc/macros.rb', line 53

def process(document, reader)
  c = HTMLEntities.new
  lines = reader.lines.map do |l|
    l.split(/(&[A-Za-z][^&;]*;)/).map do |s|
      /^&[A-Za-z]/.match?(s) ? c.encode(c.decode(s), :hexadecimal) : s
    end.join
  end
  ::Asciidoctor::PreprocessorReader.new document, lines
end