Module: MarkdownRails::Helper::Rouge

Defined in:
lib/markdown-rails/helper/rouge.rb

Instance Method Summary collapse

Instance Method Details

#block_code(code, language) ⇒ Object



23
24
25
26
27
# File 'lib/markdown-rails/helper/rouge.rb', line 23

def block_code(code, language)
   :pre, class: language do
    raw highlight_code code, language
  end
end

#highlight_code(code, language) ⇒ Object



18
19
20
21
# File 'lib/markdown-rails/helper/rouge.rb', line 18

def highlight_code(code, language)
  lexer = rouge_lexer(language) || rouge_fallback_lexer
  rouge_formatter.format(lexer.lex(code))
end

#rouge_fallback_lexerObject



14
15
16
# File 'lib/markdown-rails/helper/rouge.rb', line 14

def rouge_fallback_lexer
  rouge_lexer "text"
end

#rouge_formatterObject



10
11
12
# File 'lib/markdown-rails/helper/rouge.rb', line 10

def rouge_formatter
  ::Rouge::Formatters::HTMLInline.new(rouge_theme)
end

#rouge_lexer(language) ⇒ Object



29
30
31
# File 'lib/markdown-rails/helper/rouge.rb', line 29

def rouge_lexer(language)
  ::Rouge::Lexer.find language
end

#rouge_themeObject



6
7
8
# File 'lib/markdown-rails/helper/rouge.rb', line 6

def rouge_theme
  "gruvbox".freeze
end