gulp-starter-pack
gulp-starter-pack copied to clipboard
Gulp Starter Pack
This package intended to solve common front-end development tasks. Works best for psd/sketch to html projects and save you a lot of time setting up local environment
How to start
yarnornpm i- install npm dependenciesgulp- run dev-servergulp build- build project from sourcesyarn deployornpm run deploy- run build and deploy to surge
List of Gulp tasks
To run separate task type in command line gulp [task_name].
Almost all tasks also have watch mode - gulp [task_name]:watch, but you don't need to use it directly.
Main tasks
| Task name | Description |
|---|---|
default |
will start all tasks required by project in dev mode: initial build, watch files, run server with livereload |
build:development |
build dev version of project (without code optimizations) |
build |
build production-ready project (with code optimizations) |
Other tasks
| Task name | Description |
|---|---|
sass |
compile .sass/.scss to .css. Included postcss for autoprefixer, flexbugs and other cool plugins you might add |
pug |
compile pug templates |
javascript |
combines vendor files and custom .js code into separate files |
sprite:svg |
create svg symbol sprites (monocolor and multicolor) |
sprite:png |
create png sprites |
images |
optimize, minify and clone images |
server |
run dev-server powered by BrowserSync |
clean |
remove ./dist folder |
copy |
copy common files from ./src path to ./dist path |
list-pages |
create index file with links to all project pages |
All available tasks are placed in a folder ./gulp/tasks as separate .js files.
General instructions
- Layout is based on components.
./src/componentsinclude folders named by blocks. Each block have_name.pugfile and_name.{sass,scss}stylesheet
Flags
gulp --openorgulp server --open- run dev server and then open preview in browsergulp --tunnel=[name]orgulp server --tunnel [name]- runs dev server and allows you to easily share a web service on your local development machine (powered by localtunnel.me). Your local site will be available at[name].localtunnel.me.gulp [task_name] --prodorgulp [task_name] --production- run task in production mode. Some of the tasks (like, sass or js compilation) have additional settings for production mode (such as code minification), so with this flag you can force production mode.gulp builduses this mode by default.
Deploy
There are git hooks for surge deploy. Every push will execute deploy to specific surge domain of ./dist folder
Exmaple:
surge --project ./dist --domain projectname.surge.sh
If it's not working correctly, try installing git-scripts manually:
yarn add git-scripts --save
use yarn surge or npm run surge to do the same. deploy command will run build with production flag and upload to surge
Other
You can also use npm scripts:
yarn startornpm start- same asgulp default.yarn buildornpm run build- same asgulp build.yarn surgeornpm run surge- deploy./distfolder to surge (used for previews). Request deploy rights from owner (surge --add [email protected])