class Nexmo::Markdown::CollapsibleFilter
Public Instance Methods
call(input)
click to toggle source
Transforms matching input into a collapsible HTML
element on NDP. Matching input example: | ## Headingn|nContentnn
# File lib/nexmo_markdown_renderer/filters/collapsible_filter.rb, line 7 def call(input) input.gsub(/^\|\s(\#{1,6})(\s)?(.+?)\n^\|\n(.+?)\n\n/m) do |_s| heading = $3 body = $4.gsub(/^\|\n/, "\n") body = body.gsub(/^\|\s/, '') parsed_body = Nexmo::Markdown::Renderer.new.call(body) <<~HEREDOC <div class="Vlt-accordion Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis"> <h5 class="Vlt-accordion__trigger" tabindex="0">#{heading}</h5> <div class="Vlt-accordion__content Vlt-accordion__content--noborder"> #{parsed_body} </div> </div> HEREDOC end end