arrow-docgen
Version:
Arrow API Documentation Generator
47 lines (38 loc) • 1.06 kB
JavaScript
// jscs:disable jsDoc
var _ = require('lodash'),
util = require('arrow-util').content;
function generate(object, baseurl, adminurl, context) {
var pages = [];
_.keys(object.blocks).forEach(function (name) {
var page = {
url: util.makeAnchor(name),
title: name
},
markdown = [];
var block = object.blocks[name];
if (block.documented !== undefined && !block.documented) {
return;
}
markdown.push('# ' + name + '\n');
markdown.push(block.description || '');
var apis = context.blocks[name];
if (apis) {
markdown.push('### APIs using ' + name + ' block');
markdown.push('');
apis.forEach(function (apiobj) {
var api = apiobj.api,
group = apiobj.name;
if (apiobj.documented !== undefined && !apiobj.documented) {
return;
}
markdown.push('- [' + group + ' ⇢ ' + api + '](docs.html?apis/' + util.makeAnchor(group) + '.html)');
});
markdown.push('');
}
markdown.push('');
page.markdown = markdown.join('\n');
pages.push(page);
});
return pages;
}
exports.generate = generate;