Sha256: 85171bd4f3857683fd10b7b676c99ee98df1f87eb88ff7a22f899fa2aee2e462
Contents?: true
Size: 989 Bytes
Versions: 2
Compression:
Stored size: 989 Bytes
Contents
module Headmin class DocumentationRenderer < Redcarpet::Render::HTML def block_code(code, language) if language == "erbx" "<div class=\"card mb-3\"><div class=\"card-body\">#{render_code(code)}</div><div class=\"card-footer\"><pre><code class=\"h-syntax\">#{highlight_syntax(code, 'erb')}</code></pre></div></div>" else "<pre><code class=\"h-syntax\">#{highlight_syntax(code, language)}</code></pre></div>" end end def table(header, body) "<table class=\"table table-sm\">#{header}#{body}</table>" end private def highlight_syntax(code, language) formatter = Rouge::Formatters::HTML.new lexer = Rouge::Lexer.find(language) formatter.format(lexer.lex(code)) end def render_code(code) ApplicationController.renderer.new( 'action_dispatch.request.path_parameters' => { controller: 'main', action: 'index' } ).render(inline: code) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
headmin-0.3.2 | app/models/headmin/documentation_renderer.rb |
headmin-0.3.1 | app/models/headmin/documentation_renderer.rb |