# font-awesome-rails [![Gem Version](http://img.shields.io/gem/v/font-awesome-rails.svg)](https://rubygems.org/gems/font-awesome-rails) [![Build Status](https://secure.travis-ci.org/bokmann/font-awesome-rails.svg)](http://travis-ci.org/bokmann/font-awesome-rails)
font-awesome-rails provides the
[Font-Awesome](http://fortawesome.github.com/Font-Awesome/) web fonts and
stylesheets as a Rails engine for use with the asset pipeline.
## Installation
Add this to your Gemfile:
```ruby
gem "font-awesome-rails"
```
and run `bundle install`.
## Usage
In your `application.css`, include the css file:
```css
/*
*= require font-awesome
*/
```
Then restart your webserver if it was previously running.
Congrats! You now have scalable vector icon support. Pick an icon and check out the
[FontAwesome Examples](http://fortawesome.github.io/Font-Awesome/examples/).
### Sass Support
If you prefer [SCSS](http://sass-lang.com/documentation/file.SASS_REFERENCE.html), add this to your
`application.css.scss` file:
```scss
@import "font-awesome";
```
If you use the
[Sass indented syntax](http://sass-lang.com/docs/yardoc/file.INDENTED_SYNTAX.html),
add this to your `application.css.sass` file:
```sass
@import font-awesome
```
### Helpers
There are also some helpers (`fa_icon` and `fa_stacked_icon`) that make your
views _icontastic!_.
```ruby
fa_icon "camera-retro"
# =>
fa_icon "camera-retro", text: "Take a photo"
# => Take a photo
fa_icon "chevron-right", text: "Get started", right: true
# => Get started
fa_icon "quote-left 4x", class: "text-muted pull-left"
# =>
content_tag(:li, fa_icon("check li", text: "Bulleted list item"))
# =>
Bulleted list item
```
```ruby
fa_stacked_icon "twitter", base: "square-o"
# =>
# =>
# =>
# =>
fa_stacked_icon "terminal inverse", base: "square", class: "pull-right", text: "Hi!"
# =>
# =>
# =>
# => Hi!
```
**Note:** In Rails 3.2, make sure font-awesome-rails is outside the bundler asset group
so that these helpers are automatically loaded in production environments.
## Changes
| Version | FontAwesome SHA1 | Notes / Other additions |
|---------+------------------+---------------------------------------------------------------------------|
| 0.1.0 | 378b2d7 | Simplest packaging as a gem as possible |
| 0.2.0 | 563a6f3 | Repackaged after their new release |
| 0.2.1 | 563a6f3 | Forgot I had patched the css to reflect the font assetified location. |
| 0.3.0 | (unknown) | (sorry, will make sure that doesn't happen again) |
| 0.4.0 | 05e5e5b | Pullup request to 2.0 release of font-awesome |
| 0.5.0 | contrib | (christhekeele) Attempt to prepare request to 3.0 release of font-awesome |
| 3.0.1.0 | 7d173f2 | 3.0.1 release (bug fixes and alignment improvements) |
| 3.0.2.0 | 13d5dd3 | 3.0.2 release (better IE7 rendering) |
| 3.1.0.0 | a4612d8 | 3.1.0 release (new icons) |
| 3.1.1.0 | 949a765 | 3.1.1 release (icon fixes) |
| 3.1.1.1 | 949a765 | asset_path -> font_path usage; Now requires Rails >= 3.2. |
| 3.1.1.2 | 949a765 | vendor/assets -> app/assets; Improved Rails 4 support |
| 3.1.1.3 | 949a765 | repackaged gem; cleaned out extraneous files |
| 3.2.0.0 | a9065a1 | 3.2.0 release (new icons) |
| 3.2.1.0 | b1a8ad4 | 3.2.1 release (stylesheet fixes) |
| 3.2.1.1 | b1a8ad4 | renamed Font::Awesome module to FontAwesome to avoid Font name conflicts |
| 3.2.1.2 | b1a8ad4 | fixed suffix on svg font url during asset precompilation |
| 3.2.1.3 | b1a8ad4 | added `fa_icon` and `fa_stacked_icon` view helpers |
| 4.0.0.0 | 4e92eeb | 4.0.0 release (new naming conventions, new icons, IE7 support dropped) |
| 4.0.1.0 | c84c8ab | 4.0.1 release (fixed hdd icon and fa-stack alignment) |
| 4.0.3.0 | 0373b63 | 4.0.3 release (minor icon renames and updates) |
| 4.0.3.1 | 0373b63 | asset pipeline improvements |
| 4.0.3.2 | 0373b63 | icon right alignment support in helpers |
**note on version 0.2.0**: FontAwesome now includes scss and sass files, but
when I used them instead of the plain ol css file included in the project, it
wanted some compass libraries. I'm a fan of compass, but including an entire
tool like that in order to generate a @font_face tag seems a little much... I
don't want this gem to require compass for such a trivial thing, so we are
staying on the vanilla css file for now.
**Running on Rails 3.1?** Make sure to use version 3.1.1.0 or earlier.
**Upgrading from 3.*?** FontAwesome now requires the use of the fa class
with every icon. Prepend the `fa` class to existing icons:
```css
/* FontAwesome 3 Syntax */
/* FontAwesome 4 Syntax */
```
**Note when deploying to sub-domains**
It is sometimes the case that deploying a Rails application to a production
environment requires the application to be hosted at a sub-domain on the server.
This may be the case, for example, if Apache HTTPD or Nginx is being used as a
front-end proxy server, with Rails handling only requests that come in to a sub-domain
such as `http://myserver.example.com/myrailsapp`. In this case, the
FontAwesome gem (and other asset-serving engines) needs to know the sub-domain,
otherwise you can experience a problem roughly described as ["my app works
fine in development, but fails when I deploy
it"](https://github.com/bokmann/font-awesome-rails/issues/74).
To fix this, set the *relative URL root* for the application. In the
environment file for the deployed version of the app, for example
`config/environments/production.rb`,
set the config option `action_controller.relative_url_root`:
MyApp::Application.configure do
...
# set the relative root, because we're deploying to /myrailsapp
config.action_controller.relative_url_root = "/myrailsapp"
...
end
The default value of this variable is taken from `ENV['RAILS_RELATIVE_URL_ROOT']`,
so configuring the environment to define `RAILS_RELATIVE_URL_ROOT` is an alternative strategy.
## License
* The [Font Awesome](http://fortawesome.github.com/Font-Awesome) font is
licensed under the [SIL Open Font License](http://scripts.sil.org/OFL).
* [Font Awesome](http://fortawesome.github.com/Font-Awesome) CSS files are
licensed under the
[MIT License](http://opensource.org/licenses/mit-license.html).
* The remainder of the font-awesome-rails project is licensed under the
[MIT License](http://opensource.org/licenses/mit-license.html).