docs: function (grunt, task, context) {
  	var template = context.options.template;
  	if (!template) {
  		template = DEFAULT_TEMPLATE;
  	}
  	// clone context
  	var mixedInContext = JSON.parse(JSON.stringify(context));
  	// transit templateOptions
  	mixedInContext.options = context.options.templateOptions || {};
  	if (template.process) {
  		return template.process(grunt, task, mixedInContext);
  	} else {
  		return grunt.util._.template(grunt.file.read(template), mixedInContext);
  	}
  }