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
16 fs.writeFileSync(dist + `/__nav__.js`, 'module.exports=[];');
17 return;
18 }
19
20 let out = '';
21
22 nav.forEach(item => {
23 let str = '{\n';
24 if (/^https?.*/.test(item.uri)) {
25 str += `http: "${item.uri}",\n`;
26 } else {
27
28 let mds = '';
29 const list = item.uri.split('|');
30 list.forEach( p => {
31 const des = path.resolve(process.cwd(), p);
32 mds += `require("${des}"),\n`
33 });
34
35 str += `md: [${mds}],\n`;
36 }
37 str += `label: "${item.label}",\n`;
38 str += `uri: "${item.uri}"\n`;
39
40 str += '}';
41
42 out += str + ',\n';
43 });
44
45 out = `module.exports = [${out}];`;
46 fs.writeFileSync(dist + `/__nav__.js`, out);
47
48}
\No newline at end of file