UNPKG

1.86 kBJavaScriptView Raw
1#!/usr/bin/env node
2const chalk = require('chalk');
3const fs = require('fs-extra');
4
5var root_dir = process.cwd();
6var proj_dir = ['public', 'meta', 'markdown'];
7var pub_dir = ['css', 'img', 'js'];
8
9var index_page = `${root_dir || '.'}/markdown/index.md`;
10var default_meta = `${root_dir || '.'}/meta/defaults.json`;
11
12var main_css = `${root_dir || '.'}/public/css/main.css`;
13var package_json = fs.readFileSync(`${__dirname}/lib/sample-package.json`);
14var default_meta_json = fs.readFileSync(`${__dirname}/lib/default-metadata.json`);
15
16proj_dir.forEach(dir => {
17 let dirName = `${root_dir || '.'}/${dir}`;
18 fs
19 .ensureDir(dirName)
20 .then(() => successMsg(dirName))
21 .catch(errorMsg);
22});
23
24pub_dir.forEach(dir => {
25 let dirName = `${root_dir || '.'}/public/${dir}`;
26 fs
27 .ensureDir(dirName)
28 .then(() => successMsg(dirName))
29 .catch(errorMsg);
30});
31
32fs.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
40fs.writeFile(default_meta, default_meta_json, 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}`));
46});
47
48fs.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
56var packageExists = fs.existsSync('./package.json');
57if(!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
68function successMsg(dirName) {
69 console.log(chalk.dim.green(`Created ${dirName}`));
70}
71
72function errorMsg(err) {
73 console.error(chalk.red(`${err.message}`));
74}