shooss v1.0.2
shooss - super http u* static server 
Super simple yet comprehensive static files server. Shooss :ski:
Credits
Based on Shuss by ArnaudRinquin
Installation
Shooss requires Node.js to run.
npm install shoossYou'd probably want it in available globally, with:
npm install -g shoossLivereload
To enjoy the pleasure of the livereload feature, just follow the official browser extension installation guide. Easy.
Settings
Shooss loads settings in that order:
defaultsenv-f <file>cli args
There are very few settings, all defaulted.
- port:
1234 - dir:
'.' - livreload:
false - livereloadport:
35729 - verbose:
false
CLI usage
$ > shooss -h
shooss [options...]
Options:
-d, --dir Served files directory [default: "."]
-p, --port Runs Shooss on the specified port [default: "1234"]
--verbose Speak to me
-l, --livereload Enables LiveReload
--livereload_port Runs LiveReload on the specified port [default: "35729"]
-f, --file Config file path
-v, --version Return actual Shooss version
-h, --help Displays Shooss helpDefault usage:
$ > shooss
info: serving /Users/arnaud/projects/shooss on http://0.0.0.0:1234Specific port and livereload (on default port):
$ > shooss -p 6543 -l
info: serving /Users/arnaud/projects/shooss on http://0.0.0.0:6543Now with verbose, specified, port and livereload port
$ > shooss -p 6543 --verbose -l --livereload_port 6523
info: serving /Users/romain/Projects/shooss on http://0.0.0.0:6543
debug: starting server on port 6543
debug: starting livereload server on port 6523ENV variables
Shooss can load settings from these self-explanatory values:
SHUSS_PORTSHUSS_LRSHUSS_LR_PORTSHUSS_DIRSHUSS_VERBOSE
JSON File
You can specify a config file to load:
$ > shooss -f config.jsonIt is expected to contain json, like in this:
$ > cat config.json
{
"port":8000,
"livereload": true,
"livereloadport": 9854,
"verbose": true,
"dir": "./public"
}plugins
While being very simple, Shooss can handle complexe plugins.
Using a plugin
To use a plugin, you will probably have to install them in the same scope as shooss. Chances are you must install them globaly:
npm i -G shooss-my-awesome-pluginThen, you just have to specify the comma separated list of plugins you want to use, along with their own arguments. Here is an example with shooss-basic-auth
shooss --plugins basic-auth --username admin --password foobarAvailable plugins
- shooss-basic-auth: basic HTTP auth plugin
Writing a plugin
A plugin is a npm package prefixed by shooss-. Plugins can act on:
You are allowed to add your own cli args.
All they have to define is a load(app, express, config) function. See the basic-auth example.
Development
All Shooss Node.js module are written in CoffeeScript.
In order to use correctly the shooss binary, you have to compile them in JavaScript.
It can be done through:
$ grunt coffee:compileOr more easily:
$ gruntTodo
Features
- test config solver, urgent, not how to do it yet, maybe
node-env-file - any idea?
Integration
So much to do!
- grunt-shooss
- gulp-shooss
- atom-shooss
- sublime-shooss
- younameit-shooss
Contributing
License
Released under the MIT License. See the LICENSE file for further details.
11 years ago