This is a Yeoman generator to get a starter DoubleClick banner scaffolded out quickly.
First of all, this is a work in progress. It provides an opinionated workflow to speed the production of building a banner. It includes options for HTML banners for DoubleClick Studio and standard HTML banners using a clickTag.
Link this workflow into your own NPM installation using npm link
when you are in the generator-buildabanner directory from in your terminal.
To get started use yo buildabanner
and answer the prompts.
gulp
: This is the most basic command. It will spin up a server in your 'dev' folder. It will compile your SCSS into CSS. It will also watch for changes in the index.html, scripts.js and style.scss files and reload Google Chrome.
gulp build
: This command will create a 'dist' folder and fill it with minified versions of your files. It will also compress these same files into a zip file in the 'delivery' folder.
gulp help
: Will provide info on the 2 available comands.
The workflow offers to download a copy of the Greensock library for off-line use. Since Greensock is offered via npm, it will be placed in the 'node_modules' folder.
Working on a DoubleClick banner requires that you have an Internet connection to load the Enabler.js. The workflow offers to download a copy of the Enabler.js. If you choose to do this, it places a copy of Enabler.js in a folder called "offline". (This option is only present if you choose to build a DoubleClick banner.)
Both of these prompts for offline use default to "yes". The downloaded code is not referenced in the HTML though. You will need to manually update the HTML to load them. I've included the download of these files because I sometimes find that I need to work on these projects when having a stable Internet connection isn't possible. Having the files downloaded into my project is a failsafe.
Below are some goal posts for the future of this workflow.
- I may add an option to automatically include the downloaded Greensock files into the HTML by doing something like
gulp --offline
. I'm still deciding the approach I want to take for this though. So far, the CDN has worked best for me. - I'm considering adding image optimization, but I currently like to have complete control of my images, so that is not high on my list.
- Add size reporting. I'm looking at https://www.npmjs.com/package/gulp-sizereport/ and https://www.npmjs.com/package/gulp-size/ for this currently.
MIT