Skip to content

Commit 5a9a858

Browse files
committed
refactor: optimize gen-data script
1 parent d06b097 commit 5a9a858

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

script/gen-tips.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,26 @@ const fs = require('fs')
33
const glob = require('glob')
44
const { marked } = require('marked')
55
const MagicString = require('magic-string')
6-
const { flattenToken } = require('./helper')
6+
const cliProgress = require('cli-progress');
77

8+
const { flattenToken } = require('./helper')
9+
const bar = new cliProgress.SingleBar({}, cliProgress.Presets.shades_classic);
810
const dest = path.resolve(__dirname, '../miniprogram/pages/learn/data.js')
911

1012
glob(path.resolve(__dirname, '../HowToCook/tips/**/*.md'), {}, async (err, files) => {
1113
if (err) console.log(err)
1214
const ans = []
1315
let no = 0;
1416

17+
bar.start(files.length, 0);
18+
1519
for (let p of files) {
16-
const { name: title, dir } = path.parse(p)
20+
const { name, dir } = path.parse(p)
1721
const content = fs.readFileSync(path.resolve(p), { encoding: 'utf-8'})
1822
const tokens = marked.lexer(content);
1923
const article = {
2024
no: no++,
21-
title,
25+
name,
2226
content: [],
2327
}
2428

@@ -32,10 +36,11 @@ glob(path.resolve(__dirname, '../HowToCook/tips/**/*.md'), {}, async (err, files
3236
}
3337

3438
ans.push(article)
35-
36-
const s = new MagicString(JSON.stringify(ans))
37-
s.prepend('export default ')
38-
39-
fs.writeFileSync(dest, s.toString())
39+
bar.update(no)
4040
}
41+
42+
bar.stop()
43+
const s = new MagicString(JSON.stringify(ans, null, 2))
44+
s.prepend('export default ')
45+
fs.writeFileSync(dest, s.toString())
4146
})

script/helper.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1+
const path = require('path')
2+
const fs = require('fs')
3+
const axios = require('axios')
4+
const FormData = require('form-data')
5+
16
const config = require('../config')
27

3-
const accessToken = ''
8+
let accessToken = ''
49

510
const getAccessToken = async() => {
611
if (accessToken) return accessToken
@@ -91,7 +96,10 @@ const flattenToken = async (token, dir) => {
9196
const data = await uploadImage(path.resolve(dir, href))
9297
return { type, text, href: data }
9398
case 'link':
94-
return { type, text, href }
99+
if (href.startsWith('http')) {
100+
return { type, text, href }
101+
}
102+
return { type: 'page', text, href }
95103
case 'space':
96104
return ''
97105
case 'code':

0 commit comments

Comments
 (0)