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