1 | #!/usr/bin/env node
|
2 | const chalk = require('chalk');
|
3 | const fs = require('fs-extra');
|
4 |
|
5 | var root_dir = process.cwd();
|
6 | var proj_dir = ['public', 'meta', 'markdown'];
|
7 | var pub_dir = ['css', 'img', 'js'];
|
8 |
|
9 | var index_page = `${root_dir || '.'}/markdown/index.md`;
|
10 | var default_meta_json = `${root_dir || '.'}/meta/defaults.json`;
|
11 | var main_css = `${root_dir || '.'}/public/css/main.css`;
|
12 |
|
13 | var package_json = fs.readFileSync(`${__dirname}/lib/_package.json`);
|
14 | var default_meta = fs.readFileSync(`${__dirname}/lib/_defaults.json`);
|
15 |
|
16 | proj_dir.forEach(dir => {
|
17 | let dirName = `${root_dir || '.'}/${dir}`;
|
18 | fs
|
19 | .ensureDir(dirName)
|
20 | .then(() => successMsg(dirName))
|
21 | .catch(errorMsg);
|
22 | });
|
23 |
|
24 | pub_dir.forEach(dir => {
|
25 | let dirName = `${root_dir || '.'}/public/${dir}`;
|
26 | fs
|
27 | .ensureDir(dirName)
|
28 | .then(() => successMsg(dirName))
|
29 | .catch(errorMsg);
|
30 | });
|
31 |
|
32 | fs.writeFile(index_page, '# Hello World!', function(err) {
|
33 | if (err) {
|
34 | console.error(chalk.red(`${err.message}`));
|
35 | throw err;
|
36 | }
|
37 | console.log(chalk.dim.yellow(`Created ${index_page}`));
|
38 | });
|
39 |
|
40 | fs.writeFile(default_meta_json, default_meta, function(err){
|
41 | if (err) {
|
42 | console.error(chalk.red(`${err.message}`));
|
43 | throw err;
|
44 | }
|
45 | console.log(chalk.dim.yellow(`Created ${default_meta_json}`));
|
46 | });
|
47 |
|
48 | fs.writeFile(main_css, '', function(err) {
|
49 | if (err) {
|
50 | console.error(chalk.red(`${err.message}`));
|
51 | throw err;
|
52 | }
|
53 | console.log(chalk.dim.yellow(`Created ${main_css}`));
|
54 | });
|
55 |
|
56 | var packageExists = fs.existsSync('./package.json');
|
57 | if(!packageExists){
|
58 | fs.writeFile('package.json', package_json, function(err){
|
59 | if(err){
|
60 | console.error(chalk.red(`${err.message}`));
|
61 | throw err;
|
62 | }
|
63 |
|
64 | console.log(chalk.dim.yellow(`Copied package.json`));
|
65 | });
|
66 | }
|
67 |
|
68 | function successMsg(dirName) {
|
69 | console.log(chalk.dim.green(`Created ${dirName}`));
|
70 | }
|
71 |
|
72 | function errorMsg(err) {
|
73 | console.error(chalk.red(`${err.message}`));
|
74 | }
|