| 
									
										
										
										
											2015-09-15 23:21:55 -07:00
										 |  |  | var Package = require('dgeni').Package; | 
					
						
							|  |  |  | var jsdocPackage = require('dgeni-packages/jsdoc'); | 
					
						
							|  |  |  | var nunjucksPackage = require('dgeni-packages/nunjucks'); | 
					
						
							| 
									
										
										
										
											2016-04-03 18:54:23 +01:00
										 |  |  | var typescriptPackage = require('dgeni-packages/typescript'); | 
					
						
							| 
									
										
										
										
											2015-09-15 23:21:55 -07:00
										 |  |  | var linksPackage = require('../links-package'); | 
					
						
							|  |  |  | var gitPackage = require('dgeni-packages/git'); | 
					
						
							|  |  |  | var path = require('canonical-path'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Define the dgeni package for generating the docs
 | 
					
						
							|  |  |  | module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage, typescriptPackage, linksPackage, gitPackage]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Register the processors
 | 
					
						
							|  |  |  | .processor(require('./processors/convertPrivateClassesToInterfaces')) | 
					
						
							| 
									
										
										
										
											2015-09-30 09:13:23 +01:00
										 |  |  | .processor(require('./processors/extractDirectiveClasses')) | 
					
						
							| 
									
										
										
										
											2015-09-15 23:21:55 -07:00
										 |  |  | .processor(require('./processors/generateNavigationDoc')) | 
					
						
							|  |  |  | .processor(require('./processors/extractTitleFromGuides')) | 
					
						
							|  |  |  | .processor(require('./processors/createOverviewDump')) | 
					
						
							|  |  |  | .processor(require('./processors/checkUnbalancedBackTicks')) | 
					
						
							| 
									
										
										
										
											2015-10-29 15:23:21 +08:00
										 |  |  | .processor(require('./processors/convertBackticksToCodeBlocks')) | 
					
						
							| 
									
										
										
										
											2015-11-13 16:34:57 +00:00
										 |  |  | .processor(require('./processors/addNotYetDocumentedProperty')) | 
					
						
							| 
									
										
										
										
											2015-12-15 10:43:43 +00:00
										 |  |  | .processor(require('./processors/createDecoratorDocs')) | 
					
						
							| 
									
										
										
										
											2015-09-15 23:21:55 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-02 14:44:57 -07:00
										 |  |  | .config(function(parseTagsProcessor) { | 
					
						
							|  |  |  |   parseTagsProcessor.tagDefinitions.push({ name: 'internal', transforms: function() { return true; } }); | 
					
						
							| 
									
										
										
										
											2015-11-13 09:47:38 +00:00
										 |  |  |   parseTagsProcessor.tagDefinitions.push({ name: 'syntax' }); | 
					
						
							| 
									
										
										
										
											2015-11-13 12:45:00 +00:00
										 |  |  |   parseTagsProcessor.tagDefinitions.push({ name: 'noDescription', transforms: function() { return true; } }); | 
					
						
							| 
									
										
										
										
											2015-10-02 14:44:57 -07:00
										 |  |  | }) | 
					
						
							| 
									
										
										
										
											2015-09-15 23:21:55 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | .config(function(renderDocsProcessor, versionInfo) { | 
					
						
							|  |  |  |   renderDocsProcessor.extraData.versionInfo = versionInfo; | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .config(function(parseTagsProcessor, getInjectables) { | 
					
						
							|  |  |  |   // We actually don't want to parse param docs in this package as we are getting the data out using TS
 | 
					
						
							| 
									
										
										
										
											2015-11-05 12:32:45 +00:00
										 |  |  |   // TODO: rewire the param docs to the params extracted from TS
 | 
					
						
							| 
									
										
										
										
											2015-09-15 23:21:55 -07:00
										 |  |  |   parseTagsProcessor.tagDefinitions.forEach(function(tagDef) { | 
					
						
							|  |  |  |     if (tagDef.name === 'param') { | 
					
						
							|  |  |  |       tagDef.docProperty = 'paramData'; | 
					
						
							|  |  |  |       tagDef.transforms = []; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Configure links
 | 
					
						
							|  |  |  | .config(function(getLinkInfo) { | 
					
						
							|  |  |  |   getLinkInfo.useFirstAmbiguousLink = true; | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Configure file writing
 | 
					
						
							|  |  |  | .config(function(writeFilesProcessor) { | 
					
						
							|  |  |  |   writeFilesProcessor.outputFolder  = 'dist/docs'; | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Configure rendering
 | 
					
						
							|  |  |  | .config(function(templateFinder, templateEngine) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   // Nunjucks and Angular conflict in their template bindings so change Nunjucks
 | 
					
						
							|  |  |  |   templateEngine.config.tags = { | 
					
						
							|  |  |  |     variableStart: '{$', | 
					
						
							|  |  |  |     variableEnd: '$}' | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   templateFinder.templatePatterns = [ | 
					
						
							|  |  |  |     '${ doc.template }', | 
					
						
							|  |  |  |     '${ doc.id }.${ doc.docType }.template.html', | 
					
						
							|  |  |  |     '${ doc.id }.template.html', | 
					
						
							|  |  |  |     '${ doc.docType }.template.html', | 
					
						
							|  |  |  |     'common.template.html' | 
					
						
							|  |  |  |   ]; | 
					
						
							| 
									
										
										
										
											2015-11-05 12:32:45 +00:00
										 |  |  | }); |