Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
:snowflake: Eskimo helps you to rapidly build Node powered API's, online stores, and apps in general (known as "igloos").
JavaScript CSS HTML Shell

Readme.md

Eskimo

NPM version NPM downloads Circle CI Static Analysis MIT License Slack

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.

Index

Sponsor

Clevertech

Install

npm install -g eskimo

Documentation

The wiki is the main source for additional documentation.

Screencast

TODO: Basic screencast here

Commands

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.

Examples

Free Stickers

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

Tests

To run tests you'll need to have configuration set up. Config lives under /boot/config.js (as stated before).

We've provided a base config template, which you will need to copy it to your local folder in order to run tests.

cp ./templates/boot/config.js ./boot/config.js
npm install -d
npm test

Assets

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 ./assets/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')

Conventions

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

Contributors

Credits

License

MIT

Something went wrong with that request. Please try again.