tasks/mustache_hogan_html.js
function (partialPath) {

			if (options.verbose) {
				grunt.log.writeln('- using partial path: %s', partialPath);
			}
			var allPartials = {};

			// for all files in dir
			grunt.file.recurse(partialPath, function (absPath, rootDir, subDir, fileName) {

				// file extension does not match
				if (!fileName.match(tplMatcher)) {
					if (options.verbose) {
						grunt.log.writeln('-- ignoring file: %s', fileName);
					}
					return;
				}

				var partialName = absPath.replace(rootDir, '').replace(tplMatcher, '').substring(1),
				    partialSrc = grunt.file.read(absPath);

				if (options.verbose) {
					grunt.log.writeln('-- compiling partial: %s', partialName);
				}
				allPartials[partialName] = Hogan.compile(partialSrc); // , { sectionTags: [{o:'_i', c:'i'}] }
			});
			return allPartials;
		}
function (partialPath) {

			if (options.verbose) {
				grunt.log.writeln('- using partial path: %s', partialPath);
			}
			var allPartials = {};

			// for all files in dir
			grunt.file.recurse(partialPath, function (absPath, rootDir, subDir, fileName) {

				// file extension does not match
				if (!fileName.match(tplMatcher)) {
					if (options.verbose) {
						grunt.log.writeln('-- ignoring file: %s', fileName);
					}
					return;
				}

				var partialName = absPath.replace(rootDir, '').replace(tplMatcher, '').substring(1),
				    partialSrc = grunt.file.read(absPath);

				if (options.verbose) {
					grunt.log.writeln('-- compiling partial: %s', partialName);
				}
				allPartials[partialName] = Hogan.compile(partialSrc); // , { sectionTags: [{o:'_i', c:'i'}] }
			});
			return allPartials;
		}
Hogan.compile each partial, return object of compiled partials