var matter = require('gray-matter'); var S = require('string'); var CONTENT_PATH_PREFIX = 'content'; module.exports = function(grunt) { grunt.registerTask('search-index', function() { grunt.log.writeln('Build pages index'); var indexPages = function() { var pagesIndex = []; grunt.file.recurse(CONTENT_PATH_PREFIX, function(abspath, rootdir, subdir, filename) { grunt.verbose.writeln('Parse file:', abspath); d = processMDFile(abspath, filename); if (d !== undefined) { pagesIndex.push(d); } }); return pagesIndex; }; var processMDFile = function(abspath, filename) { var content = matter(grunt.file.read(abspath, filename)); if (content.data.draft) { // don't index draft posts return; } var pageIndex; return { title: content.data.title, categories: content.data.categories, href:…