Yeoman generator that scaffolds out a front-end web app for The Global Mail news apps and visualisations.
How to use:
git clone [email protected]:TheGlobalMail/generator-webapp.git generator-tgm-webappcd generator-tgm-webappnpm linkmkdir new-project && cd new-projectyo tgm-webapp
- Add favicon
- fix cdn
- make grunt check whether we were too lazy to add facebook/analytics
- more work setting solid css defaults in tgm-styles
- grunt:setup for buckets, dns and cdn
- similar to styles repo, develop repo of js widgets (eg Sri Lanka nav, parallax)
- iframe-specific css for embedded charts and such
- add sharing (lazy load)
- add header
- add deploy to aws
- prompt asking which bower things you want
- prompt that scaffolds out either embedded iframe or webapp html/css
- CSS Autoprefixing (new)
- Built-in preview server with LiveReload
- Automagically compile CoffeeScript & Compass
- Automagically lint your scripts
- Automagically wire up your Bower components with bower-install.
- Awesome Image Optimization (via OptiPNG, pngquant, jpegtran and gifsicle)
- Mocha Unit Testing with PhantomJS
- Optional - Twitter Bootstrap for SASS
- Optional - Leaner Modernizr builds (new)
For more information on what generator-webapp can do for you, take a look at the Grunt tasks used in our package.json.
- Install:
npm install -g generator-webapp - Run:
yo webapp - Run
gruntfor building andgrunt servefor preview
Note: grunt server was previously used for previewing in earlier versions of the project and is being deprecated in favor of grunt serve.
-
--skip-installSkips the automatic execution of
bowerandnpmafter scaffolding has finished. -
--test-framework=<framework>Defaults to
mocha. Can be switched for another supported testing framework likejasmine. -
--coffeeAdd support for CoffeeScript.
See the contributing docs
Note: We are regularly asked whether we can add or take away features. If a change is good enough to have a positive impact on all users, we are happy to consider it.
If not, generator-webapp is fork-friendly and you can always maintain a custom version which you npm install && npm link to continue using via yo webapp or a name of your choosing.