Skip to content
:snowflake: Eskimo helps you to rapidly build Node powered API's, online stores, and apps in general (known as "igloos"). http://eskimo.io
JavaScript CSS HTML Shell
Latest commit 97bf22f @niftylettuce Merge pull request #124 from amaurymedeiros/master
Fixes  #122 by using new gulp-rev-all syntax
Failed to load latest commit information.
app Merge branch 'master' of github.com:niftylettuce/eskimo
assets Temp
bin remove a typo
boot old wip
etc/init old wip
examples Update launching-soon-page/Readme.md w/ snowflake
routes Added API endpoint for email signup
templates old wip
test Adds nodemon to `gulp watch`, & API tests
.bowerrc Released gulp build for production
.gitignore old wip
.jshintrc Added Google, Facebook, and Email API endpoints for authentication, r…
.travis.yml old wip
History.md :bug: Fixes #118 by upgrading mongoose-paginate to stable version
LICENSE fresh commit
Readme.md :bug: Fixes #118 by upgrading mongoose-paginate to stable version
Vagrantfile added vagrantfile
app.js Fixed phase initialization of static server and error handlers
bootstrap.sh added vagrantfile
bower.json Temp
circle.yml :bug: Fixes #118 by upgrading mongoose-paginate to stable version
cluster.js Improving code readability.
eskimo.png fresh commit
eskimo.svg fresh commit
gitignore added vagrantfile
gulpfile.js Fixes #122 by using new gulp-rev-all syntax
package.json Release 0.3.0
routes.js Optimized route loading for API endpoints, Fixed static server orderi…

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.