This commit implements various tags, inline tags and changes the markdown renderer to use Rho. This enables us to generate guide type documents.
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)));
|
|
} |