middleman/middleman — pull request #1293 by tdreyno (2014-06-06 22:36:33+00:00)
Title: Environments

This PR creates the concept of an Application `mode` which can be either `:server` or `:build`. This frees `environment` to be able to represent a targeted set of functionality.

The default environment is `:development`. This can be overridden on the CLI with:

```
middleman build -e production
middleman server -e production
```

`config.rb` is loaded as usual and applies to all environments. As before, per-environment config can be set in `config.rb` using:

```
configure :production do
activate :minify_css
end
```

However, now Middleman optionally loads a corresponding config file at: `environments/production.rb`.

Also included in this PR is a slight tweak to auto-activating extensions to let them only activate in specific modes. For example, we don't replace exceptions with an HTML error page in build.