-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrouteScript.js
41 lines (36 loc) · 1.06 KB
/
routeScript.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
自动收集 leetcode, Handwriting 代码文件放入 目录中
*/
const fs = require('fs');
const path = require('path');
const isFile = fileName => {
return fs.lstatSync(fileName).isFile();
};
const writeScript = (formFolder, toFile, title) => {
const find = (folder, depth) => {
const arr = fs.readdirSync(folder).reduce((a, fileName) => {
if (!isFile(path.join(folder, fileName))) {
a = a.concat(`\n${'#'.repeat(depth)} ${fileName}\n`);
a = a.concat(find(`${path.join(folder, fileName)}`, depth + 1));
return a;
}
a = a.concat(
`- [${fileName}](./${encodeURIComponent(
path.join(folder, fileName).replace(/\\/g, '/')
)})`
);
return a;
}, []);
return arr;
};
const list = find(formFolder, 3);
const s = `## ${title}\n\nsum: ${list.length}\n\n${list.join('\n')}`;
fs.writeFileSync(toFile, s, err => {
if (err) {
console.error(err);
return;
}
});
};
writeScript('code', 'leetcodeRoute.md', 'leetcode');
writeScript('Handwriting', 'HandwritingRoute.md', 'Handwriting');