README.md in rail-0.0.3 vs README.md in rail-0.0.4
- old
+ new
@@ -1,34 +1,40 @@
# Rail [![Gem Version](https://badge.fury.io/rb/rail.svg)](http://badge.fury.io/rb/rail) [![Dependency Status](https://gemnasium.com/IvanUkhov/rail.svg)](https://gemnasium.com/IvanUkhov/rail) [![Build Status](https://travis-ci.org/IvanUkhov/rail.svg?branch=master)](https://travis-ci.org/IvanUkhov/rail)
+
A light framework for front-end development inspired by
[Rails](http://rubyonrails.org/). It is solely based on
[Sprockets](https://github.com/sstephenson/sprockets) and includes the
following components out of the box:
+
* [CoffeeScript](http://coffeescript.org/) for JavaScript,
* [Haml](http://haml.info/) for HTML,
* [Sass](http://sass-lang.com/) for CSS, and
* [Uglifier](https://github.com/lautis/uglifier) for compression.
## Installation
+
First of all, include the gem in your `Gemfile`. Here is an example:
+
```ruby
source 'https://rubygems.org'
-gem 'rail', '~> 0.0.3'
+gem 'rail', '~> 0.0.4'
# The rest is optional
gem 'redcarpet', '~> 3.1.2' # your favorit complement to Haml
gem 'thin', '~> 1.6.2' # your favorit Web server
```
Then run [Bundler](http://bundler.io/):
+
```bash
$ bundle
```
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
@@ -36,41 +42,48 @@
end
end
```
In `config.ru`:
+
```ruby
require_relative 'config/application'
run MyProject::Application.new
```
In `Rakefile`:
+
```ruby
require_relative 'config/application'
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 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`).
### 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'
@@ -88,11 +101,13 @@
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
```
@@ -105,15 +120,17 @@
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.
2. Create a branch for your feature (`git checkout -b awesome-feature`).
3. Implement your feature (`vim`).
4. Commit your changes (`git commit -am 'Implemented an awesome feature'`).
5. Push to the branch (`git push origin awesome-feature`).