Slide 1

Slide 1 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ Gulp TASK RUNNER 1 Mladen Đurić @MacMladen Viša tehnička škola strukovnih studija Novi Sad Predavaona, 26.04.2018.

Slide 2

Slide 2 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 2 MLADEN ĐURIĆ a.k.a MacMladen $ whoami A very boring incompetent guy

Slide 3

Slide 3 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 3 As soon as I started learning to code I was so fascinated and wanted to share what I learned. I was hardly into secondary school when I organized first computer club and gave first BASIC course. It was around 1982. In 2016 I have started a Professional Web Development School ]{oder.

Slide 4

Slide 4 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 All about us ]{ODER 4

Slide 5

Slide 5 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 5 ENROLL TO GET NOTIFIED

Slide 6

Slide 6 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 6 ]{oder for VTŠ students: Professional
 Development
 Summer Bootcamp …more info soon!

Slide 7

Slide 7 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ Gulp OK, TASK RUNNER, BUT…? 7

Slide 8

Slide 8 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ 8 Gulp nodejs streams task runner gulp.js is an open-source JavaScript toolkit, 
 used as a streaming build system in front-end web development. It is built on Node.js and npm, used for automation of time-consuming and repetitive tasks involved in web development like minification, concatenation, cache busting, unit testing, linting, optimization, etc. gulp uses a code-over-configuration approach to define its tasks and relies on its small, single- purposed plugins to carry them out. The gulp ecosystem includes more than 300 such plugins.

Slide 9

Slide 9 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 INTRODUCE YOURSELF! 9 • Your… style weapon of choice? (gulp, grunt, npm…) • Your field? (frontend, developer) • Coding experience? (none, some, pro)

Slide 10

Slide 10 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 TIMETABLE: 1. Why task runners 2. Task runners 3. Node environment 4. Starting with gulp 5. Copy resources 6. Compile SCSS 7. Uglify JS 8. Watch for change 9. Refresh devices 10. Gulp references 10

Slide 11

Slide 11 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ WHY TASK RUNNERS? 11

Slide 12

Slide 12 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 12 DRY

Slide 13

Slide 13 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 13 DON’T REPEAT YOURSELF

Slide 14

Slide 14 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ TASK RUNNERS 14

Slide 15

Slide 15 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 HOW ABOUT…? 15

Slide 16

Slide 16 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 TOOLS 16

Slide 17

Slide 17 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 NODE PACKAGE MANAGER 17

Slide 18

Slide 18 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GRUNT 18

Slide 19

Slide 19 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 WEBPACK 19

Slide 20

Slide 20 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ NODE ENVIRONMENT 20

Slide 21

Slide 21 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 INSTALL NODE ON YOUR SYSTEM 21

Slide 22

Slide 22 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 INSTALL NODE ON YOUR SYSTEM 22

Slide 23

Slide 23 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 INITIALIZE PROJECT 23

Slide 24

Slide 24 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ STARTING WITH GULP 24

Slide 25

Slide 25 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 ADD GULP 25

Slide 26

Slide 26 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 CODE OVER CONFIGURATION 26

Slide 27

Slide 27 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP METHODS 27 gulp.src(globs[, options]) gulp.dest(path[, options]) gulp.task(name [, deps, fn]) gulp.watch(glob [, opts], tasks) gulp.watch(glob [, opts, cb])

Slide 28

Slide 28 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP FILE ANATOMY 28

Slide 29

Slide 29 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP FILE ANATOMY 29

Slide 30

Slide 30 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP FILE ANATOMY 30

Slide 31

Slide 31 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ COPY RESOURCES 31

Slide 32

Slide 32 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 SRC -> DEST 32

Slide 33

Slide 33 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ COMPILE SCSS 33

Slide 34

Slide 34 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP-SASS 34

Slide 35

Slide 35 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ UGLIFY JS 35

Slide 36

Slide 36 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 CONCAT, UGLIFY 36

Slide 37

Slide 37 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ WATCH FOR CHANGE 37

Slide 38

Slide 38 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP.WATCH 38

Slide 39

Slide 39 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ REFRESH DEVICES 39

Slide 40

Slide 40 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 STATIC RELOAD (HTML) 40

Slide 41

Slide 41 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 DYNAMIC RELOAD (USING PHP BUILT-IN SERVER) 41

Slide 42

Slide 42 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ GULP REFERENCES 42

Slide 43

Slide 43 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULPJS.ORG 43

Slide 44

Slide 44 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 TOPTAL 44

Slide 45

Slide 45 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 TOPTAL 45

Slide 46

Slide 46 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP API 46

Slide 47

Slide 47 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP DOCUMENTATION 47

Slide 48

Slide 48 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 DON’T MAKE A PLUGIN 48

Slide 49

Slide 49 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 SMASHING ON GULP 49

Slide 50

Slide 50 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 GULP VIDEO TUTORIAL 50

Slide 51

Slide 51 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 SCOTCH ON GULP 51

Slide 52

Slide 52 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 MLADEN ĐURIĆ a.k.a MacMladen Professional Development School 52

Slide 53

Slide 53 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ THANKS! 53 Mladen Đurić @MacMladen

Slide 54

Slide 54 text

@MacMladen Gulp — task runner v.1 2018-04-26 ]{ 54 Q & A Mladen Đurić [email protected]

Slide 55

Slide 55 text

@MacMladen Gulp — task runner ]{ v.1 2018-04-26 55