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