1
- var gulp = require ( 'gulp' ) ;
2
- var markdownpdf = require ( 'gulp-markdown-pdf' ) ;
3
- var path = require ( 'path' ) ;
4
- var replace = require ( 'gulp-replace' ) ;
5
- var package = require ( './package.json' ) ;
6
- var rename = require ( 'gulp-rename' ) ;
7
- var rimraf = require ( 'gulp-rimraf' ) ;
8
- var runSequence = require ( 'run-sequence' ) ;
9
- var glob = require ( 'glob' ) ;
10
-
11
- var TITLE = 'AngularJS in Patterns' ;
12
-
13
- function genericTask ( lang ) {
14
-
15
- gulp . task ( 'generate:pdf:' + lang , function ( ) {
16
-
17
- var files = [ './temp/*.md' ] ;
18
- if ( lang === 'eng' ) {
19
- files = './temp/README.md' ;
20
- }
21
- else if ( lang !== 'all' ) {
22
- files = [ './temp/*-' + lang + '.md' ] ;
23
- }
24
-
25
- return gulp . src ( files )
26
- . pipe ( markdownpdf ( {
27
- cwd : path . resolve ( './temp/' ) ,
28
- layout : 'github'
29
- } ) )
30
- . on ( 'error' , function ( err ) {
31
- gutil . log ( gutil . colors . red ( 'doc task failed' ) , err ) ;
32
- } )
33
- . pipe ( rename ( function ( path ) {
34
- var lang = 'ENG' ;
35
- if ( path . basename . indexOf ( '-' ) >= 0 ) {
36
- lang = path . basename . replace ( 'README-' , '' ) . toUpperCase ( ) ;
37
- }
38
- path . basename = TITLE + ' (' + lang + ')' ;
39
- path . extname = '.pdf'
40
- } ) )
41
- . pipe ( gulp . dest ( './build/' ) ) ;
42
- } ) ;
43
-
44
- }
45
-
46
- // build custom tasks for i18n
47
-
48
- glob . sync ( './temp/README-*.md' ) . map ( function ( file ) {
49
-
50
- return file . replace ( 'README-' , '' ) ;
51
-
52
- } ) . concat ( [ 'all' , 'eng' ] ) . forEach ( function ( lang ) {
53
-
54
- genericTask ( lang ) ;
55
- gulp . task ( 'doc:pdf:' + lang , function ( cb ) {
56
- runSequence ( 'clean' , [ 'copy:images' , 'copy:md' ] , 'generate:pdf:' + lang , cb ) ;
57
- } ) ;
58
-
59
- } ) ;
60
-
61
- gulp . task ( 'default' , function ( cb ) {
62
- runSequence ( 'clean' , [ 'copy:images' , 'copy:md' ] , 'doc:pdf:all' , cb ) ;
63
- } ) ;
64
-
65
- gulp . task ( 'copy:md' , function ( ) {
66
- return gulp . src ( [ 'README.md' , 'i18n/README-*.md' ] )
67
- // @todo I have no idea where should the TOC go?!
68
- // for now, let's keep the TOC content and remove these markers
69
- . pipe ( replace ( '<!--toc-->' , '' ) )
70
- . pipe ( replace ( '<!--endtoc-->' , '' ) )
71
-
72
- // preapre the image paths for the renderer
73
- . pipe ( replace ( / h t t p s : \/ \/ r a w g i t .c o m \/ m g e c h e v \/ a n g u l a r j s - i n - p a t t e r n s \/ m a s t e r \/ i m a g e s / g, '.' ) )
74
- . pipe ( gulp . dest ( './temp/' ) ) ;
75
- } ) ;
76
-
77
- gulp . task ( 'copy:images' , function ( ) {
78
- return gulp . src ( [ 'images/*.svg' , 'meta.json' ] ) . pipe ( gulp . dest ( './temp' ) ) ;
79
- } ) ;
80
-
81
- gulp . task ( 'clean' , function ( ) {
82
- return gulp . src ( './temp/' , { read : false } ) . pipe ( rimraf ( ) ) ;
83
- } ) ;
1
+ var GulpDI = require ( 'gulp-di' ) ;
2
+ var gulp = require ( 'gulp' ) ;
3
+ var di = GulpDI ( require ( 'gulp' ) , {
4
+ pattern : [ 'gulp-*' , 'gulp.*' , 'run-sequence' , 'glob' ] ,
5
+ rename : {
6
+ 'gulp-markdown-pdf' : 'markdownpdf'
7
+ }
8
+ } )
9
+ . provide ( {
10
+ TITLE : 'AngularJS in Patterns' ,
11
+ path : require ( 'path' )
12
+ } )
13
+ . modules ( './gulp/modules' )
14
+ . tasks ( './gulp/tasks' )
15
+ . resolve ( ) ;
0 commit comments