module Rouge::Plugins::Redcarpet
Public Instance Methods
Source
# File lib/rouge/plugins/redcarpet.rb, line 10 def block_code(code, language) lexer = begin Lexer.find_fancy(language, code) rescue Guesser::Ambiguous => e e.alternatives.first end lexer ||= Lexers::PlainText # XXX HACK: Redcarpet strips hard tabs out of code blocks, # so we assume you're not using leading spaces that aren't tabs, # and just replace them here. if lexer.tag == 'make' code.gsub! %r/^ /, "\t" end formatter = rouge_formatter(lexer) formatted = formatter.format(lexer.lex(code)) %(<pre class="highlight #{lexer.tag}"><code>#{formatted}</code></pre>) end
Source
# File lib/rouge/plugins/redcarpet.rb, line 32 def rouge_formatter(lexer) Rouge::Formatters::HTML.new end
override this method for custom formatting behavior