Update fp doc template.

This commit is contained in:
John-David Dalton
2016-02-15 17:00:01 -08:00
parent 01d530d65e
commit 0da3674d5e
2 changed files with 96 additions and 21 deletions

View File

@@ -5,29 +5,45 @@ var _ = require('lodash'),
path = require('path'),
util = require('../common/util');
var basePath = path.join(__dirname, '..', '..'),
docPath = path.join(basePath, 'doc'),
readmePath = path.join(docPath, 'FP-Guide.md');
var mapping = require('../../fp/_mapping'),
templatePath = path.join(__dirname, 'template/doc'),
template = util.globTemplate(path.join(templatePath, '*.jst'));
var argNames = ['a', 'b', 'c', 'd'];
var templateData = {
'mapping': mapping,
'toArgOrder': toArgOrder,
'toFuncList': toFuncList
};
function toArgOrder(array) {
return '`(' + _.map(array, function(value) {
return argNames[value];
}).join(', ') + ')`';
}
function toFuncList(array) {
var chunks = _.chunk(array.slice().sort(), 5),
lastChunk = _.last(chunks),
last = lastChunk ? lastChunk.pop() : undefined;
chunks = _.reject(chunks, _.isEmpty);
lastChunk = _.last(chunks);
var result = '`' + _.map(chunks, function(chunk) {
return chunk.join('`, `') + '`';
}).join(',\n`');
return result + (last == null ? '' : (', & `' + last + '`'));
if (last == null) {
return result;
}
if (_.size(chunks) > 1 || _.size(lastChunk) > 1) {
result += ',';
}
result += ' &';
result += _.size(lastChunk) < 5 ? ' ' : '\n';
return result + '`' + last + '`';
}
/*----------------------------------------------------------------------------*/
@@ -38,8 +54,9 @@ function onComplete(error) {
}
}
function build() {
fs.writeFile(readmePath, template.wiki(templateData), onComplete);
function build(target) {
target = path.resolve(target);
fs.writeFile(target, template.wiki(templateData), onComplete);
}
build();
build(_.last(process.argv));