Skip to content

Commit 80b204f

Browse files
committed
1.1.0
install pkgs automatically beautify log
1 parent 1833eef commit 80b204f

File tree

8 files changed

+78
-42
lines changed

8 files changed

+78
-42
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ Run this command to generate a new markdown file contains the necessary structur
116116
This file contains metadatas like name, email etc.
117117

118118
### `boowa build`
119-
Generate new templates after you edit `_config.json` or modify your markdown files
119+
After edit `_config.json` or modify markdown files, run this command to generate new templates.
120120

121121
### `npm run start`
122122
Start a development server
@@ -131,7 +131,7 @@ Boowa has a simple built-in server , after `npm run build && cd dist`, run this
131131
After install the newest boowa, run `boowa` in the boowa-existed directory, this update would not rewrite the markdown files and `_config.json`.
132132

133133
### support offline locally
134-
Service-worker normally runs unlocally under https, so if you want to test the offline function, for chrome, run this command first:
134+
Service-worker works under https in production mode, so if you want to test the offline function locally, for chrome, run this command first:
135135
```sh
136136
/Applications/Google\ Chrome.app/Conts/MacOS/Google\ Chrome --user-data-dir=/tmp/foo --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=http://localhost:port
137137
```

lib/generators/build.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@ var generateFile = require('./generateFile')
33
var generateArticleScript = require('./generateArticleScript')
44
var log = require('../../log')
55

