600402d440
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
47 lines
2.1 KiB
JavaScript
47 lines
2.1 KiB
JavaScript
var Package = require('dgeni').Package;
|
|
var jsdocPackage = require('dgeni-packages/jsdoc');
|
|
var linksPackage = require('../links-package');
|
|
var path = require('canonical-path');
|
|
var fs = require('fs');
|
|
|
|
// Define the dgeni package for generating the docs
|
|
module.exports = new Package('content', [jsdocPackage, linksPackage])
|
|
|
|
// Register the services and file readers
|
|
.factory(require('./readers/content'))
|
|
|
|
// Configure file reading
|
|
.config(function(readFilesProcessor, contentFileReader) {
|
|
readFilesProcessor.fileReaders.push(contentFileReader);
|
|
})
|
|
|
|
.config(function(parseTagsProcessor, getInjectables) {
|
|
parseTagsProcessor.tagDefinitions = parseTagsProcessor.tagDefinitions.concat(
|
|
getInjectables(requireFolder('./tag-defs')));
|
|
})
|
|
|
|
// Configure ids and paths
|
|
.config(function(computeIdsProcessor, computePathsProcessor) {
|
|
|
|
computeIdsProcessor.idTemplates.push({
|
|
docTypes: ['content'],
|
|
getId: function(doc) {
|
|
return doc.fileInfo
|
|
.relativePath
|
|
// path should be relative to `modules` folder
|
|
.replace(/.*\/?modules\//, '')
|
|
// path should not include `/docs/`
|
|
.replace(/\/docs\//, '/')
|
|
// path should not have a suffix
|
|
.replace(/\.\w*$/, '');
|
|
},
|
|
getAliases: function(doc) { return [doc.id]; }
|
|
});
|
|
});
|
|
|
|
function requireFolder(folderPath) {
|
|
const absolutePath = path.resolve(__dirname, folderPath);
|
|
return fs.readdirSync(absolutePath)
|
|
.filter(p => !/[._]spec\.js$/.test(p)) // ignore spec files
|
|
.map(p => require(path.resolve(absolutePath, p)));
|
|
} |