3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/hologram/markdown_renderer.rb', line 3
def block_code(code, language)
formatter = Rouge::Formatters::HTML.new(wrap: false)
if language and language.include?('example')
if language.include?('js')
lexer = Rouge::Lexer.find('js')
'<script>' + code + '</script> <div class="codeBlock jsExample"><div class="highlight"><pre>' + formatter.format(lexer.lex(code)) + '</pre></div></div>'
else
lexer = Rouge::Lexer.find(get_lexer(language))
'<div class="codeExample">' + '<div class="exampleOutput">' + render_html(code, language) + '</div>' + '<div class="codeBlock"><div class="highlight"><pre>' + formatter.format(lexer.lex(code)) + '</pre></div></div>' + '</div>'
end
else
lexer = Rouge::Lexer.find_fancy('guess', code)
'<div class="codeBlock"><div class="highlight"><pre>' + formatter.format(lexer.lex(code)) + '</pre></div></div>'
end
end
|