Module: Nexmo::Markdown::Concerns::PrismCodeSnippet

Included in:
BlockEscapeFilter, Nexmo::Markdown::CodeFilter, TabFilter, VoltaRender
Defined in:
lib/nexmo_markdown_renderer/filters/concerns/prism_code_snippet.rb

Instance Method Summary collapse

Instance Method Details

#code_language_to_prism(code_language) ⇒ Object



12
13
14
# File 'lib/nexmo_markdown_renderer/filters/concerns/prism_code_snippet.rb', line 12

def code_language_to_prism(code_language)
  code_language == 'objective_c' && 'objectivec' || code_language
end

#code_snippet_body(lexer, body, options = {}) ⇒ Object



6
7
8
9
10
# File 'lib/nexmo_markdown_renderer/filters/concerns/prism_code_snippet.rb', line 6

def code_snippet_body(lexer, body, options = {})
  <<~HEREDOC
    <pre class="#{prism_css_classes(lexer)}" data-lang="#{code_language_to_prism(lexer.tag)}" data-section="code" data-block="#{options[:block]}"><code>#{body.chomp}</code></pre>
  HEREDOC
end

#prism_css_classes(lexer) ⇒ Object



16
17
18
19
# File 'lib/nexmo_markdown_renderer/filters/concerns/prism_code_snippet.rb', line 16

def prism_css_classes(lexer)
  code_language = code_language_to_prism(lexer.tag)
  "main-code Vlt-prism--dark language-#{code_language}"
end