All the docs related files (docs-app, doc-gen, content, etc)
are now to be found inside the `/aio` folder.
The related gulp tasks have been moved from the top level
gulp file to a new one inside the `/aio` folder.
The structure of the `/aio` folder now looks like:
```
/aio/
build/ # gulp tasks
content/ #MARKDOWN FILES for devguides, cheatsheet, etc
devguides/
cheatsheets/
transforms/ #dgeni packages, templates, etc
src/
app/
assets/
content/ #HTML + JSON build artifacts produced by dgeni from /aio/content.
#This dir is .gitignored-ed
e2e/ #protractor tests for the doc viewer app
node_modules/ #dependencies for both the doc viewer builds and the dgeni stuff
#This dir is .gitignored-ed
gulpfile.js #Tasks for generating docs and building & deploying the doc viewer
```
Closes #14361
50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
module.exports = function generateNavigationDoc() {
|
|
|
|
return {
|
|
$runAfter: ['extra-docs-added'],
|
|
$runBefore: ['rendering-docs'],
|
|
outputFolder: '',
|
|
$validate: {outputFolder: {presence: true}},
|
|
$process: function(docs) {
|
|
var modulesDoc = {
|
|
docType: 'data-module',
|
|
value: {api: {sections: []}, guide: {pages: []}},
|
|
path: this.outputFolder + '/navigation',
|
|
outputPath: this.outputFolder + '/navigation.ts',
|
|
serviceName: 'NAVIGATION'
|
|
};
|
|
|
|
docs.forEach(function(doc) {
|
|
if (doc.docType === 'module') {
|
|
var moduleNavItem =
|
|
{path: doc.path, partial: doc.outputPath, name: doc.id, type: 'module', pages: []};
|
|
|
|
modulesDoc.value.api.sections.push(moduleNavItem);
|
|
|
|
doc.exports.forEach(function(exportDoc) {
|
|
if (!exportDoc.internal) {
|
|
var exportNavItem = {
|
|
path: exportDoc.path,
|
|
partial: exportDoc.outputPath,
|
|
name: exportDoc.name,
|
|
type: exportDoc.docType
|
|
};
|
|
moduleNavItem.pages.push(exportNavItem);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
docs.forEach(function(doc) {
|
|
if (doc.docType === 'guide') {
|
|
console.log('guide', doc.name);
|
|
var guideDoc = {path: doc.path, partial: doc.outputPath, name: doc.name, type: 'guide'};
|
|
modulesDoc.value.guide.pages.push(guideDoc);
|
|
}
|
|
});
|
|
|
|
docs.push(modulesDoc);
|
|
}
|
|
};
|
|
};
|