6-
module.exports = async theme => {
7-
var site = await generateArticleHtml(theme)
6+
module.exports = (theme, quiet) => {
87
var generateTmpl = require(`./${theme}/generateTmpl`)
98
var cwd = process.cwd()
109
var config = require(`${cwd}/_config.json`)
1110

12-
await generateFile(`${cwd}/app/pages/article/article.js`, generateArticleScript(site))
13-
await generateFile(`${cwd}/app/tmpl/homepage.html`, generateTmpl(site, config))
14-
15-
log.info('boowa build')
11+
if (!quiet){
12+
log.warn(`boowa build start...`)
13+
}
14+
15+
generateArticleHtml(theme).then(site => {
16+
generateFile(`${cwd}/app/pages/article/article.js`, generateArticleScript(site))
17+
generateFile(`${cwd}/app/tmpl/homepage.html`, generateTmpl(site, config))
18+
})
1619
}

lib/generators/create.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ var generateFile = require('./generateFile')
22
var build = require(`./build`)
33

44
module.exports = async (blogname, theme) => {
5-
await generateFile(`${process.cwd()}/_articles/${blogname}.md`, require(`./${theme}/articleMdTmpl`))
6-
build(theme)
5+
generateFile(`${process.cwd()}/_articles/${blogname}.md`, require(`./${theme}/articleMdTmpl`))
6+
.then(() => {
7+
build(theme, true)
8+
})
79
}

lib/generators/devInstall.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
var exec = require('child_process').exec
2+
var log = require('../../log')
3+
4+
var pkgs = [
5+
'bankai',
6+
'brfs',
7+
'choo',
8+
'endent',
9+
'detect-indent',
10+
'github-markdown-css',
11+
'nanocomponent',
12+
'prismjs',
13+
'sheetify',
14+
'sheetify-sass'
15+
]
16+
var installPkgs = pkgs.map(pkg => {
17+
return () => {
18+
var cmd = `npm install --save --cache-min Infinity --loglevel error ${pkg}`
19+
20+
exec(cmd, err => {
21+
log.info(`pkg: ${pkg} installed.`)
22+
return Promise.resolve(pkg)
23+
})
24+
}
25+
})
26+
27+
module.exports = () => new Promise(async (resolve, reject) => {
28+
log.warn('Installing packages, this might take a couple of minutes.')
29+
await installPkgs.reduce((p, fn) => {
30+
return p = p.then(fn)
31+
}, Promise.resolve())
32+
resolve()
33+
})

lib/generators/generateFile.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ var getDirName = require('path').dirname
33
var fs = require('fs')
44
var log = require('../../log')
55

6-
module.exports = (dest, tmpl) => {
6+
module.exports = (file, tmpl) => {
7+
var cwd = process.cwd()
8+
var dest = `${cwd}/${file}`
79

810
return new Promise((resolve, reject) => {
911
fs.access(getDirName(dest), err => {
@@ -22,11 +24,13 @@ module.exports = (dest, tmpl) => {
2224
})
2325

2426
function writeFile() {
27+
2528
fs.writeFile(dest, tmpl, 'utf8', err => {
2629
if (err) {
2730
reject()
2831
log.error(err)
2932
} else {
33+
log.info(`file: ${file} generated.`)
3034
resolve()
3135
}
3236
})

lib/generators/index.js

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,42 @@ var generateApp = require('./generateApp')
22
var generateFile = require('./generateFile')
33
var generateArticleScript = require('./generateArticleScript')
44
var generateArticleHtml = require('./generateArticleHtml')
5-
var packageJsonTmpl = require('./packageJsonTmpl')
5+
var pkgTmpl = require('./pkgTmpl')
6+
var devInstall = require('./devInstall')
67
var serviceWorkerTmpl = require('./serviceWorkerTmpl')
78
var readmeMdTmpl = require('./readmeMdTmpl')
89
var fs = require('fs')
910
var log = require('../../log')
1011

11-
module.exports = async (theme, isUpdate) => {
12+
module.exports = (theme, isUpdate) => {
1213
var cwd = process.cwd()
1314
var config = isUpdate ? require(`${cwd}/_config.json`) : undefined
1415

1516
var configTmpl = require(`./${theme}/configTmpl`)
1617
var generateTmpl = require(`./${theme}/generateTmpl`)
1718
var articleDemoMdTmpl = require(`./${theme}/articleDemoMdTmpl`)
1819

19-
await generateApp(theme)
20-
await generateFile(`${cwd}/package.json`, packageJsonTmpl)
21-
await generateFile(`${cwd}/service-worker.js`, serviceWorkerTmpl)
22-
await generateFile(`${cwd}/_articles/sheetify_document.md`, articleDemoMdTmpl)
23-
await generateFile(`${cwd}/README.md`, readmeMdTmpl)
24-
if (!isUpdate) {
25-
await generateFile(`${cwd}/_config.json`, configTmpl)
26-
}
27-
var site = await generateArticleHtml(theme)
28-
await generateFile(`${cwd}/app/pages/article/article.js`, generateArticleScript(site))
29-
await generateFile(`${cwd}/app/tmpl/homepage.html`, generateTmpl(site, config))
20+
log.warn(`boowa ${isUpdate ? 'update' : 'init'} start...`)
21+
22+
generateApp(theme).then(() => log.info(`choo app generated.`))
23+
24+
generateFile(`package.json`, pkgTmpl)
25+
generateFile(`service-worker.js`, serviceWorkerTmpl)
26+
generateFile(`_articles/sheetify_document.md`, articleDemoMdTmpl)
27+
generateFile(`README.md`, readmeMdTmpl)
28+
29+
generateArticleHtml(theme).then(site => {
30+
generateFile(`app/pages/article/article.js`, generateArticleScript(site))
31+
generateFile(`app/tmpl/homepage.html`, generateTmpl(site, config))
32+
})
33+
3034
if (theme === 'austere') {
3135
var generateHeaderTmpl = require(`./${theme}/generateHeaderTmpl`)
32-
await generateFile(`${cwd}/app/tmpl/header.html`, generateHeaderTmpl(config))
36+
generateFile(`app/tmpl/header.html`, generateHeaderTmpl(config))
37+
}
38+
39+
if (!isUpdate) {
40+
generateFile(`_config.json`, configTmpl)
41+
devInstall()
3342
}
34-
log.info(`boowa ${isUpdate ? 'update' : 'init'}`)
3543
}

lib/generators/packageJsonTmpl.js renamed to lib/generators/pkgTmpl.js

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,12 @@ module.exports = endent`
44
{
55
"name": "boowa-blog",
66
"version": "1.0.0",
7-
"description": "A blog generated by boowa",
87
"main": "index.js",
98
"scripts": {
109
"start": "bankai start index.js",
10+
"inspect": "bankai inspect index.js",
1111
"build": "bankai build index.js"
1212
},
13-
"author": "",
14-
"license": "MIT",
15-
"dependencies": {
16-
"bankai": "9.4.1",
17-
"brfs": "^1.4.3",
18-
"choo": "^6.8.0",
19-
"endent": "^1.1.1",
20-
"detect-indent": "^5.0.0",
21-
"github-markdown-css": "^2.10.0",
22-
"nanocomponent": "^6.5.0",
23-
"prismjs": "^1.10.0",
24-
"sheetify": "^7.2.0",
25-
"sheetify-sass": "^2.0.0"
26-
},
2713
"browserify": {
2814
"transform": [
2915
[

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "boowa",
3-
"version": "1.0.3",
3+
"version": "1.1.0",
44
"description": "☁️☁️🚂☁️☁️ colorful blog generator",
55
"scripts": {
66
"test": "tape test/test.js"

0 commit comments

Comments
 (0)