-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
40 lines (35 loc) · 1.14 KB
/
index.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
// Ferramenta para facilitar nossas vidas
var fs = require('fs');
var child = require('child_process');
var subcomando = process.argv.slice(2);
var comando = {};
// Builda um projeto
comando.build = function(pasta) {
console.log('-- Construindo documentação para %s', pasta);
child.execSync('mkdocs build --clean', {
cwd: __dirname + '/' + pasta
});
console.log('-- Construção dos documentos para %s terminado', pasta);
};
// Inicia um servidor estático para mostrar o projeto
comando.server = function(pasta) {
console.log('-- Iniciando servidor do projeto %s', pasta);
child.execSync('mkdocs serve', {
cwd: __dirname + '/' + pasta
});
};
if (subcomando[0] === 'server')
comando.server(subcomando[1]);
else if (subcomando[0] === 'build') {
if (subcomando[1])
return comando.build(subcomando[1]);
// Caso nenhuma pasta seja especificada, fazemos o build para todos
fs.readdirSync(__dirname)
.filter(function(dir) {
return fs.existsSync(__dirname + '/' + dir + '/mkdocs.yml');
})
.forEach(function(dir) {
comando.build(dir);
});
} else
throw new Error('Commando desconhecido: ' + subcomando[0]);