# Semantic UI for Sass
`semantic-ui-sass` is an Sass-powered version of [Semantic UI](https://github.com/Semantic-Org/Semantic-UI) and ready to drop into Rails & Compass.
## Installation and Usage
```ruby
gem 'semantic-ui-sass', '~> 0.19.3.0'
```
or
```ruby
gem 'semantic-ui-sass', github: 'doabit/semantic-ui-sass'
```
`bundle install` and restart your server to make the files available through the pipeline.
# semantic-ui-sass with Rails
## CSS
Import Semantic in an SCSS file (for example, `application.css.scss`) to get all of Semantic's styles
```css
@import "semantic-ui";
```
You can also include modules
```css
@import "semantic-ui/collections/menu";
```
## Javascripts
We have a helper that includes all Semantic javascripts. Put this in your Javascript manifest (usually in `application.js`) to
```js
// Loads all Semantic javascripts
//= require semantic-ui
```
You can also load individual modules, provided you also require any dependencies.
```js
//= require semantic-ui/modal
//= require semantic-ui/dropdown
```
# semantic-ui-sass with Compass
## New project
Install the gem and create a new project using the gem.
```console
gem install semantic-ui-sass
compass create compass-project -r semantic-ui-sass --using semantic-ui
```
This will sort a few things out:
* You'll get a starting `styles.scss`
* You'll get a compiled stylesheet compiled & ready to drop into your application
* We'll also copy the Semantic javascripts & images & fonts into their respective folders for you
## Existing project
Install the gem, add the require statement to the top of your configuration file, and install the extension.
```console
gem install semantic-ui-sass
```
```ruby
# In config.rb
require 'semantic-ui-sass'
```
```console
compass install semantic-ui
```
### NOTE
When using compass, you should visit file in local server, eg `http://localhost:3000/index.html`, rather than `file:///Users/doabit/demo/index.html`
# Rails Helpers
## Breadcrumbs helper
Add breadcrumbs helper `<%= render_breadcrumbs %>` to your layout.
```ruby
class ApplicationController
add_breadcrumb :index, :root_path
end
```
```ruby
class ExamplesController < ApplicationController
add_breadcrumb :index, :examples_path
def index
end
def show
@example = Example.find params[:id]
add_breadcrumb @example.name, example_path(@example)
# add_breadcrumb :show, example_path(@example)
end
end
```
## Flash helper
Add flash helper `<%= semantic_flash %>` to your layout
## Icon helper
```ruby
semantic_icon('add')
# =>
semantic_icon(:add)
# =>
semantic_icon('add sign')
# =>
semantic_icon('add', 'sign')
# =>
semantic_icon(:add, :sign)
# =>
```
## TODO
* Add global variables
* Add rails helpers like `render_flash`?
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request