gitlab_html.rb
633 Bytes
class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML
attr_reader :template
alias_method :h, :template
def initialize(template, options = {})
@template = template
@project = @template.instance_variable_get("@project")
super options
end
def block_code(code, language)
options = { options: {encoding: 'utf-8'} }
options.merge!(lexer: language.downcase) if Pygments::Lexer.find(language)
<<-HTML
<div class="#{h.user_color_scheme_class}">
#{Pygments.highlight(code, options)}
</div>
HTML
end
def postprocess(full_document)
h.gfm(full_document)
end
end