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



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

def process(_document, reader)
  c = HTMLEntities.new
  lines = reader.readlines.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::Reader.new lines
end