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
The wiki is the main source for additional documentation.
TODO: Basic screencast here
Bundled with the CLI are simple commands and options.
eskimo --helpUsage: eskimo [options] [command]Commands:create <dirname> create a new igloomodel <name> create a new modelview <name> create a new viewcontroller <name> create a new controllermvc <name> create a new model, view, and controllerOptions:-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.
# 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
Want a free Eskimo snow shoes sticker? Just submit this form.
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 -dnpm test
Assets refer to static files (scripts, stylesheets and other assets) placed in assets/public. To build a production version of your app:
Note: This will minify all assets and create a
./assets/dist folder optimized and ready for deployment.
List of tasks executed during
useminimplementation (concat, rev, ...)
Below is an example of a Jade file using
//- # layout//- ...//- build:js /js/app.jsblock scriptsscript(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.enabledscript(src='/js/fb-appended-hash-bug-fix.js')//- endbuild
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.