class Asciidoctor::Document

def renderer(opts = {})

def renderer(opts = {})
  return @renderer if @renderer
  
  render_options = {}
  # Load up relevant Document @options
  if @options.has_key? :template_dir
    render_options[:template_dir] = @options[:template_dir]
  end
  
  render_options[:backend] = @attributes.fetch('backend', 'html5')
  render_options[:template_engine] = @options[:template_engine]
  render_options[:eruby] = @options.fetch(:eruby, 'erb')
  render_options[:compact] = @options.fetch(:compact, false)
  
  # Override Document @option settings with options passed in
  render_options.merge! opts
  @renderer = Renderer.new(render_options)
end