def render(anIO=nil)
      output = engine.render(data)
      return anIO.write(output) unless anIO.nil?
      output
    end
def render(anIO=nil)
      output = engine.render(data)
      return anIO.write(output) unless anIO.nil?
      output
    end
Creates a new document from the given source. It should contain valid
 markdown + embedded YAML.
 @param [#read, #to_str] source
 @param [Hash] opts         options for {::Redcarpet}
 Rendered output is returned as a string if +anIO+ is not provided. The
 output is sanitized with {Spirit::Render::Sanitize}, and should be
 considered safe for embedding into a HTML page without further escaping or
 sanitization.

 @param [IO] anIO  if given, the HTML partial will be written to it.
 @return [String]  if +anIO+ was not provided, returns the HTML string.
 @return [Fixnum]  if +anIO+ was provided, returns the number of bytes
                   written.
 @raise [Spirit::Error] if a fatal error is encountered.