After completing gulp.spritesmith
, other developers asked me for good resources on writing a gulp plugin. This article is meant to serve as a public ledger of those resources.
If you are vague on the inner workings on of gulp, it is node's streams combined with a custom file system layer, known as vinyl.
This slideshow by @contra, one of gulp's authors, and explains this concept nicely.
If you are shaky on your knowledge of streams, some good references are:
- http://nodeschool.io/
- https://github.com/substack/stream-handbook
- Write a streaming library outside of gulp
If you are uncertain of where to get started/are stuck, try reading some other gulp plugins:
Lastly, it is suggested to embrace utilities/modules. You can write everything from scratch but it will be more verbose than necessary. Some practical libraries are: