HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Ninja 2.0.3

Ninja is a super sneaky Node.js, Gulp and Bower powered scaffold for building superb Vanilla themes. Ninja allows you to easily use your choice of preprocessors and languages in your themes and enables you to write kick-ass build processes using the many plugins available for Gulp.

Ninja will also stealthily do browser sniffing and feature detection using Conditionizr and Modernizr and will also reload your assets whenever they change using LiveReload - like a true shinobi!

GitHub version Build Status Dependency Status

Getting started

To get started using Ninja, either:

  • Download the latest release
  • Clone the repository directly into your Vanilla themes directory:
    $ git clone kasperisager/vanilla-ninja ninja

Now that you've downloaded Ninja, it's time to get it installed. Ninja uses npm for managing development dependencies and Bower for managing component dependencies:

$ npm install
$ bower install


The above installation instructions assume that you've already installed Node.js on your computer. If this is not the case, please download and install the latest version from the official Node.js download page.

For Gulp.js to work, you'll need to install it. This can be done using npm - notice that Gulp must be installed globally:

$ npm install -g gulp

For component management, you'll need to install Bower. Just like Gulp, Bower must be installed globally:

$ npm install -g bower

Compiling assets

Once you've completed all of the above steps, you should be all set to start developing Vanilla themes using Ninja. Ninja comes with a couple of built-in Gulp tasks that you can use for compiling the source:

Build - gulp

Runs the default Gulp task which will compile all assets including the Ninja scripts (.coffee by default) and stylesheets (.scss by default) as well as assets installed via Bower (Bootstrap, Modernizr and Conditionizr by default).

Watch - gulp ninja

Starts an instance of tiny-lr (a tiny LiveReload server) that watches the compiled assets for changes and pushes these to your Vanilla installation automatically whenever they change.

Issue tracking

If you come across any bugs or if you have a feature request, please file an issue using the Github Issue tracker. Ninja won't be supported through http://vanillaforums.org so please stick to using Github for inquiries about bugs and feature requests. Thanks!
File a new issue or feature request

Special thanks

Ninja Logo

Huge thanks to Chris Spooner of Spoon Graphics for his tutorial on how to create vector Ninjas in Adobe Illustrator. I absolutely suck at stuff like that so it was awesome having someone show how it's done!

GitHub: https://github.com/kasperisager/vanilla-ninja

Copyright © 2014-2015 Kasper Kronborg Isager. Licensed under the terms of the MIT License.