34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var _ = require('lodash');
 | |
| 
 | |
| module.exports = function generateDocsFromComments(log) {
 | |
|   return {
 | |
|     $runAfter: ['files-read'],
 | |
|     $runBefore: ['parsing-tags'],
 | |
|     $process: function(docs) {
 | |
|       var commentDocs = [];
 | |
|       docs = _.filter(docs, function(doc) {
 | |
|         if (doc.docType !== 'atScriptFile') {
 | |
|           return true;
 | |
|         } else {
 | |
|           _.forEach(doc.fileInfo.comments, function(comment) {
 | |
| 
 | |
|             // we need to check for `/**` at the start of the comment to find all the jsdoc style comments
 | |
|             comment.range.toString().replace(/^\/\*\*([\w\W]*)\*\/$/g, function(match, commentBody) {
 | |
| 
 | |
|               // Create a doc from this comment
 | |
|               commentDocs.push({
 | |
|                 fileInfo: doc.fileInfo,
 | |
|                 startingLine: comment.range.start.line,
 | |
|                 endingLine: comment.range.end.line,
 | |
|                 content: commentBody,
 | |
|                 codeTree: comment.treeAfter,
 | |
|                 docType: 'atScriptDoc'
 | |
|               });
 | |
|             });
 | |
|           });
 | |
|         }
 | |
|       });
 | |
|       return docs.concat(commentDocs);
 | |
|     }
 | |
|   };
 | |
| }; |