-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapp.js
40 lines (38 loc) · 1.01 KB
/
app.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
const program = require('commander');
program
.version(require('./package.json').version)
.option('-s, --site [string]', 'site name')
.option('-e, --export [boolean]', 'export site')
.option('-w, --web [boolean]', 'serve site with a web server')
.arguments('[url]')
.action((url) => {
program.url = url;
})
.parse(process.argv);
if (program.export) {
let Exporter = require('./src/exporter');
if (program.site) {
let exporter = Exporter(program.site);
exporter.exportSite((exportFile) => {
console.log('Export done.');
console.log(exportFile);
});
} else {
Exporter.exportAllSites((exportFile) => {
console.log(exportFile);
});
}
} else if (program.web) {
if (program.site) {
require('./src/server')(program.site, 8080);
} else {
console.error('You must provide a site name');
process.exit(1);
}
} else {
if (!program.url) {
console.error('Must include a url');
process.exit(1);
}
require('./src/spider')(program.url, program.site);
}