Class: Metanorma::Standoc::ToCInlineMacro

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

Instance Method Summary collapse

Instance Method Details

#process(parent, _target, attrs) ⇒ Object



160
161
162
163
164
165
166
167
168
# File 'lib/metanorma/standoc/macros_inline.rb', line 160

def process(parent, _target, attrs)
  out = Asciidoctor::Inline.new(parent, :quoted, attrs["text"]).convert
  content = CSV.parse_line(out).map do |x|
    x.sub!(/^(["'])(.+)\1/, "\\2")
    m = /^(.*?)(:\d+)?$/.match(x)
    %{<toc-xpath depth='#{m[2]&.sub(':', '') || 1}'>#{m[1]}</toc-xpath>}
  end.join
  "<toc>#{content}</toc>"
end