UNPKG

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