lightyrs / tabler-rubygem

Rubygem for https://tabler.github.io
MIT License
82 stars 27 forks source link
admin-dashboard admin-template bootstrap bootstrap-theme dashboard gem rails rails-engine ruby rubygems sass scss sprockets tabler

Gem Version

Tabler Ruby Gem

Tabler ruby gem for Ruby on Rails.

Installation

Please see the appropriate guide for your environment of choice:

a. Ruby on Rails


v0.1.4 BREAKING CHANGE:

Images are no longer included by default. Instead, you can include all the image sets or the specific image sets you want (either browser, flag, and/or payments). Read below for more info on how to do this.


Add bootstrap and tabler-rubygem to your Gemfile:

gem 'bootstrap', '~> 4.1.1'
gem 'tabler-rubygem'

Ensure that sprockets-rails is at least v2.3.2.

bundle install and restart your server to make the files available through the pipeline.

Import Tabler styles and optionally Tabler Plugin styles and icons in app/assets/stylesheets/application.scss:

// Custom tabler variables must be set or imported *before* bootstrap and tabler.
@import "tabler/variables";
@import "bootstrap";
@import "tabler";
@import "tabler.plugins"; // optional
@import "tabler.icons"; // optional includes [browser, flag, payments]

The available variables can be found here.
Tabler plugins includes the css files for the javascripts found [here][tabler-plugins].

You can also choose to include plugin css on a per-plugin basis, for example:

// Custom tabler variables must be set or imported *before* tabler.
@import "tabler/variables";
@import "bootstrap";
@import "tabler";
@import "tabler/plugins/charts-c3/plugin.scss";

or include icons css per type, for example:

// Custom tabler variables must be set or imported *before* tabler.
@import "tabler/variables";
@import "bootstrap";
@import "tabler";
@import "tabler/icons/flag";

Make sure the file has .scss extension (or .sass for Sass syntax). If you have just generated a new Rails app, it may come with a .css file instead. If this file exists, it will be served instead of Sass, so rename it:

$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss

Then, remove all the *= require and *= require_tree statements from the Sass file. Instead, use @import to import Sass files.

Do not use *= require in Sass or your other stylesheets will not be able to access the Tabler mixins and variables.

Add Tabler and optionally Tabler Plugins to your application.js:

//= require tabler
//= require tabler.plugins

Tabler already includes jQuery and Bootstrap javascript.
Tabler plugins includes the javascripts found [here][tabler-plugins].

If you already include jQuery in your project, you can include tabler's js on a per-file basis to avoid conflicts:

// = require tabler/tabler
// = require tabler/vendors/bootstrap.bundle.min
// = require tabler/vendors/circle-progress.min
// = require tabler/vendors/jquery.sparkline.min
// = require tabler/core

You can also choose to include plugin js on a per-plugin basis, for example:

//= require tabler
//= require tabler/plugins/charts-c3/js/d3.v3.min
//= require tabler/plugins/charts-c3/js/c3.min

b. Other Ruby frameworks

If your framework uses Sprockets or Hanami, the assets will be registered with Sprockets when the gem is required, and you can use them as per the Rails section of the guide.

Otherwise you may need to register the assets manually. Refer to your framework's documentation on the subject.

Configuration

Sass: Autoprefixer

Tabler requires the use of Autoprefixer. Autoprefixer adds vendor prefixes to CSS rules using values from Can I Use.

If you are using tabler with Rails, autoprefixer is set up for you automatically. Otherwise, please consult the Autoprefixer documentation.

Sass: Individual components

By default all of Tabler is imported.

You can also import components explicitly. To start with a full list of modules copy _tabler.scss file into your assets as _tabler-custom.scss. Then comment out components you do not want from _tabler-custom. In the application Sass file, replace @import 'tabler' with:

@import 'tabler-custom';

[tabler-plugins]: https://github.com/tabler/tabler/tree/master/dist/assets/plugins