README.md in rail-0.0.2 vs README.md in rail-0.0.3
- old
+ new
@@ -11,11 +11,11 @@
## Installation
First of all, include the gem in your `Gemfile`. Here is an example:
```ruby
source 'https://rubygems.org'
-gem 'rail', '~> 0.0.2'
+gem 'rail', '~> 0.0.3'
# The rest is optional
gem 'redcarpet', '~> 3.1.2' # your favorit complement to Haml
gem 'thin', '~> 1.6.2' # your favorit Web server
```
@@ -23,42 +23,93 @@
Then run [Bundler](http://bundler.io/):
```bash
$ bundle
```
-Now we need to create two files: `config.ru` and `config/application.rb`.
+Now we need to create three files: `config/application.rb`, `config.ru`, and
+`Rakefile`. In `config/application.rb`:
+```ruby
+require 'bundler'
+Bundler.require(:default)
+
+module MyProject
+ class Application < Rail::Application
+ end
+end
+```
+
In `config.ru`:
```ruby
require_relative 'config/application'
run MyProject::Application.new
```
-In `config/application.rb`:
+In `Rakefile`:
```ruby
-require 'bundler'
-Bundler.require(:default)
+require_relative 'config/application'
-module MyProject
- class Application < Rail::Application
- end
-end
+MyProject::Application.load_tasks
```
Feel free to replace `MyProject` with the name of your project. That’s it.
## Usage
-Rail closely follows Rails. If you know Rails, you already know how to use
-Rail. Organize your code according to the following convention:
-* scripts in `app/assets/javascripts`,
-* styles in `app/assets/stylesheets`,
-* views in `app/views`, and
-* helpers in `app/helpers`.
+Rail closely follows Rails. If you know Rails, you already know Rail.
+### Structure
+Organize your code according to the following convention:
+* `app/assets/javascripts` for scripts,
+* `app/assets/stylesheets` for styles,
+* `app/views` for templates,
+* `app/helpers` for helper modules, and
+* `public` for other static content.
+
In addition, `app/views/layouts/application.html.haml` will be used for
rendering the root of your application (both `/` and `/index.html`).
-Usage examples can be found [here](https://github.com/IvanUkhov/type-works),
+### Configuration
+As with Rails, Rail is configured inside `config/application.rb`:
+```ruby
+module MyProject
+ class Application < Rail::Application
+ # Import assets from other gems:
+ config.gems << 'turbolinks'
+
+ # Precompile assets using `rake assets`:
+ config.precompile << 'application.css'
+ config.precompile << 'application.js'
+ config.precompile << 'index.html'
+
+ # Compress assets:
+ config.compress = true
+ end
+end
+```
+
+If `config.compress` is not specified, it is implicitly set to
+`ENV['RAIL_ENV'] == 'production'`.
+
+### Commands
+Run [Rake](https://github.com/jimweirich/rake) to see the available tasks:
+```bash
+$ rake -T
+rake assets # Precompile assets
+rake server # Start server
+```
+
+`rake server` starts up a Web server; if none is specified in `Gemfile`,
+[WEBrick](http://ruby-doc.org/stdlib-2.1.2/libdoc/webrick/rdoc/WEBrick.html)
+will be fired up.
+
+`rake assets` compiles your assets and stores them in `public`. You should
+explicitly tell Rail what to compile as it was shown in the previous section.
+Note that the server will try to serve from `public` first, so make sure you
+delete the precompiled files when you change your code in `app`.
+
+### Examples
+Additional usage examples can be found
+[here](https://github.com/IvanUkhov/type-works),
[here](https://github.com/IvanUkhov/photography), and
[here](https://github.com/IvanUkhov/liu-profile).
## Contributing
1. [Fork](https://help.github.com/articles/fork-a-repo) the project.