cherry-doc
Version:
markdown to doc
45 lines (35 loc) • 1.06 kB
JavaScript
/**
*
*/
var fs = require('fs');
var sh = require('child_process').execSync;
var path = require('path');
module.exports = function (config) {
var dist = config.theme + '/tmp';
var nav = config.nav;
if (!nav || !nav.length) {
fs.writeFileSync(dist + '/__nav__.js', 'module.exports=[];');
return;
}
var out = '';
nav.forEach(function (item) {
var str = '{\n';
if (/^https?.*/.test(item.uri)) {
str += 'http: "' + item.uri + '",\n';
} else {
var mds = '';
var list = item.uri.split('|');
list.forEach(function (p) {
var des = path.resolve(process.cwd(), p);
mds += 'require("' + des + '"),\n';
});
str += 'md: [' + mds + '],\n';
}
str += 'label: "' + item.label + '",\n';
str += 'uri: "' + item.uri + '"\n';
str += '}';
out += str + ',\n';
});
out = 'module.exports = [' + out + '];';
fs.writeFileSync(dist + '/__nav__.js', out);
};