Grav now has the ability to extend the powerful configuration capabilities for different environments to support different configuration for development, staging, and production scenarios.
What this means is that you can provide as little or as much configuration changes per environment as needed. A good example of this is the Debug Bar. By default the new Debug Bar is disabled in the core
system/config/system.yaml file, and also in the user override
user/config/system.yaml file. If you wanted to turn it on, you can easily enable it in your
user/config/system.yaml file, however a better solution might be to have it enabled for your development environment when accessing via localhost, but disabled on your production server.
This can be easily accomplished by providing an override of that setting in the file:
localhost is the hostname of the environment:
debugger: enabled: true
Similarly you may want to enable CSS and Js Asset Pipelining (combining + minification) for your production site only (
assets: css_pipeline: true js_pipeline: true
If your production server was reachable via
http://www.mysite.com then you could also provide configuration specific for that production site with a file located at
Of course, you are not limited to changes to
system.yaml, you can actually provide overrides for any Grav setting in the
site.yaml or even in any plugin configuration!