UNPKG

1.3 kBJavaScriptView Raw
1var bddDox = require('bdd-dox/lib');
2var beautify = require('js-beautify');
3
4var content = require('fs').readFileSync('./test/examples.test.js').toString();
5var blocks = bddDox(content);
6
7var trimEachLine = function(str) {
8 var lines = str.split('\n');
9 var result = '';
10 for (var i = 0; i < lines.length; ++i) {
11 var toAdd = lines[i].trim();
12 if (toAdd.indexOf('* ') === 0) {
13 toAdd = toAdd.substr('* '.length);
14 }
15 result += (i > 0 ? '\n' : '') + toAdd;
16 }
17
18 return result;
19};
20
21var mdOutput =
22 '# wagner-core\n\n' +
23 'Dependency-injection-inspired async framework that doubles as an ' +
24 'isomorphic AngularJS-compatible dependency injector.\n\n' +
25 '## API\n\n';
26
27for (var i = 0; i < blocks.length; ++i) {
28 var describe = blocks[i];
29 mdOutput += '### ' + describe.contents + '\n\n';
30 mdOutput += describe.comments[0] ?
31 trimEachLine(describe.comments[0]) + '\n\n' :
32 '';
33
34 for (var j = 0; j < describe.blocks.length; ++j) {
35 var it = describe.blocks[j];
36 mdOutput += '##### It ' + it.contents + '\n\n';
37 mdOutput += it.comments[0] ? trimEachLine(it.comments[0]) + '\n\n' : '';
38 mdOutput += '```\n';
39 mdOutput += beautify(it.code, { indent_size: 2 }) + '\n';
40 mdOutput += '```\n\n';
41 }
42}
43
44require('fs').writeFileSync('README.md', mdOutput);
\No newline at end of file