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.