@@ -3,22 +3,26 @@ const fs = require('fs')
33const glob = require ( 'glob' )
44const { marked } = require ( 'marked' )
55const 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 ) ;
810const dest = path . resolve ( __dirname , '../miniprogram/pages/learn/data.js' )
911
1012glob ( 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} )
0 commit comments