UNPKG

1.24 kBJavaScriptView Raw
1/**
2 *
3 */
4var fs = require('fs');
5var sh = require('child_process').execSync;
6var path = require('path');
7
8module.exports = function (config) {
9
10 var dist = config.theme + '/tmp';
11 var nav = config.nav;
12
13 if (!nav || !nav.length) {
14 fs.writeFileSync(dist + '/__nav__.js', 'module.exports=[];');
15 return;
16 }
17
18 var out = '';
19
20 nav.forEach(function (item) {
21 var str = '{\n';
22 if (/^https?.*/.test(item.uri)) {
23 str += 'http: "' + item.uri + '",\n';
24 } else {
25
26 var mds = '';
27 var list = item.uri.split('|');
28 list.forEach(function (p) {
29 var des = path.resolve(process.cwd(), p);
30 mds += 'require("' + des + '"),\n';
31 });
32
33 str += 'md: [' + mds + '],\n';
34 }
35 str += 'label: "' + item.label + '",\n';
36 str += 'uri: "' + item.uri + '"\n';
37
38 str += '}';
39
40 out += str + ',\n';
41 });
42
43 out = 'module.exports = [' + out + '];';
44 fs.writeFileSync(dist + '/__nav__.js', out);
45};
46;
47
48var _temp = function () {
49 if (typeof __REACT_HOT_LOADER__ === 'undefined') {
50 return;
51 }
52
53 __REACT_HOT_LOADER__.register(sh, 'sh', 'src/parseNav.js');
54}();
55
56;
\No newline at end of file