fileSystem.readFile(fileDirecory + file, 'utf-8', function (fileSystemError, markdown) { if (fileSystemError) throw fileSystemError var page = {} page.title = markdownExtra.heading(markdown) page.name = file.replace(/\.md/g, '') page.metadata = markdownExtra.metadata(markdown, function (string) { var result = {} string = '{ "' + string string = string.replace(/\n/g, '", "') string = string.replace(/: /g, '": "') string = string + '" }' try { result = JSON.parse(string) } catch (err) { console.error(page.title, err) } finally { return result } }) var markdownWithoutMetadata = markdown.replace(/<!--[\s\S]*?-->\n\n/g, '') page.markdown = markdownWithoutMetadata page.html = marked(markdownWithoutMetadata) resultObject.results.push(page) if (--fileIndex === 0) { return parseFilesCallback(resultObject) } })
grunt.file.recurse( data.src, function( absPath, rootDir, subDir, filename ) { depth = ( subDir ) ? subDir.split( '/' ).length : 0; sp = filename.split( '.' ); nFilename = sp.slice( 0, -1 ).join( '.' ) + '.html'; oExtension = sp.slice( -1 )[ 0 ]; if ( [ 'markdown', 'md' ].indexOf( oExtension.toLowerCase() ) !== -1 ) { content = grunt.file.read( absPath ); docMeta = mde.metadata( content, metaProcessor ); docMeat = mde.content( content ); html = template({ body: markdown.toHTML( docMeat ), title: docMeta.title || nFilename, stylesheet_location: ( new Array( depth + 1) ).join( '../' ) + 'style.css' }); grunt.file.write( path.join( data.dest, subDir || '', nFilename ), html ); } });