diff options
Diffstat (limited to 'docs/config/processors')
| -rw-r--r-- | docs/config/processors/error-docs.js | 42 | ||||
| -rw-r--r-- | docs/config/processors/pages-data.js | 5 |
2 files changed, 45 insertions, 2 deletions
diff --git a/docs/config/processors/error-docs.js b/docs/config/processors/error-docs.js new file mode 100644 index 00000000..80a7b996 --- /dev/null +++ b/docs/config/processors/error-docs.js @@ -0,0 +1,42 @@ +var _ = require('lodash'); +var log = require('winston'); +var path = require('canonical-path'); + +module.exports = { + name: 'error-docs', + description: 'Compute the various fields for docs in the Error area', + runAfter: ['tags-extracted'], + init: function(config, injectables) { + injectables.value('errorNamespaces', {}); + }, + process: function(docs, partialNames, errorNamespaces) { + + // Create error namespace docs and attach error docs to each + _.forEach(docs, function(doc) { + if ( doc.docType === 'error' ) { + + var namespaceDoc = errorNamespaces[doc.namespace]; + if ( !namespaceDoc ) { + // First time we came across this namespace, so create a new one + namespaceDoc = errorNamespaces[doc.namespace] = { + area: doc.area, + name: doc.namespace, + errors: [], + path: path.dirname(doc.path), + outputPath: path.dirname(doc.outputPath) + '.html', + docType: 'errorNamespace' + }; + } + + // Add this error to the namespace + namespaceDoc.errors.push(doc); + doc.namespace = namespaceDoc; + + } + + }); + + + return docs.concat(_.values(errorNamespaces)); + } +};
\ No newline at end of file diff --git a/docs/config/processors/pages-data.js b/docs/config/processors/pages-data.js index 35ed242f..ff419423 100644 --- a/docs/config/processors/pages-data.js +++ b/docs/config/processors/pages-data.js @@ -103,7 +103,7 @@ var navGroupMappers = { return { name: page.name, href: page.path, - type: 'error' + type: page.docType === 'errorNamespace' ? 'section' : 'error' }; })]; }, @@ -142,7 +142,8 @@ module.exports = { // We are only interested in docs that are in a area and not landing pages var navPages = _.filter(docs, function(page) { - return page.area && page.docType != 'componentGroup'; + return page.area && + page.docType != 'componentGroup'; }); // Generate an object collection of pages that is grouped by area e.g. |
