Class: Nexmo::Markdown::BlockEscapeFilter
- Inherits:
-
Banzai::Filter
- Object
- Banzai::Filter
- Nexmo::Markdown::BlockEscapeFilter
- Includes:
- Concerns::PrismCodeSnippet
- Defined in:
- lib/nexmo_markdown_renderer/filters/block_escape_filter.rb
Instance Method Summary collapse
Methods included from Concerns::PrismCodeSnippet
#code_language_to_prism, #code_snippet_body, #prism_css_classes
Instance Method Details
#call(input) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/nexmo_markdown_renderer/filters/block_escape_filter.rb', line 6 def call(input) # Freeze to prevent Markdown formatting input.gsub(/````\n(.+?)````/m) do |_s| lexer = Rouge::Lexer.find('text') formatter = Rouge::Formatters::HTML.new highlighted_source = formatter.format(lexer.lex($1)) output = code_snippet_body(lexer, highlighted_source) "FREEZESTART#{Base64.urlsafe_encode64(output)}FREEZEEND" end end |