file.src.forEach( function ( name ) { var out, opts, outdir, nName; out = name.substring( name.lastIndexOf( "/" ) ); nName = name.replace( out, "" ).replace( /\//g, "." ); outdir = outputDir + path.sep + nName; indexFiles.push( { filename: nName + "/" + name.substring( name.lastIndexOf( "/" ) + 1 ).replace( ".js", ".html" ), sname: name.substring( name.lastIndexOf( "/" ) + 1 ), name: name } ); opts = { args: [ name ], output: outdir, css: __dirname + path.sep + '../resources/default/docco.css', template: __dirname + path.sep + '../resources/default/docco.jst' }; //opts.output = outdir; //console.log( opts ); //grunt.verbose.writeflags( opts, 'Options' ); docco.document( opts, function () { // done once all the file sets are processed if ( ++fdone === flength ) { done(); } } ); // we need to copy from the docco resource directory to // the correct place, docco seems to fail at this } );
//re-render all templates and docco function compileTemplates(){ var siteMap = config();//JSON.parse( fs.readFileSync( config() ) ); //generate paths to the example sources var sources = []; siteMap.examples.forEach(function( example ){ sources.push( source( example.src ) ); }); //pass to docco, then jade, then clean up docco.document(sources, { language: "javascript", template: view("docco-template.jst") }, function( err ){ if( err ) throw err; async.forEach( siteMap.examples, generateExample, function exit( err ) { if( err ) throw err; setTimeout(function(){ //clean(); }, 500); }); }); //handle pages siteMap.pages.forEach(function( page ){ generatePage( page ); }); //remove the docs folder function clean(){ wrench.rmdirRecursive( __dirname + '/docs/', function(){ msg('docs deleted'); }); } }
this.files.forEach(function(file) { docco.document(task.options({ output: file.dest, args: file.src }), function(){ if(++fdone === flength){ done(); } }); });
function writeDoc(callback) { docco.document(src, {'output': 'doc/'}, function (err, result, code) { var msg = "Doccoed [" + src.join(", ") + "]; " + err ? err : "(No errors)" + "\n" + result + " " + code; grunt.log.writeln(msg); callback(); }); },
grunt.registerMultiTask('annotate', 'Generate Annotated Source Code', function () { var done = this.async(); var src = grunt.file.expandFiles(this.file.src); docco.document(src, {'output': 'doc/'}, function (err, result, code) { grunt.log.writeln("Doccoed [" + src.join(", ") + "]; " + err ? err : "(No errors)" + "\n" + result + " " + code); done(); }); });
return new Promise(function(res, rej) { docco.document(options, function(err) { if (!err) { res(); } else { console.log("error building docco", err); res(); } }); })
grunt.registerMultiTask('docco', 'Docco processor.', function() { var docco = require('docco'), params = this.data.options || {}, done = this.async(); params.args = grunt.file.expand(this.data.src); if (this.data.dest) { params.output = this.data.dest; } docco.document(params,done); });
anvil.fs.ensurePath( self.output, function( err ) { if ( err ) { anvil.log.error( "Could not create a docs directory" ); return; } docco.document( _.map(files, function(file) { return file.fullPath; }), { output: self.output }); done(); });
grunt.registerMultiTask('docco', 'Docco processor.', function() { var options, tmp; tmp = grunt.config(['docco', this.target, 'options']); if (typeof tmp === 'object') { grunt.verbose.writeln('Using "' + this.target + '" Docco options.'); options = tmp; } else { grunt.verbose.writeln('Using master Docco options.'); options = grunt.config('jshint.options'); } grunt.verbose.writeflags(options, 'Options'); var done = this.async(); var src = grunt.file.expandFiles(this.file.src); docco.document(src, options, function(err, result, code){ grunt.log.writeln("Doccoed [" + src.join(", ") + "]; " + err ? err : "(No errors)" + "\n" + result + " " + code); done(); }); });
grunt.registerMultiTask('doccomultifold', 'Docco multi folder processor.', function () { var options = this.options({ layout: 'parallel' }); // Merge task-specific and/or target-specific options with these defaults. grunt.verbose.writeflags(options, 'Options'); // clean any existing old docs var cleanConfig = { src: [options.tempDir, options.output] }; clean(cleanConfig); // copy the files to document var copyDocs = { options: { cwd: 'docs', expand: true, src: this.filesSrc, dest: options.tempDir } }; copy(copyDocs); // construct files paths for multi folder var copyCodeToDocs = { options: { expand: true, src: this.filesSrc, dest: options.tempDir, rename: function (dest, src) { return dest + src. replace( /[\\\/]+/g, '!'); } } }; copy(copyCodeToDocs); // docco to generate document var srcArr = grunt.file.expand(options.tempDir+'/**'); // Either set the destination in the files block, or (prefferred) in { options: output } this.options.output = this.options.output || (this.file && this.file.dest); docco.document(this.options({args: srcArr , template: 'template/docco-template.jst', css:'template/docco-template.css'}), this.async()); });
grunt.registerMultiTask('docco', 'Docco processor.', function() { var _ = grunt.utils._; var options = grunt.config.process(['docco', this.target]); var defaults = _.extend({ exclude : [/\.min\./] }, grunt.config.process('docco')._options); grunt.verbose.writeflags(options, 'Options'); var done = this.async(); var src = grunt.file.expandFiles(this.file.src).filter(function(file) { for(var i = 0; i < defaults.exclude.length; i++) { if(defaults.exclude[i].test(file)) { return false; } } return true; }); docco.document(src, _.extend({}, defaults.docco, options.docco) || {}, function(err, result, code){ grunt.log.writeln("Doccoed [" + src.join(", ") + "]; " + err ? err : "(No errors)" + "\n" + result + " " + code); done(); }); });
function buildDoc(done) { var dest = 'doc/annotated-source/'; var sources = glob.sync('src/parsley/*.js'); del.sync([dest + '*']); docco.document({ layout: 'parallel', output: dest, args: sources }, function() { gulp.src(dest + '*.html', { base: "./" }) .pipe($.replace('<div id="jump_page">', '<div id="jump_page"><a class="source" href="../index.html"><<< back to documentation</a>')) .pipe($.replace('</body>', '<script type="text/javascript">var _gaq=_gaq||[];_gaq.push(["_setAccount","UA-37229467-1"]);_gaq.push(["_trackPageview"]);(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();</script></body>')) .pipe(gulp.dest('.')) .on('end', done); }); }
document : function(menu, callback) { docco.document(this.doccoFiles(), this.doccoOptions(), function() { callback(undefined, menu); }); },
files.forEach(function(file) { var files = grunt.file.expandFiles(file); docco.document(files, options, function(err, result, code){ if(fdone++ == files.length) done(); }); });
this.files.forEach(function (file) { docco.document(task.options({ args: file.src, output: file.dest }), function () { if (++processed === length) done(); }); });
grunt.registerMultiTask('docco', 'Docco processor.', function() { // Either set the destination in the files block, or (prefferred) in { options: output } this.options.output = this.options.output || (this.file && this.file.dest); docco.document(this.options({ args: this.filesSrc }), this.async()); });