module Gitdocs::RenderingHelper

Public Instance Methods

file_content_render(pathname) click to toggle source

@param [String, nil] pathname

@return [nil] if the pathname is nil @return [String]

# File lib/gitdocs/rendering_helper.rb, line 15
def file_content_render(pathname)
  return unless pathname

  tilt = Tilt.new(
    pathname,
    1, # line number
    fenced_code_blocks: true,
    renderer:           CodeRayify.new(filter_html: true, hard_wrap: true)
  )
  %(<div class="tilt">#{tilt.render}</div>)
rescue LoadError, RuntimeError # No tilt support
  if path.text?
    code_ray = CodeRay.scan_file(pathname)
    %(<pre class="CodeRay">#{code_ray.encode(:html)}</pre>)
  else
    %(<embed class="inline-file" src="#{request.path_info}?mode=raw"></embed>)
  end
end