node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey ยป



JABL is a generator for Yeoman.

If you love working with Jade, AngularJS, Bootstrap and LESS, then JABL might just be something for you!

It allows you to quickly build a static website that can easily be hosted on any kind of webserver (no Node.js, PHP, etc required).

Learn how to get your website up and running in just seconds...

Getting Started

First install yeoman:

$ npm install -g yo

Then install generator-jabl:

$ npm install -g generator-jabl

Finally, initiate the setup wizard:

$ yo jabl


JABL will automatically generate a complete website for you.

Getting help

After running the setup wizard, you can display a help screen with the available options:

$ yo jabl


Creating AngularJS subcomponents

All commands to generate AngularJS subcomponents look like jabl:a:<command>.

Create an AngularJS controller

$ yo jabl:a:controller

AngularJS controller

Create an AngularJS directive

$ yo jabl:a:directive

AngularJS directive

Create an AngularJS service

$ yo jabl:a:service

AngularJS service

Building the JavaScript library

For unit testing purposes, JABL automatically generates components and their unit tests in the src directory.

To build the Javascript library in the public/js directory for use in the website, just run:

$ yo jabl --build


JABL will automatically check your code and build a library in the `public/js' directory.

Testing the JavaScript code

JABL is designed to work with Karma and the setup wizard will automatically configure Karma for you.

When generating AngularJS subcomponents, JABL automatically generates unit tests for your AngularJS components in the /src/js/test directory.

You are free to add your own tests or edit those generated by JABL.

To run all unit test:

$ yo jabl --karma


Creating Jade subcomponents

All commands to generate AngularJS subcomponents look like jabl:j:<command>.

Create a Jade layout

$ yo jabl:j:layout

Jade layout

Create a Jade view

$ yo jabl:j:view

Jade view

Building the HTML

JABL automatically generates Jade components in the src/jade directory.

To build the resulting HTML in the public directory, just run:

$ yo jabl --build


JABL will automatically generate all HTML files and put them in the `public' directory.

The hierarchy of your Jade views will be respected, so:


will be compiled to


Start local server

JABL includes a server to view your website locally. To start the server:

grunt serve

Then open your browser to view your website:


Change log


  • Added support for local development with the grunt serve task


  • Fixed bug in bower.json generation


  • Added the ability to customize Bootstrap with LESS


  • Added default AppCtrl when AngularJS is added
  • Added Bootstrap support


  • Added Jade view scaffolding
  • Updated readme


  • Added Jade layout scaffolding
  • Refactored some method names


  • Added AngularJS filter scaffolding
  • Updated readme


  • Added AngularJS service scaffolding
  • Updated readme


  • Added AngularJS directive scaffolding
  • Added automatic Gruntfile.js generation
  • Added yo:jabl --build options
  • Fixed some bugs
  • Updated readme


  • Added AngularJS controller scaffolding


  • Initial tryout release


MIT License