run

in lib/filters/admonition.rb [6:20]


  def run(content, _params = {})
    
    
    doc = Nokogiri::HTML.fragment(content.dup)
    doc.css('p').each do |para|
      content = para.inner_html
      match = content.match(%r{\A(?<type>NOTE|WARNING|FLAG|INFO|DISCLAIMER|DETAILS):\s?(?<content>.*)\Z}m)
      next unless match

      new_content = admonition(match[:type].downcase, match[:content])
      para.replace(new_content)
    end
    doc.to_s
  end