       .then (res) =>
         if obj.template
           compile_single_views.call(@,
-            obj.collection(res),
+            (if obj.collection? then obj.collection(res) else res),
             obj.template,
             obj.out
           )

        compiler = _.find @roots.config.compilers, (c) ->
          _.contains(c.extensions, path.extname(template_path).substring(1))
        compiler_options = @roots.config[compiler.name] ? {}
        compiler.renderFile(
          template_path,
          _.extend(@roots.config.locals, compiler_options,_path: _path)
          ).then((res) => @util.write(compiled_file_path, res.result))

    __parse = (response, resolver) ->
      try

      @roots.__records = []
      for key, obj of opts
        @roots.__records.push(exec.call(@, key, obj))
      W.all(@roots.__records)

    ###*
     * Promises to retrieve data, then
