Skip to content

owaiswiz/tabler_icons_ruby

Repository files navigation

TablerIconsRuby

Gem Version Gem Total Downloads

  • Use any icon from over 4950+ tabler icons.
  • Works with/without Rails.
  • Easily customize things like size, colors, stroke width, classes & other HTML attributes.
  • Renders only icons you actually use as inline SVGs.
  • Unnecessary cruft removed - things like the xmlns attributes, width/height attributes (if not providing an explicit size) and the hidden bounding box that tabler icons adds are removed

Installation

Install the gem and add to the application's Gemfile by executing:

$ bundle add tabler_icons_ruby

If bundler is not being used to manage dependencies, install the gem by executing:

$ gem install tabler_icons_ruby

If you're not using Rails, remember to require 'tabler_icons_ruby'

Usage

If you're using this with Rails, you can simply use this helper in your views:

<%= tabler_icon('player-play') %>

<%= tabler_icon('player-play', size: '18px', color: '#ff00ff') %>

<%= tabler_icon(:player_play, size: 20, color: :red, class: 'any-html-class other-class') %>

<%= tabler_icon('2fa', stroke_width: 2, 'data-controller' => 'something') %>

If you're not using Rails, or you'd like to use the tabler_icon helper from other places, you can simply include the helper in your class:

class SomeClass
  include TablerIconsRuby::Helper

  def call
    "icon: #{tabler_icon('player-play')}"
  end
end

If you don't like using the helper, you can render icons directly:

TablerIconsRuby.render(
  icon_name,
  size: size_of_icon,
  color: color_of_icon,
  class: html_class_to_add_to_icon,
  stroke_width: stroke_width_of_icon,
  **any_other_attributes_that_will_be_added_to_the_icon_svg_element
)

Interested in a powerful Rails UI library?

I am working on a super-powerful Rails UI library - components as well as templates & patterns.

Please check this out if you're interested.


Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/owaiswiz/tabler_icons_ruby.

License

The gem is available as open source under the terms of the MIT License.

Future

Might consider also incorporating icon fonts in this library. For that to be true though, I'd have to figure out a way to load things lazily as otherwise it'd load a lot of things. Similar to how modern font awesome kits work. They partition their huge icon set into multiple files. And load thigns on demand.