Class: Banzai::Filter::PlantumlFilter
- Inherits:
-
HTML::Pipeline::Filter
- Object
- HTML::Pipeline::Filter
- Banzai::Filter::PlantumlFilter
- Defined in:
- lib/banzai/filter/plantuml_filter.rb
Overview
HTML that replaces all ‘lang plantuml` tags with PlantUML img tags.
Instance Method Summary collapse
Instance Method Details
#call ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/banzai/filter/plantuml_filter.rb', line 11 def call return doc unless settings.plantuml_enabled? && doc.at_xpath(lang_tag) Gitlab::Plantuml.configure doc.xpath(lang_tag).each do |node| img_tag = Nokogiri::HTML::DocumentFragment.parse( Asciidoctor::PlantUml::Processor.plantuml_content(node.content, {})).css('img').first next if img_tag.nil? img_tag.set_attribute('data-diagram', 'plantuml') img_tag.set_attribute('data-diagram-src', "data:text/plain;base64,#{Base64.strict_encode64(node.content)}") node.parent.replace(img_tag) end doc end |