# Jobim
[![Gem Version](https://badge.fury.io/rb/jobim.png)](http://badge.fury.io/rb/jobim)
[![Build Status](https://secure.travis-ci.org/zellio/jobim.png?branch=master)](http://travis-ci.org/zellio/jobim)
[![Dependency Status](https://gemnasium.com/zellio/jobim.png)](https://gemnasium.com/zellio/jobim)
[![Code Climate](https://codeclimate.com/github/zellio/jobim.png)](https://codeclimate.com/github/zellio/jobim)
`jobim` is a light utility for generating a static HTTP server. This allows
for rapid website design and development without the hassle and security risk
of a full web-server installation. `jobim` leverages
[Thin](//github.com/macournoyer/thin/) and exposes a limited subset of the
`thin` executable command flags for your convenience in addition to a set of
flags for its own configuration.
## Installation
`jobim` is registered on [rubygems](//rubygems.org/gems/jobim) and is
available anywhere good gems are sold.
``` shell
gem install jobim
```
## Usage
```
Usage: jobim [OPTION]... [DIRECTORY]
Specific options:
-a, --address HOST bind to HOST address (default: 0.0.0.0)
-c, --[no-]config [PATH] Disable config loading or specify path to load from
-d, --daemonize Run as a daemon process
-p, --port PORT use PORT (default: 3000)
-P, --prefix PATH Mount the app under PATH
-q, --quiet Silence all logging
General options:
-h, --help Display this help message.
--version Display the version number
Jobim home page:
Report bugs to:
```
`jobim` is run like `thin` but does not require a configuration script. By
default `jobim` will bind to `0.0.0.0:3000` and serve the current working
directory.
``` shell
jobim path/to/webroot
```
The site can be viewed at `http://localhost:3000` via a normal web browser.
### Configuration Files
`jobim` also allows for the use of a configuration file `.jobim.yml`. This can
be used to set sane defaults for the `jobim` program to use in every
execution. `jobim` will search up from the current working directory until it
reaches `/` in the pursuit of configuration files, with the configuration
options cascading from root to the current working directory. Options passed
as command flags to `jobim` always win.
```
# Example config file
---
:dir: /web_root
:prefix: /foo
:port: 300
```
All options must be specified as key value pairs in a depth one hash. The keys
must be ruby symbols (For historical reasons capitalization of these keys is
irrelevant but they should be all downcase). The valid options are
`:daemonize`, `:dir`, `:host`, `:port`, `:prefix`, `:quiet`, and `:conf_dir`.
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request
## Copyright
Copyright (c) 2013-2014 Zachary Elliott. See [LICENSE](/LICENSE) for further
details.