eskimo

Eskimo helps you to rapidly build Node powered API's, online stores, and apps in general (known as "igloos").

Eskimo

Eskimo helps you to rapidly build Node powered API's, online stores, and apps in general (known as "igloos"). Requires Node >= 0.10.x, Redis for sessions, and your choice of either Knex/Bookshelf (SQL) or Mongoose (MongoDB) for data.

npm install -g eskimo

TODO: Basic screencast here

Bundled with the CLI are simple commands and options.

eskimo --help
Usage: eskimo [options] [command]
 
Commands:
 
  create <dirname>       create a new igloo
  model <name>           create a new model
  view <name>            create a new view
  controller <name>      create a new controller
  mvc <name>             create a new model, view, and controller
 
Options:
 
  -h, --help                output usage information
  -V, --version             output the version number
  -N, --no-update-notifier  disable update notifier
  -T, --no-tracking         disable anonymous tracking

Once you've created an igloo, see the generated Readme.md file.

Usage samples:

# To create a new igloo in `./awesome`:
eskimo create awesome
 
# To create a new model, views, and controller (with routes and tests) for "tags", in `./app/views/tags/*.jade`, `./app/models/tag.js`, `./app/controllers/tags.js`, `./app/routes/tags.js`, and `./test/99-tags.test.js`:
eskimo mvc tag
# Note: You could write "tags" as well (no quotes necessary if there are no spaces)
 
# To create a new controller (with routes and tests) in `./app/controllers/user-settings.js`, `./app/routes/user-settings.js`, and `./test/99-user-settings.test.js`
eskimo controller 'user settings'
# Note: You could write "user-settings" as well (no quotes necessary if there are no spaces)

Please read Igloo's documentation for more information. or your created igloo's Readme.md.

Want a free Eskimo snow shoes sticker? Just submit this form.

npm install -d
npm test

Assets refer to static files (scripts, stylesheets and other assets) placed in assets/public. To build a production version of your app:

gulp build

Note: This will minify all assets and create a /dist folder optimized and ready for deployment.

List of tasks executed during gulp build:

  • Automatic LESS processing
  • Automatic install of Bower packages
  • Automatic images minification
  • Automatic usemin implementation (concat, rev, ...)

Below is an example of a JADE file using usemin blocks:

//- #layout
...
//- build:js /js/app.js
block scripts
    script(src='/bower/jquery/dist/jquery.js')
    script(src='/bower/bootstrap/dist/js/bootstrap.js')
    script(src='/bower/bootbox/bootbox.js')
    script(src='/js/plugins.js')
    script(src='/js/main.js')
    if settings.facebook.enabled
        script(src='/js/fb-appended-hash-bug-fix.js')
//- endbuild

After, running gulp build the file will be optimized:

//- #layout
...
script(src='/js/app-316568f4.js')

See nifty-conventions for code guidelines, general project requirements, and git workflow.

MIT