From 389d4879da4aa620ee95d789b19ff9be44eb730a Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Wed, 12 Feb 2014 22:47:42 +0000 Subject: chore(doc-gen): new docs chore(doc-gen): implement dgeni --- docs/config/processors/index-page.js | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 docs/config/processors/index-page.js (limited to 'docs/config/processors/index-page.js') diff --git a/docs/config/processors/index-page.js b/docs/config/processors/index-page.js new file mode 100644 index 00000000..3ba1ac73 --- /dev/null +++ b/docs/config/processors/index-page.js @@ -0,0 +1,42 @@ +var _ = require('lodash'); +var log = require('winston'); +var path = require('canonical-path'); +var deployment; + +module.exports = { + name: 'index-page', + runAfter: ['adding-extra-docs'], + runBefore: ['extra-docs-added'], + description: 'This processor creates docs that will be rendered as the index page for the app', + init: function(config) { + deployment = config.deployment; + if ( !deployment || !deployment.environments ) { + throw new Errro('No deployment environments found in the config.'); + } + }, + process: function(docs) { + + // Collect up all the areas in the docs + var areas = {}; + _.forEach(docs, function(doc) { + if ( doc.area ) { + areas[doc.area] = doc.area; + } + }); + areas = _.keys(areas); + + _.forEach(deployment.environments, function(environment) { + + var indexDoc = _.defaults({ + docType: 'indexPage', + areas: areas + }, environment); + + indexDoc.id = 'index' + (environment.name === 'default' ? '' : '-' + environment.name); + // Use .. to put it at the root of the build + indexDoc.outputPath = indexDoc.id + '.html'; + + docs.push(indexDoc); + }); + } +}; \ No newline at end of file -- cgit v1.2.3