Skip to content

Commit 4ed6b17

Browse files
Jackymancs4zombieFox
authored andcommitted
[refactor] add gulp build system
1 parent 1a72290 commit 4ed6b17

File tree

6 files changed

+10755
-5
lines changed

6 files changed

+10755
-5
lines changed

‎.gitignore‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
.DS_Store
2+
build
3+
node_modules

‎gulpfile.js‎

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
const{
2+
src,
3+
dest,
4+
parallel
5+
}=require('gulp');
6+
7+
constcsso=require('gulp-csso');
8+
9+
constconcat=require('gulp-concat');
10+
11+
constuglify=require('gulp-uglify');
12+
13+
constreplace=require('gulp-replace');
14+
15+
consthtmlmin=require('gulp-htmlmin');
16+
17+
constfolder={
18+
src: 'src',
19+
build: 'build/web'
20+
}
21+
22+
constfilename={
23+
css: "nighttab.min.css",
24+
js: "nighttab.min.js"
25+
}
26+
27+
functionmanifest(){
28+
returnsrc(folder.src+'/manifest.json')
29+
.pipe(dest(folder.build))
30+
}
31+
32+
functionhtml(){
33+
returnsrc(folder.src+'/index.html')
34+
.pipe(replace(/\<\!\-\-\ css\-block\ \-\-\>([\s\S]*)\<\!\-\-\ end\-css\-block\ \-\-\>/mg,'<link rel="stylesheet" href="css/'+filename.css+'">'))
35+
.pipe(replace(/\<\!\-\-\ js\-block\ \-\-\>([\s\S]*)\<\!\-\-\ end\-js\-block\ \-\-\>/mg,'<script src="js/'+filename.js+'"></script>'))
36+
.pipe(htmlmin({
37+
collapseWhitespace: true
38+
}))
39+
.pipe(dest(folder.build))
40+
}
41+
42+
functionfonts(){
43+
returnsrc(folder.src+'/fonts/**/*.*')
44+
.pipe(dest(folder.build+'/fonts'))
45+
}
46+
47+
functionicons(){
48+
returnsrc(folder.src+'/icons/**/*.*')
49+
.pipe(dest(folder.build+'/icons'))
50+
}
51+
52+
functioncss(){
53+
returnsrc(folder.src+'/css/*.css')
54+
.pipe(concat(filename.css))
55+
.pipe(csso())
56+
.pipe(dest(folder.build+'/css'))
57+
}
58+
59+
functionjs(){
60+
returnsrc([
61+
folder.src+'/js/vendor/*.js',
62+
folder.src+'/js/helper.js',
63+
folder.src+'/js/data.js',
64+
folder.src+'/js/fontawesome.js',
65+
folder.src+'/js/update.js',
66+
folder.src+'/js/state.js',
67+
folder.src+'/js/bookmarks.js',
68+
folder.src+'/js/control.js',
69+
folder.src+'/js/menu.js',
70+
folder.src+'/js/header.js',
71+
folder.src+'/js/modal.js',
72+
folder.src+'/js/tip.js',
73+
folder.src+'/js/shade.js',
74+
folder.src+'/js/theme.js',
75+
folder.src+'/js/date.js',
76+
folder.src+'/js/greeting.js',
77+
folder.src+'/js/transitional.js',
78+
folder.src+'/js/clock.js',
79+
folder.src+'/js/search.js',
80+
folder.src+'/js/link.js',
81+
folder.src+'/js/version.js',
82+
folder.src+'/js/keyboard.js',
83+
folder.src+'/js/background.js',
84+
folder.src+'/js/layout.js',
85+
folder.src+'/js/auto-suggest.js',
86+
folder.src+'/js/pagelock.js',
87+
folder.src+'/js/edge.js',
88+
folder.src+'/js/init.js',
89+
])
90+
.pipe(concat(filename.js))
91+
.pipe(uglify())
92+
.pipe(dest(folder.build+'/js',{
93+
sourcemaps: '.'
94+
}))
95+
}
96+
97+
exports.manifest=manifest;
98+
exports.html=html;
99+
exports.fonts=fonts;
100+
exports.icons=icons;
101+
exports.css=css;
102+
exports.js=js;
103+
exports.default=parallel(manifest,html,fonts,icons,css,js);

0 commit comments

Comments
(0)