Savagery
Ruthlessly sprite SVGs in your Rails app. Includes Ember helpers, too!
Installation
Add this line to your application's Gemfile:
gem "savagery"
Usage
Given the following directory structure:
app/assets/svgs/
└── dogs
├── chihuahua.svg
├── golden.svg
└── lab.svg
Rails: Use the svg_sprite_use
helper in your view:
# app/views/dogs/show.html.erb
<%= svg_sprite_use "dogs/chihuahua" %>
Ember: Require savagery/ember
anywhere, then use the 'svg-sprite-use` helper in your template:
// app/assets/javascripts/templates/application.hbs
//= require savagery/ember
{{svg-sprite-use "dogs/chihuahua"}}
And Savagery will do all the hard work of spriting and embedding. A new .svg
sprite file will appear in the app/assets/svgs
directory, named after the directory
containing the sprites:
app/assets/svgs/
├── dogs
│ ├── chihuahua.svg
│ ├── golden.svg
│ └── lab.svg
└── dogs.svg
Make sure you check this file into version control.
Contributing
- Fork it ( https://github.com/[my-github-username]/savagery/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request