Class: Nexmo::Markdown::MermaidFilter
- Inherits:
-
Banzai::Filter
- Object
- Banzai::Filter
- Nexmo::Markdown::MermaidFilter
- Defined in:
- lib/nexmo_markdown_renderer/filters/mermaid_filter.rb
Constant Summary collapse
- TYPES =
{ 'mermaid' => '', 'sequence_diagram' => 'sequenceDiagram', }.freeze
Instance Method Summary collapse
Instance Method Details
#call(input) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/nexmo_markdown_renderer/filters/mermaid_filter.rb', line 9 def call(input) TYPES.each do |markdown, mermaid| input = input.gsub(/```#{markdown}(.+?)```/m) do |_s| render_mermaid(mermaid, $1) end end input end |
#render_mermaid(type, content) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/nexmo_markdown_renderer/filters/mermaid_filter.rb', line 19 def render_mermaid(type, content) diagram = <<~HEREDOC <div class="mermaid" style="color: transparent;">#{type} #{content.gsub('\\n', '<br />').strip} </div> HEREDOC "FREEZESTART#{Base64.urlsafe_encode64(diagram)}FREEZEEND" end |