tabler-rubygem 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitattributes +14 -0
- data/.gitignore +19 -0
- data/.travis.yml +17 -0
- data/CHANGELOG.md +29 -0
- data/Gemfile +11 -0
- data/LICENSE +21 -0
- data/README.md +110 -0
- data/Rakefile +78 -0
- data/assets/fonts/feather/feather-webfont.eot +0 -0
- data/assets/fonts/feather/feather-webfont.svg +1038 -0
- data/assets/fonts/feather/feather-webfont.ttf +0 -0
- data/assets/fonts/feather/feather-webfont.woff +0 -0
- data/assets/images/browsers/android-browser.svg +1 -0
- data/assets/images/browsers/aol-explorer.svg +1 -0
- data/assets/images/browsers/blackberry.svg +1 -0
- data/assets/images/browsers/camino.svg +1 -0
- data/assets/images/browsers/chrome.svg +1 -0
- data/assets/images/browsers/chromium.svg +1 -0
- data/assets/images/browsers/dolphin.svg +1 -0
- data/assets/images/browsers/edge.svg +1 -0
- data/assets/images/browsers/firefox.svg +1 -0
- data/assets/images/browsers/ie.svg +1 -0
- data/assets/images/browsers/maxthon.svg +1 -0
- data/assets/images/browsers/mozilla.svg +1 -0
- data/assets/images/browsers/netscape.svg +1 -0
- data/assets/images/browsers/opera.svg +1 -0
- data/assets/images/browsers/safari.svg +1 -0
- data/assets/images/browsers/sleipnir.svg +1 -0
- data/assets/images/browsers/uc-browser.svg +1 -0
- data/assets/images/browsers/vivaldi.svg +1 -0
- data/assets/images/crypto-currencies/bitcoin.svg +1 -0
- data/assets/images/crypto-currencies/cardano.svg +1 -0
- data/assets/images/crypto-currencies/dash.svg +1 -0
- data/assets/images/crypto-currencies/eos.svg +1 -0
- data/assets/images/crypto-currencies/ethereum.svg +1 -0
- data/assets/images/crypto-currencies/litecoin.svg +1 -0
- data/assets/images/crypto-currencies/nem.svg +1 -0
- data/assets/images/crypto-currencies/ripple.svg +1 -0
- data/assets/images/flags/ad.svg +1 -0
- data/assets/images/flags/ae.svg +1 -0
- data/assets/images/flags/af.svg +1 -0
- data/assets/images/flags/ag.svg +1 -0
- data/assets/images/flags/ai.svg +1 -0
- data/assets/images/flags/al.svg +1 -0
- data/assets/images/flags/am.svg +1 -0
- data/assets/images/flags/ao.svg +1 -0
- data/assets/images/flags/aq.svg +1 -0
- data/assets/images/flags/ar.svg +1 -0
- data/assets/images/flags/as.svg +1 -0
- data/assets/images/flags/at.svg +1 -0
- data/assets/images/flags/au.svg +1 -0
- data/assets/images/flags/aw.svg +1 -0
- data/assets/images/flags/ax.svg +1 -0
- data/assets/images/flags/az.svg +1 -0
- data/assets/images/flags/ba.svg +1 -0
- data/assets/images/flags/bb.svg +1 -0
- data/assets/images/flags/bd.svg +1 -0
- data/assets/images/flags/be.svg +1 -0
- data/assets/images/flags/bf.svg +1 -0
- data/assets/images/flags/bg.svg +1 -0
- data/assets/images/flags/bh.svg +1 -0
- data/assets/images/flags/bi.svg +1 -0
- data/assets/images/flags/bj.svg +1 -0
- data/assets/images/flags/bl.svg +1 -0
- data/assets/images/flags/bm.svg +1 -0
- data/assets/images/flags/bn.svg +1 -0
- data/assets/images/flags/bo.svg +1 -0
- data/assets/images/flags/bq.svg +1 -0
- data/assets/images/flags/br.svg +1 -0
- data/assets/images/flags/bs.svg +1 -0
- data/assets/images/flags/bt.svg +1 -0
- data/assets/images/flags/bv.svg +1 -0
- data/assets/images/flags/bw.svg +1 -0
- data/assets/images/flags/by.svg +1 -0
- data/assets/images/flags/bz.svg +1 -0
- data/assets/images/flags/ca.svg +6 -0
- data/assets/images/flags/cc.svg +1 -0
- data/assets/images/flags/cd.svg +1 -0
- data/assets/images/flags/cf.svg +1 -0
- data/assets/images/flags/cg.svg +1 -0
- data/assets/images/flags/ch.svg +1 -0
- data/assets/images/flags/ci.svg +1 -0
- data/assets/images/flags/ck.svg +1 -0
- data/assets/images/flags/cl.svg +1 -0
- data/assets/images/flags/cm.svg +1 -0
- data/assets/images/flags/cn.svg +1 -0
- data/assets/images/flags/co.svg +1 -0
- data/assets/images/flags/cr.svg +1 -0
- data/assets/images/flags/cu.svg +1 -0
- data/assets/images/flags/cv.svg +1 -0
- data/assets/images/flags/cw.svg +1 -0
- data/assets/images/flags/cx.svg +1 -0
- data/assets/images/flags/cy.svg +1 -0
- data/assets/images/flags/cz.svg +1 -0
- data/assets/images/flags/de.svg +1 -0
- data/assets/images/flags/dj.svg +1 -0
- data/assets/images/flags/dk.svg +1 -0
- data/assets/images/flags/dm.svg +1 -0
- data/assets/images/flags/do.svg +1 -0
- data/assets/images/flags/dz.svg +1 -0
- data/assets/images/flags/ec.svg +1 -0
- data/assets/images/flags/ee.svg +1 -0
- data/assets/images/flags/eg.svg +1 -0
- data/assets/images/flags/eh.svg +1 -0
- data/assets/images/flags/er.svg +1 -0
- data/assets/images/flags/es.svg +1 -0
- data/assets/images/flags/et.svg +1 -0
- data/assets/images/flags/eu.svg +1 -0
- data/assets/images/flags/fi.svg +1 -0
- data/assets/images/flags/fj.svg +1 -0
- data/assets/images/flags/fk.svg +1 -0
- data/assets/images/flags/fm.svg +1 -0
- data/assets/images/flags/fo.svg +1 -0
- data/assets/images/flags/fr.svg +1 -0
- data/assets/images/flags/ga.svg +1 -0
- data/assets/images/flags/gb-eng.svg +1 -0
- data/assets/images/flags/gb-nir.svg +1 -0
- data/assets/images/flags/gb-sct.svg +1 -0
- data/assets/images/flags/gb-wls.svg +1 -0
- data/assets/images/flags/gb.svg +1 -0
- data/assets/images/flags/gd.svg +1 -0
- data/assets/images/flags/ge.svg +1 -0
- data/assets/images/flags/gf.svg +1 -0
- data/assets/images/flags/gg.svg +1 -0
- data/assets/images/flags/gh.svg +1 -0
- data/assets/images/flags/gi.svg +1 -0
- data/assets/images/flags/gl.svg +1 -0
- data/assets/images/flags/gm.svg +1 -0
- data/assets/images/flags/gn.svg +1 -0
- data/assets/images/flags/gp.svg +1 -0
- data/assets/images/flags/gq.svg +1 -0
- data/assets/images/flags/gr.svg +1 -0
- data/assets/images/flags/gs.svg +1 -0
- data/assets/images/flags/gt.svg +1 -0
- data/assets/images/flags/gu.svg +1 -0
- data/assets/images/flags/gw.svg +1 -0
- data/assets/images/flags/gy.svg +1 -0
- data/assets/images/flags/hk.svg +1 -0
- data/assets/images/flags/hm.svg +1 -0
- data/assets/images/flags/hn.svg +1 -0
- data/assets/images/flags/hr.svg +1 -0
- data/assets/images/flags/ht.svg +1 -0
- data/assets/images/flags/hu.svg +1 -0
- data/assets/images/flags/id.svg +1 -0
- data/assets/images/flags/ie.svg +1 -0
- data/assets/images/flags/il.svg +1 -0
- data/assets/images/flags/im.svg +1 -0
- data/assets/images/flags/in.svg +1 -0
- data/assets/images/flags/io.svg +1 -0
- data/assets/images/flags/iq.svg +1 -0
- data/assets/images/flags/ir.svg +1 -0
- data/assets/images/flags/is.svg +1 -0
- data/assets/images/flags/it.svg +1 -0
- data/assets/images/flags/je.svg +1 -0
- data/assets/images/flags/jm.svg +1 -0
- data/assets/images/flags/jo.svg +1 -0
- data/assets/images/flags/jp.svg +1 -0
- data/assets/images/flags/ke.svg +1 -0
- data/assets/images/flags/kg.svg +1 -0
- data/assets/images/flags/kh.svg +1 -0
- data/assets/images/flags/ki.svg +1 -0
- data/assets/images/flags/km.svg +1 -0
- data/assets/images/flags/kn.svg +1 -0
- data/assets/images/flags/kp.svg +1 -0
- data/assets/images/flags/kr.svg +1 -0
- data/assets/images/flags/kw.svg +1 -0
- data/assets/images/flags/ky.svg +1 -0
- data/assets/images/flags/kz.svg +1 -0
- data/assets/images/flags/la.svg +1 -0
- data/assets/images/flags/lb.svg +1 -0
- data/assets/images/flags/lc.svg +1 -0
- data/assets/images/flags/li.svg +1 -0
- data/assets/images/flags/lk.svg +1 -0
- data/assets/images/flags/lr.svg +1 -0
- data/assets/images/flags/ls.svg +1 -0
- data/assets/images/flags/lt.svg +1 -0
- data/assets/images/flags/lu.svg +1 -0
- data/assets/images/flags/lv.svg +1 -0
- data/assets/images/flags/ly.svg +1 -0
- data/assets/images/flags/ma.svg +1 -0
- data/assets/images/flags/mc.svg +1 -0
- data/assets/images/flags/md.svg +1 -0
- data/assets/images/flags/me.svg +1 -0
- data/assets/images/flags/mf.svg +1 -0
- data/assets/images/flags/mg.svg +1 -0
- data/assets/images/flags/mh.svg +1 -0
- data/assets/images/flags/mk.svg +1 -0
- data/assets/images/flags/ml.svg +1 -0
- data/assets/images/flags/mm.svg +1 -0
- data/assets/images/flags/mn.svg +1 -0
- data/assets/images/flags/mo.svg +1 -0
- data/assets/images/flags/mp.svg +1 -0
- data/assets/images/flags/mq.svg +1 -0
- data/assets/images/flags/mr.svg +1 -0
- data/assets/images/flags/ms.svg +1 -0
- data/assets/images/flags/mt.svg +1 -0
- data/assets/images/flags/mu.svg +1 -0
- data/assets/images/flags/mv.svg +1 -0
- data/assets/images/flags/mw.svg +1 -0
- data/assets/images/flags/mx.svg +1 -0
- data/assets/images/flags/my.svg +1 -0
- data/assets/images/flags/mz.svg +1 -0
- data/assets/images/flags/na.svg +1 -0
- data/assets/images/flags/nc.svg +1 -0
- data/assets/images/flags/ne.svg +1 -0
- data/assets/images/flags/nf.svg +1 -0
- data/assets/images/flags/ng.svg +1 -0
- data/assets/images/flags/ni.svg +1 -0
- data/assets/images/flags/nl.svg +1 -0
- data/assets/images/flags/no.svg +1 -0
- data/assets/images/flags/np.svg +1 -0
- data/assets/images/flags/nr.svg +1 -0
- data/assets/images/flags/nu.svg +1 -0
- data/assets/images/flags/nz.svg +1 -0
- data/assets/images/flags/om.svg +1 -0
- data/assets/images/flags/pa.svg +1 -0
- data/assets/images/flags/pe.svg +1 -0
- data/assets/images/flags/pf.svg +1 -0
- data/assets/images/flags/pg.svg +1 -0
- data/assets/images/flags/ph.svg +1 -0
- data/assets/images/flags/pk.svg +1 -0
- data/assets/images/flags/pl.svg +1 -0
- data/assets/images/flags/pm.svg +1 -0
- data/assets/images/flags/pn.svg +1 -0
- data/assets/images/flags/pr.svg +1 -0
- data/assets/images/flags/ps.svg +1 -0
- data/assets/images/flags/pt.svg +1 -0
- data/assets/images/flags/pw.svg +1 -0
- data/assets/images/flags/py.svg +1 -0
- data/assets/images/flags/qa.svg +1 -0
- data/assets/images/flags/re.svg +1 -0
- data/assets/images/flags/ro.svg +1 -0
- data/assets/images/flags/rs.svg +1 -0
- data/assets/images/flags/ru.svg +1 -0
- data/assets/images/flags/rw.svg +1 -0
- data/assets/images/flags/sa.svg +1 -0
- data/assets/images/flags/sb.svg +1 -0
- data/assets/images/flags/sc.svg +1 -0
- data/assets/images/flags/sd.svg +1 -0
- data/assets/images/flags/se.svg +1 -0
- data/assets/images/flags/sg.svg +1 -0
- data/assets/images/flags/sh.svg +1 -0
- data/assets/images/flags/si.svg +1 -0
- data/assets/images/flags/sj.svg +1 -0
- data/assets/images/flags/sk.svg +1 -0
- data/assets/images/flags/sl.svg +1 -0
- data/assets/images/flags/sm.svg +1 -0
- data/assets/images/flags/sn.svg +1 -0
- data/assets/images/flags/so.svg +1 -0
- data/assets/images/flags/sr.svg +1 -0
- data/assets/images/flags/ss.svg +1 -0
- data/assets/images/flags/st.svg +1 -0
- data/assets/images/flags/sv.svg +1 -0
- data/assets/images/flags/sx.svg +1 -0
- data/assets/images/flags/sy.svg +1 -0
- data/assets/images/flags/sz.svg +1 -0
- data/assets/images/flags/tc.svg +1 -0
- data/assets/images/flags/td.svg +1 -0
- data/assets/images/flags/tf.svg +1 -0
- data/assets/images/flags/tg.svg +1 -0
- data/assets/images/flags/th.svg +1 -0
- data/assets/images/flags/tj.svg +1 -0
- data/assets/images/flags/tk.svg +1 -0
- data/assets/images/flags/tl.svg +1 -0
- data/assets/images/flags/tm.svg +1 -0
- data/assets/images/flags/tn.svg +1 -0
- data/assets/images/flags/to.svg +1 -0
- data/assets/images/flags/tr.svg +1 -0
- data/assets/images/flags/tt.svg +1 -0
- data/assets/images/flags/tv.svg +1 -0
- data/assets/images/flags/tw.svg +1 -0
- data/assets/images/flags/tz.svg +1 -0
- data/assets/images/flags/ua.svg +1 -0
- data/assets/images/flags/ug.svg +1 -0
- data/assets/images/flags/um.svg +1 -0
- data/assets/images/flags/un.svg +1 -0
- data/assets/images/flags/us.svg +18 -0
- data/assets/images/flags/uy.svg +1 -0
- data/assets/images/flags/uz.svg +1 -0
- data/assets/images/flags/va.svg +1 -0
- data/assets/images/flags/vc.svg +1 -0
- data/assets/images/flags/ve.svg +1 -0
- data/assets/images/flags/vg.svg +1 -0
- data/assets/images/flags/vi.svg +1 -0
- data/assets/images/flags/vn.svg +1 -0
- data/assets/images/flags/vu.svg +1 -0
- data/assets/images/flags/wf.svg +1 -0
- data/assets/images/flags/ws.svg +1 -0
- data/assets/images/flags/ye.svg +1 -0
- data/assets/images/flags/yt.svg +1 -0
- data/assets/images/flags/za.svg +1 -0
- data/assets/images/flags/zm.svg +1 -0
- data/assets/images/flags/zw.svg +1 -0
- data/assets/images/payments/2checkout-dark.svg +1 -0
- data/assets/images/payments/2checkout.svg +1 -0
- data/assets/images/payments/alipay-dark.svg +1 -0
- data/assets/images/payments/alipay.svg +1 -0
- data/assets/images/payments/amazon-dark.svg +1 -0
- data/assets/images/payments/amazon.svg +1 -0
- data/assets/images/payments/americanexpress-dark.svg +1 -0
- data/assets/images/payments/americanexpress.svg +1 -0
- data/assets/images/payments/applepay-dark.svg +1 -0
- data/assets/images/payments/applepay.svg +1 -0
- data/assets/images/payments/bancontact-dark.svg +1 -0
- data/assets/images/payments/bancontact.svg +1 -0
- data/assets/images/payments/bitcoin-dark.svg +1 -0
- data/assets/images/payments/bitcoin.svg +1 -0
- data/assets/images/payments/bitpay-dark.svg +1 -0
- data/assets/images/payments/bitpay.svg +1 -0
- data/assets/images/payments/cirrus-dark.svg +1 -0
- data/assets/images/payments/cirrus.svg +1 -0
- data/assets/images/payments/clickandbuy-dark.svg +1 -0
- data/assets/images/payments/clickandbuy.svg +1 -0
- data/assets/images/payments/coinkite-dark.svg +1 -0
- data/assets/images/payments/coinkite.svg +1 -0
- data/assets/images/payments/dinersclub-dark.svg +1 -0
- data/assets/images/payments/dinersclub.svg +1 -0
- data/assets/images/payments/directdebit-dark.svg +1 -0
- data/assets/images/payments/directdebit.svg +1 -0
- data/assets/images/payments/discover-dark.svg +1 -0
- data/assets/images/payments/discover.svg +1 -0
- data/assets/images/payments/dwolla-dark.svg +1 -0
- data/assets/images/payments/dwolla.svg +1 -0
- data/assets/images/payments/ebay-dark.svg +1 -0
- data/assets/images/payments/ebay.svg +1 -0
- data/assets/images/payments/eway-dark.svg +1 -0
- data/assets/images/payments/eway.svg +1 -0
- data/assets/images/payments/giropay-dark.svg +1 -0
- data/assets/images/payments/giropay.svg +1 -0
- data/assets/images/payments/googlewallet-dark.svg +1 -0
- data/assets/images/payments/googlewallet.svg +1 -0
- data/assets/images/payments/ingenico-dark.svg +1 -0
- data/assets/images/payments/ingenico.svg +1 -0
- data/assets/images/payments/jcb-dark.svg +1 -0
- data/assets/images/payments/jcb.svg +1 -0
- data/assets/images/payments/klarna-dark.svg +1 -0
- data/assets/images/payments/klarna.svg +1 -0
- data/assets/images/payments/laser-dark.svg +1 -0
- data/assets/images/payments/laser.svg +1 -0
- data/assets/images/payments/maestro-dark.svg +1 -0
- data/assets/images/payments/maestro.svg +1 -0
- data/assets/images/payments/mastercard-dark.svg +1 -0
- data/assets/images/payments/mastercard.svg +1 -0
- data/assets/images/payments/monero-dark.svg +1 -0
- data/assets/images/payments/monero.svg +1 -0
- data/assets/images/payments/neteller-dark.svg +1 -0
- data/assets/images/payments/neteller.svg +1 -0
- data/assets/images/payments/ogone-dark.svg +1 -0
- data/assets/images/payments/ogone.svg +1 -0
- data/assets/images/payments/okpay-dark.svg +1 -0
- data/assets/images/payments/okpay.svg +1 -0
- data/assets/images/payments/paybox-dark.svg +1 -0
- data/assets/images/payments/paybox.svg +1 -0
- data/assets/images/payments/paymill-dark.svg +1 -0
- data/assets/images/payments/paymill.svg +1 -0
- data/assets/images/payments/payone-dark.svg +1 -0
- data/assets/images/payments/payone.svg +1 -0
- data/assets/images/payments/payoneer-dark.svg +1 -0
- data/assets/images/payments/payoneer.svg +1 -0
- data/assets/images/payments/paypal-dark.svg +1 -0
- data/assets/images/payments/paypal.svg +1 -0
- data/assets/images/payments/paysafecard-dark.svg +1 -0
- data/assets/images/payments/paysafecard.svg +1 -0
- data/assets/images/payments/payu-dark.svg +1 -0
- data/assets/images/payments/payu.svg +1 -0
- data/assets/images/payments/payza-dark.svg +1 -0
- data/assets/images/payments/payza.svg +1 -0
- data/assets/images/payments/ripple-dark.svg +1 -0
- data/assets/images/payments/ripple.svg +1 -0
- data/assets/images/payments/sage-dark.svg +1 -0
- data/assets/images/payments/sage.svg +1 -0
- data/assets/images/payments/sepa-dark.svg +1 -0
- data/assets/images/payments/sepa.svg +1 -0
- data/assets/images/payments/shopify-dark.svg +1 -0
- data/assets/images/payments/shopify.svg +1 -0
- data/assets/images/payments/skrill-dark.svg +1 -0
- data/assets/images/payments/skrill.svg +1 -0
- data/assets/images/payments/solo-dark.svg +1 -0
- data/assets/images/payments/solo.svg +1 -0
- data/assets/images/payments/square-dark.svg +1 -0
- data/assets/images/payments/square.svg +1 -0
- data/assets/images/payments/stripe-dark.svg +1 -0
- data/assets/images/payments/stripe.svg +1 -0
- data/assets/images/payments/switch-dark.svg +1 -0
- data/assets/images/payments/switch.svg +1 -0
- data/assets/images/payments/ukash-dark.svg +1 -0
- data/assets/images/payments/ukash.svg +1 -0
- data/assets/images/payments/unionpay-dark.svg +1 -0
- data/assets/images/payments/unionpay.svg +1 -0
- data/assets/images/payments/verifone-dark.svg +1 -0
- data/assets/images/payments/verifone.svg +1 -0
- data/assets/images/payments/verisign-dark.svg +1 -0
- data/assets/images/payments/verisign.svg +1 -0
- data/assets/images/payments/visa-dark.svg +1 -0
- data/assets/images/payments/visa.svg +1 -0
- data/assets/images/payments/webmoney-dark.svg +1 -0
- data/assets/images/payments/webmoney.svg +1 -0
- data/assets/images/payments/westernunion-dark.svg +1 -0
- data/assets/images/payments/westernunion.svg +1 -0
- data/assets/images/payments/worldpay-dark.svg +1 -0
- data/assets/images/payments/worldpay.svg +1 -0
- data/assets/javascripts/tabler.js +6 -0
- data/assets/javascripts/tabler.plugins.js +3 -0
- data/assets/javascripts/tabler/core.js +108 -0
- data/assets/javascripts/tabler/plugins/charts-c3/js/c3.min.js +1 -0
- data/assets/javascripts/tabler/plugins/charts-c3/js/d3.v3.min.js +5 -0
- data/assets/javascripts/tabler/plugins/charts-c3/plugin.js +10 -0
- data/assets/javascripts/tabler/plugins/fullcalendar/js/fullcalendar.min.js +7 -0
- data/assets/javascripts/tabler/plugins/fullcalendar/js/moment.min.js +1 -0
- data/assets/javascripts/tabler/plugins/fullcalendar/plugin.js +9 -0
- data/assets/javascripts/tabler/plugins/input-mask/js/jquery.mask.min.js +19 -0
- data/assets/javascripts/tabler/plugins/input-mask/plugin.js +8 -0
- data/assets/javascripts/tabler/plugins/maps-google/plugin.js +0 -0
- data/assets/javascripts/tabler/plugins/prismjs/js/prism.pack.js +30 -0
- data/assets/javascripts/tabler/plugins/prismjs/plugin.js +18 -0
- data/assets/javascripts/tabler/tabler.js +102 -0
- data/assets/javascripts/tabler/vendors/bootstrap.bundle.min.js +6 -0
- data/assets/javascripts/tabler/vendors/chart.bundle.min.js +10 -0
- data/assets/javascripts/tabler/vendors/circle-progress.min.js +10 -0
- data/assets/javascripts/tabler/vendors/jquery-3.2.1.min.js +4 -0
- data/assets/javascripts/tabler/vendors/jquery-3.2.1.slim.min.js +4 -0
- data/assets/javascripts/tabler/vendors/jquery-jvectormap-2.0.3.min.js +2 -0
- data/assets/javascripts/tabler/vendors/jquery-jvectormap-de-merc.js +1 -0
- data/assets/javascripts/tabler/vendors/jquery-jvectormap-world-mill.js +1 -0
- data/assets/javascripts/tabler/vendors/jquery.sparkline.min.js +2 -0
- data/assets/javascripts/tabler/vendors/jquery.tablesorter.min.js +4 -0
- data/assets/javascripts/tabler/vendors/selectize.min.js +3829 -0
- data/assets/stylesheets/_bootstrap-grid.scss +32 -0
- data/assets/stylesheets/_bootstrap-reboot.scss +12 -0
- data/assets/stylesheets/_bootstrap.scss +42 -0
- data/assets/stylesheets/_tabler.plugins.scss +5 -0
- data/assets/stylesheets/_tabler.scss +65 -0
- data/assets/stylesheets/bootstrap/_alert.scss +51 -0
- data/assets/stylesheets/bootstrap/_badge.scss +47 -0
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +38 -0
- data/assets/stylesheets/bootstrap/_button-group.scss +166 -0
- data/assets/stylesheets/bootstrap/_buttons.scss +143 -0
- data/assets/stylesheets/bootstrap/_card.scss +299 -0
- data/assets/stylesheets/bootstrap/_carousel.scss +235 -0
- data/assets/stylesheets/bootstrap/_close.scss +34 -0
- data/assets/stylesheets/bootstrap/_code.scss +56 -0
- data/assets/stylesheets/bootstrap/_custom-forms.scss +420 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +138 -0
- data/assets/stylesheets/bootstrap/_forms.scss +335 -0
- data/assets/stylesheets/bootstrap/_functions.scss +86 -0
- data/assets/stylesheets/bootstrap/_grid.scss +52 -0
- data/assets/stylesheets/bootstrap/_images.scss +42 -0
- data/assets/stylesheets/bootstrap/_input-group.scss +159 -0
- data/assets/stylesheets/bootstrap/_jumbotron.scss +16 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +115 -0
- data/assets/stylesheets/bootstrap/_media.scss +8 -0
- data/assets/stylesheets/bootstrap/_mixins.scss +42 -0
- data/assets/stylesheets/bootstrap/_modal.scss +168 -0
- data/assets/stylesheets/bootstrap/_nav.scss +118 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +311 -0
- data/assets/stylesheets/bootstrap/_pagination.scss +78 -0
- data/assets/stylesheets/bootstrap/_popover.scss +183 -0
- data/assets/stylesheets/bootstrap/_print.scss +124 -0
- data/assets/stylesheets/bootstrap/_progress.scss +34 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +482 -0
- data/assets/stylesheets/bootstrap/_root.scss +19 -0
- data/assets/stylesheets/bootstrap/_tables.scss +188 -0
- data/assets/stylesheets/bootstrap/_tooltip.scss +115 -0
- data/assets/stylesheets/bootstrap/_transitions.scss +36 -0
- data/assets/stylesheets/bootstrap/_type.scss +125 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +14 -0
- data/assets/stylesheets/bootstrap/_variables.scss +919 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +13 -0
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +12 -0
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +35 -0
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +5 -0
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +123 -0
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +109 -0
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +65 -0
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_float.scss +11 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +137 -0
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +45 -0
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +67 -0
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +52 -0
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +37 -0
- data/assets/stylesheets/bootstrap/mixins/_image.scss +36 -0
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
- data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +10 -0
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +22 -0
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +17 -0
- data/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +33 -0
- data/assets/stylesheets/bootstrap/mixins/_size.scss +6 -0
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +30 -0
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +14 -0
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +7 -0
- data/assets/stylesheets/bootstrap/utilities/_align.scss +8 -0
- data/assets/stylesheets/bootstrap/utilities/_background.scss +19 -0
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +59 -0
- data/assets/stylesheets/bootstrap/utilities/_clearfix.scss +3 -0
- data/assets/stylesheets/bootstrap/utilities/_display.scss +38 -0
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +52 -0
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +47 -0
- data/assets/stylesheets/bootstrap/utilities/_float.scss +9 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +37 -0
- data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +11 -0
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +12 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +51 -0
- data/assets/stylesheets/bootstrap/utilities/_text.scss +52 -0
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +11 -0
- data/assets/stylesheets/tabler/_alert.scss +25 -0
- data/assets/stylesheets/tabler/_aside.scss +36 -0
- data/assets/stylesheets/tabler/_avatar.scss +101 -0
- data/assets/stylesheets/tabler/_badge.scss +8 -0
- data/assets/stylesheets/tabler/_breadcrumb.scss +18 -0
- data/assets/stylesheets/tabler/_browser.scss +19 -0
- data/assets/stylesheets/tabler/_button.scss +118 -0
- data/assets/stylesheets/tabler/_cards.scss +415 -0
- data/assets/stylesheets/tabler/_charts.scss +51 -0
- data/assets/stylesheets/tabler/_chat.scss +88 -0
- data/assets/stylesheets/tabler/_chips.scss +45 -0
- data/assets/stylesheets/tabler/_close.scss +10 -0
- data/assets/stylesheets/tabler/_colors.scss +8 -0
- data/assets/stylesheets/tabler/_core.scss +37 -0
- data/assets/stylesheets/tabler/_dropdown.scss +68 -0
- data/assets/stylesheets/tabler/_example.scss +47 -0
- data/assets/stylesheets/tabler/_flag.scss +17 -0
- data/assets/stylesheets/tabler/_footer.scss +15 -0
- data/assets/stylesheets/tabler/_form.scss +158 -0
- data/assets/stylesheets/tabler/_functions.scss +3 -0
- data/assets/stylesheets/tabler/_grid.scss +50 -0
- data/assets/stylesheets/tabler/_header.scss +128 -0
- data/assets/stylesheets/tabler/_icon.scss +29 -0
- data/assets/stylesheets/tabler/_image.scss +12 -0
- data/assets/stylesheets/tabler/_infobox.scss +0 -0
- data/assets/stylesheets/tabler/_jvectormap.scss +140 -0
- data/assets/stylesheets/tabler/_layout.scss +95 -0
- data/assets/stylesheets/tabler/_link.scss +25 -0
- data/assets/stylesheets/tabler/_list-group.scss +21 -0
- data/assets/stylesheets/tabler/_list.scss +34 -0
- data/assets/stylesheets/tabler/_maps.scss +52 -0
- data/assets/stylesheets/tabler/_media.scss +13 -0
- data/assets/stylesheets/tabler/_nav.scss +107 -0
- data/assets/stylesheets/tabler/_pagination.scss +29 -0
- data/assets/stylesheets/tabler/_payments.scss +19 -0
- data/assets/stylesheets/tabler/_popover.scss +12 -0
- data/assets/stylesheets/tabler/_product.scss +7 -0
- data/assets/stylesheets/tabler/_progress.scss +140 -0
- data/assets/stylesheets/tabler/_selectize.scss +372 -0
- data/assets/stylesheets/tabler/_social.scss +14 -0
- data/assets/stylesheets/tabler/_sparkline.scss +20 -0
- data/assets/stylesheets/tabler/_stamp.scss +18 -0
- data/assets/stylesheets/tabler/_statuses.scss +25 -0
- data/assets/stylesheets/tabler/_syntax.scss +78 -0
- data/assets/stylesheets/tabler/_tables.scss +135 -0
- data/assets/stylesheets/tabler/_tag.scss +97 -0
- data/assets/stylesheets/tabler/_text.scss +22 -0
- data/assets/stylesheets/tabler/_timeline.scss +71 -0
- data/assets/stylesheets/tabler/_type.scss +120 -0
- data/assets/stylesheets/tabler/_utilities.scss +31 -0
- data/assets/stylesheets/tabler/_variables.scss +311 -0
- data/assets/stylesheets/tabler/fonts/_feather.scss +1074 -0
- data/assets/stylesheets/tabler/forms/_custom-colorinput.scss +51 -0
- data/assets/stylesheets/tabler/forms/_custom-imagecheck.scss +85 -0
- data/assets/stylesheets/tabler/forms/_custom-range.scss +140 -0
- data/assets/stylesheets/tabler/forms/_custom-selectgroup.scss +80 -0
- data/assets/stylesheets/tabler/forms/_custom-switch.scss +74 -0
- data/assets/stylesheets/tabler/plugins/charts-c3/plugin.css +227 -0
- data/assets/stylesheets/tabler/plugins/fullcalendar/plugin.css +1125 -0
- data/assets/stylesheets/tabler/plugins/iconfonts/plugin.css +12835 -0
- data/assets/stylesheets/tabler/plugins/maps-google/plugin.css +0 -0
- data/assets/stylesheets/tabler/plugins/prismjs/plugin.css +198 -0
- data/lib/tabler/rubygem.rb +74 -0
- data/lib/tabler/rubygem/engine.rb +15 -0
- data/lib/tabler/rubygem/version.rb +6 -0
- data/tabler.gemspec +39 -0
- data/tasks/updater.rb +75 -0
- data/tasks/updater/fonts.rb +15 -0
- data/tasks/updater/images.rb +15 -0
- data/tasks/updater/js.rb +54 -0
- data/tasks/updater/logger.rb +57 -0
- data/tasks/updater/network.rb +103 -0
- data/tasks/updater/scss.rb +90 -0
- data/test/dummy_rails/README.rdoc +3 -0
- data/test/dummy_rails/Rakefile +6 -0
- data/test/dummy_rails/app/assets/images/.keep +0 -0
- data/test/dummy_rails/app/assets/javascripts/application.js +7 -0
- data/test/dummy_rails/app/assets/stylesheets/application.sass +4 -0
- data/test/dummy_rails/app/controllers/application_controller.rb +5 -0
- data/test/dummy_rails/app/controllers/pages_controller.rb +4 -0
- data/test/dummy_rails/app/helpers/application_helper.rb +2 -0
- data/test/dummy_rails/app/views/layouts/application.html.erb +14 -0
- data/test/dummy_rails/app/views/pages/root.html.slim +58 -0
- data/test/dummy_rails/config.ru +4 -0
- data/test/dummy_rails/config/application.rb +35 -0
- data/test/dummy_rails/config/boot.rb +5 -0
- data/test/dummy_rails/config/environment.rb +5 -0
- data/test/dummy_rails/config/environments/development.rb +23 -0
- data/test/dummy_rails/config/environments/production.rb +82 -0
- data/test/dummy_rails/config/environments/test.rb +38 -0
- data/test/dummy_rails/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy_rails/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy_rails/config/initializers/inflections.rb +16 -0
- data/test/dummy_rails/config/initializers/mime_types.rb +5 -0
- data/test/dummy_rails/config/initializers/secret_token.rb +18 -0
- data/test/dummy_rails/config/initializers/session_store.rb +3 -0
- data/test/dummy_rails/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy_rails/config/locales/en.yml +3 -0
- data/test/dummy_rails/config/locales/es.yml +3 -0
- data/test/dummy_rails/config/routes.rb +3 -0
- data/test/dummy_rails/log/.keep +0 -0
- data/test/gemfiles/rails_4_2.gemfile +7 -0
- data/test/gemfiles/rails_5_0.gemfile +8 -0
- data/test/gemfiles/rails_5_1.gemfile +8 -0
- data/test/rails_test.rb +24 -0
- data/test/support/dummy_rails_integration.rb +29 -0
- data/test/support/reporting.rb +27 -0
- data/test/test_helper.rb +35 -0
- data/test/test_helper_rails.rb +6 -0
- metadata +917 -0
data/tasks/updater/js.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'tsort'
|
2
|
+
require 'open-uri'
|
3
|
+
|
4
|
+
class Updater
|
5
|
+
module Js
|
6
|
+
def update_javascript_assets
|
7
|
+
log_status 'Updating javascripts...'
|
8
|
+
save_to = @save_to[:js]
|
9
|
+
tabler_js_files = get_paths_by_type('dist/assets/js', /\.js$/)
|
10
|
+
read_files('dist/assets/js', tabler_js_files).each do |name, content|
|
11
|
+
save_file("#{save_to}/#{name}", remove_source_mapping_url(content))
|
12
|
+
end
|
13
|
+
log_processed "#{tabler_js_files * ' '}"
|
14
|
+
|
15
|
+
tabler_plugin_files = get_paths_by_type('dist/assets/plugins', /\.js$/)
|
16
|
+
read_files('dist/assets/plugins', tabler_plugin_files).each do |name, content|
|
17
|
+
save_file("#{save_to}/plugins/#{name}", remove_source_mapping_url(content))
|
18
|
+
end
|
19
|
+
log_processed "#{tabler_plugin_files * ' '}"
|
20
|
+
|
21
|
+
overwrite_define "#{save_to}/core.js"
|
22
|
+
|
23
|
+
log_status 'Updating js main files'
|
24
|
+
File.write "#{save_to}/../tabler.js", <<~eos
|
25
|
+
// = require tabler/tabler
|
26
|
+
// = require tabler/vendors/jquery-3.2.1.min
|
27
|
+
// = require tabler/vendors/bootstrap.bundle.min
|
28
|
+
// = require tabler/vendors/circle-progress.min
|
29
|
+
// = require tabler/vendors/jquery.sparkline.min
|
30
|
+
// = require tabler/core
|
31
|
+
eos
|
32
|
+
|
33
|
+
File.write "#{save_to}/../tabler.plugins.js", <<~eos
|
34
|
+
// = require tabler/plugins/charts-c3/js/d3.v3.min
|
35
|
+
// = require tabler/plugins/charts-c3/js/c3.min
|
36
|
+
// = require tabler/plugins/input-mask/js/jquery.mask.min
|
37
|
+
eos
|
38
|
+
|
39
|
+
File.write "#{save_to}/tabler.js", File.read("#{save_to}/dashboard.js").gsub("dashboard", "tabler").gsub(/require(?:(?!window).)*(?:}|])\);/m, "").gsub(/^\n/, "")
|
40
|
+
FileUtils.rm "#{save_to}/dashboard.js"
|
41
|
+
FileUtils.rm "#{save_to}/require.min.js"
|
42
|
+
end
|
43
|
+
|
44
|
+
def remove_source_mapping_url(content)
|
45
|
+
content.sub(%r{^//# sourceMappingURL=.*\n?\z}, '')
|
46
|
+
end
|
47
|
+
|
48
|
+
def overwrite_define(file)
|
49
|
+
content = ['let require = function(modules, fn) { fn(); };']
|
50
|
+
content.push File.readlines(file)
|
51
|
+
File.open(file, "w") { |f| content.flatten.each { |line| f.puts line } }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
class Updater
|
2
|
+
class Logger
|
3
|
+
include Term::ANSIColor
|
4
|
+
|
5
|
+
def log_status(status)
|
6
|
+
puts bold status
|
7
|
+
end
|
8
|
+
|
9
|
+
def log_file_info(s)
|
10
|
+
puts " #{magenta s}"
|
11
|
+
end
|
12
|
+
|
13
|
+
def log_transform(*args, from: caller[1][/`.*'/][1..-2].sub(/^block in /, ''))
|
14
|
+
puts " #{cyan from}#{cyan ": #{args * ', '}" unless args.empty?}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def log_processing(name)
|
18
|
+
puts yellow " #{File.basename(name)}"
|
19
|
+
end
|
20
|
+
|
21
|
+
def log_processed(name)
|
22
|
+
puts green " #{name}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def log_http_get_file(url, cached = false)
|
26
|
+
s = " #{'CACHED ' if cached}GET #{url}..."
|
27
|
+
if cached
|
28
|
+
puts dark green s
|
29
|
+
else
|
30
|
+
puts dark cyan s
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def log_http_get_files(files, from, cached = false)
|
35
|
+
return if files.empty?
|
36
|
+
s = " #{'CACHED ' if cached}GET #{files.length} files from #{from} #{files * ' '}..."
|
37
|
+
if cached
|
38
|
+
puts dark green s
|
39
|
+
else
|
40
|
+
puts dark cyan s
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def puts(*args)
|
45
|
+
STDERR.puts *args unless @silence
|
46
|
+
end
|
47
|
+
|
48
|
+
alias log puts
|
49
|
+
|
50
|
+
def silence_log
|
51
|
+
@silence = true
|
52
|
+
yield
|
53
|
+
ensure
|
54
|
+
@silence = false
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'shellwords'
|
2
|
+
class Updater
|
3
|
+
module Network
|
4
|
+
protected
|
5
|
+
|
6
|
+
WRITE_FILES_MUTEX = Mutex.new
|
7
|
+
|
8
|
+
def get_paths_by_type(dir, file_re, recursive = true)
|
9
|
+
get_file_paths(dir, recursive).select { |path| path =~ file_re }
|
10
|
+
end
|
11
|
+
|
12
|
+
def get_file_paths(dir, recursive = true)
|
13
|
+
get_tree(get_tree_sha(dir), recursive)['tree'].select { |f| f['type'] == 'blob' }.map { |f| f['path'] }
|
14
|
+
end
|
15
|
+
|
16
|
+
def file_url(path)
|
17
|
+
"https://raw.githubusercontent.com/#@repo/#@branch_sha/#{path}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def read_files(path, files)
|
21
|
+
path_url = file_url path
|
22
|
+
contents = read_cached_files(path, files)
|
23
|
+
log_http_get_files contents.keys, path_url, true if contents.keys
|
24
|
+
files -= contents.keys
|
25
|
+
log_http_get_files files, path_url, false
|
26
|
+
files.map do |name|
|
27
|
+
Thread.start {
|
28
|
+
contents[name] = open("#{path_url}/#{name}").read
|
29
|
+
WRITE_FILES_MUTEX.synchronize { write_cached_files path, name => contents[name] }
|
30
|
+
}
|
31
|
+
end.each(&:join)
|
32
|
+
contents
|
33
|
+
end
|
34
|
+
|
35
|
+
def read_cached_files(path, files)
|
36
|
+
full_path = "#@cache_path/#@branch_sha/#{path}"
|
37
|
+
contents = {}
|
38
|
+
if File.directory?(full_path)
|
39
|
+
files.each do |name|
|
40
|
+
path = "#{full_path}/#{name}"
|
41
|
+
contents[name] = File.read(path, mode: 'rb') if File.exists?(path)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
contents
|
45
|
+
end
|
46
|
+
|
47
|
+
def write_cached_files(path, files)
|
48
|
+
full_path = "./#@cache_path/#@branch_sha/#{path}"
|
49
|
+
files.each do |name, content|
|
50
|
+
FileUtils.mkdir_p File.dirname(File.join(full_path, name))
|
51
|
+
File.open("#{full_path}/#{name}", 'wb') { |f| f.write content }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
def get_file(url)
|
57
|
+
uri = URI(url)
|
58
|
+
cache_path = "./#@cache_path#{uri.path}#{uri.query.tr('?&=', '-') if uri.query}"
|
59
|
+
FileUtils.mkdir_p File.dirname(cache_path)
|
60
|
+
if File.exists?(cache_path)
|
61
|
+
log_http_get_file url, true
|
62
|
+
File.read(cache_path, mode: 'rb')
|
63
|
+
else
|
64
|
+
log_http_get_file url, false
|
65
|
+
content = open(url).read
|
66
|
+
File.open(cache_path, 'wb') { |f| f.write content }
|
67
|
+
content
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# get sha of the branch (= the latest commit)
|
72
|
+
def get_branch_sha
|
73
|
+
@branch_sha ||= begin
|
74
|
+
if @branch =~ /\A[0-9a-f]{40,}\z/
|
75
|
+
@branch
|
76
|
+
else
|
77
|
+
cmd = "git ls-remote #{Shellwords.escape "https://github.com/#@repo"} #@branch"
|
78
|
+
log cmd
|
79
|
+
result = %x[#{cmd}]
|
80
|
+
raise 'Could not get branch sha!' unless $?.success? && !result.empty?
|
81
|
+
result.split(/\s+/).first
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# Get the sha of a dir
|
87
|
+
def get_tree_sha(dir, tree = get_trees)
|
88
|
+
tree['tree'].find { |t| t['path'] == dir }['sha']
|
89
|
+
end
|
90
|
+
|
91
|
+
def get_trees
|
92
|
+
@trees ||= get_tree(@branch_sha)
|
93
|
+
end
|
94
|
+
|
95
|
+
def get_tree(sha, recursive = true)
|
96
|
+
get_json("https://api.github.com/repos/#@repo/git/trees/#{sha}#{'?recursive=1' if recursive}")
|
97
|
+
end
|
98
|
+
|
99
|
+
def get_json(url)
|
100
|
+
JSON.parse get_file(url)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
class Updater
|
2
|
+
module Scss
|
3
|
+
def update_scss_assets
|
4
|
+
log_status 'Updating scss...'
|
5
|
+
save_to = @save_to[:scss]
|
6
|
+
contents = {}
|
7
|
+
tabler_scss_files = get_paths_by_type('src/assets/scss', /\.scss$/)
|
8
|
+
read_files('src/assets/scss', tabler_scss_files).each do |name, file|
|
9
|
+
contents[name] = file
|
10
|
+
save_file("#{save_to}/#{name}", file)
|
11
|
+
end
|
12
|
+
log_processed "#{tabler_scss_files * ' '}"
|
13
|
+
|
14
|
+
tabler_plugin_files = get_paths_by_type('dist/assets/plugins', /\.css$/)
|
15
|
+
read_files('dist/assets/plugins', tabler_plugin_files).each do |name, content|
|
16
|
+
save_file("#{save_to}/dashboard/plugins/#{name}", remove_source_mapping_url(content))
|
17
|
+
end
|
18
|
+
log_processed "#{tabler_plugin_files * ' '}"
|
19
|
+
|
20
|
+
log_status 'Updating scss main files'
|
21
|
+
FileUtils.rm "#{save_to}/bundle.scss"
|
22
|
+
FileUtils.mv "#{save_to}/dashboard", "#{save_to}/tabler"
|
23
|
+
|
24
|
+
path_pairs = [
|
25
|
+
[
|
26
|
+
"#{save_to}/_variables.scss",
|
27
|
+
"#{save_to}/tabler/_variables.scss"
|
28
|
+
],
|
29
|
+
[
|
30
|
+
"#{save_to}/tabler/bootstrap",
|
31
|
+
"#{save_to}/bootstrap",
|
32
|
+
],
|
33
|
+
[
|
34
|
+
"#{save_to}/bootstrap/bootstrap-grid.scss",
|
35
|
+
"#{save_to}/_bootstrap-grid.scss"
|
36
|
+
],
|
37
|
+
[
|
38
|
+
"#{save_to}/bootstrap/bootstrap-reboot.scss",
|
39
|
+
"#{save_to}/_bootstrap-reboot.scss"
|
40
|
+
],
|
41
|
+
[
|
42
|
+
"#{save_to}/bootstrap/bootstrap.scss",
|
43
|
+
"#{save_to}/_bootstrap.scss"
|
44
|
+
],
|
45
|
+
[
|
46
|
+
"#{save_to}/tabler/dashboard.scss",
|
47
|
+
"#{save_to}/_tabler.scss"
|
48
|
+
]
|
49
|
+
]
|
50
|
+
|
51
|
+
path_pairs.each do |pair|
|
52
|
+
FileUtils.mv pair[0], pair[1]
|
53
|
+
end
|
54
|
+
|
55
|
+
%w(bootstrap bootstrap-grid bootstrap-reboot).each do |name|
|
56
|
+
file = "#{save_to}/_#{name}.scss"
|
57
|
+
File.write file, File.read(file).gsub(/ "/, ' "bootstrap/')
|
58
|
+
end
|
59
|
+
|
60
|
+
font_file = "#{save_to}/tabler/fonts/_feather.scss"
|
61
|
+
File.write font_file, File.read(font_file).gsub("url('../fonts/", "font-url('")
|
62
|
+
|
63
|
+
%w(_browser _flag _payments).each do |name|
|
64
|
+
file = "#{save_to}/tabler/#{name}.scss"
|
65
|
+
File.write file, File.read(file).gsub("url('../images/", "image-url('")
|
66
|
+
end
|
67
|
+
|
68
|
+
adjust_manifest "#{save_to}/_tabler.scss"
|
69
|
+
|
70
|
+
plugins_file = File.new("#{save_to}/_tabler.plugins.scss", "w")
|
71
|
+
write_plugins_file(plugins_file, tabler_plugin_files)
|
72
|
+
end
|
73
|
+
|
74
|
+
def adjust_manifest(file)
|
75
|
+
content = ['@import "tabler/variables";', '@import "bootstrap";']
|
76
|
+
content.push File.readlines(file).reject { |line|
|
77
|
+
line =~ /^\/\/.*$/
|
78
|
+
}.map { |line|
|
79
|
+
line.gsub(/ '/, " 'tabler/").gsub("'", '"')
|
80
|
+
}
|
81
|
+
File.open(file, "w") { |f| content.flatten.each { |line| f.puts line } }
|
82
|
+
end
|
83
|
+
|
84
|
+
def write_plugins_file(plugins_file, tabler_plugin_files)
|
85
|
+
tabler_plugin_files.each do |line|
|
86
|
+
plugins_file.puts "@import \"tabler/plugins/#{line}\";"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>bootstrap Dummy App</title>
|
5
|
+
<%= stylesheet_link_tag 'application', media: "all", 'data-turbolinks-track' => true %>
|
6
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
7
|
+
<%= csrf_meta_tags %>
|
8
|
+
</head>
|
9
|
+
|
10
|
+
<body>
|
11
|
+
<%= yield %>
|
12
|
+
</body>
|
13
|
+
|
14
|
+
</html>
|
@@ -0,0 +1,58 @@
|
|
1
|
+
.navbar.navbar-dark.bg-inverse: .container-fluid
|
2
|
+
button.navbar-toggler.hidden-sm-up type="button" data-toggle="collapse" data-target="#c1" ☰
|
3
|
+
.collapse.navbar-toggleable-xs#c1
|
4
|
+
a.navbar-brand href="#" Bootstrap Test Rails App
|
5
|
+
ul.nav.navbar-nav
|
6
|
+
li.nav-item.active: a.nav-link href="#"
|
7
|
+
' Home
|
8
|
+
span.sr-only (current)
|
9
|
+
li.nav-item: a.nav-link href="#" Link
|
10
|
+
li.nav-item.dropdown
|
11
|
+
a.nav-link.dropdown-toggle href="#" data-toggle="dropdown" role="button" aria-expanded="false"
|
12
|
+
' Dropdown
|
13
|
+
span.caret
|
14
|
+
.dropdown-menu role="menu"
|
15
|
+
a.dropdown-item href="#" Action
|
16
|
+
a.dropdown-item href="#" Another action
|
17
|
+
a.dropdown-item href="#" Something else here
|
18
|
+
a.dropdown-divider
|
19
|
+
a.dropdown-item href="#" Separated ank
|
20
|
+
a.dropdown-divider
|
21
|
+
a.dropdown-item href="#" One more separated link
|
22
|
+
|
23
|
+
.container
|
24
|
+
.card
|
25
|
+
.card-header: h3 Dummy App
|
26
|
+
.card-block: .row
|
27
|
+
.col-sm-3
|
28
|
+
h2 3 columns
|
29
|
+
.list-group
|
30
|
+
a.list-group-item href='#one' One
|
31
|
+
a.list-group-item href='#two' Two
|
32
|
+
a.list-group-item href='#three' Three
|
33
|
+
.col-sm-3
|
34
|
+
h2 3 columns
|
35
|
+
.btn-group
|
36
|
+
button.btn.btn-primary type='button' Button
|
37
|
+
button.btn.btn-primary type='button' Button
|
38
|
+
table.table
|
39
|
+
caption Table
|
40
|
+
tr
|
41
|
+
td.table-danger Danger!
|
42
|
+
td.table-success Success!
|
43
|
+
.col-sm-6
|
44
|
+
h2 6 columns
|
45
|
+
.row
|
46
|
+
.col-xs-4.col-xs-push-4: .card: .card-block
|
47
|
+
.card-text data-toggle="tooltip" title="hi"
|
48
|
+
h6 This is col-xs-4 col-xs-push-4.<br><small>Hover for tooltip.</small>
|
49
|
+
|
50
|
+
.card: .card-block: form.form-inline
|
51
|
+
.form-group
|
52
|
+
label.sr-only for="exampleInputEmail2" Email address
|
53
|
+
input.form-control#exampleInputEmail2 type="email" placeholder="Enter email"
|
54
|
+
.checkbox
|
55
|
+
label
|
56
|
+
input type="checkbox"
|
57
|
+
| Remember me
|
58
|
+
button.btn.btn-default type="submit" Sign in
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
require 'rails'
|
4
|
+
|
5
|
+
%w(
|
6
|
+
action_controller
|
7
|
+
action_view
|
8
|
+
sprockets
|
9
|
+
).each do |framework|
|
10
|
+
require "#{framework}/railtie"
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'autoprefixer-rails'
|
14
|
+
require 'slim-rails'
|
15
|
+
require 'uglifier'
|
16
|
+
|
17
|
+
require 'bootstrap'
|
18
|
+
require 'jquery-rails'
|
19
|
+
|
20
|
+
module Dummy
|
21
|
+
class Application < Rails::Application
|
22
|
+
config.assets.enabled = true if config.assets.respond_to?(:enabled)
|
23
|
+
if Rails::VERSION::MAJOR > 4
|
24
|
+
# Rails 4 precompiles application.css|js by default, but future version of Rails do not.
|
25
|
+
config.assets.precompile += %w( application.css application.js )
|
26
|
+
end
|
27
|
+
config.to_prepare do
|
28
|
+
if ENV['VERBOSE']
|
29
|
+
STDERR.puts "Loaded Rails #{Rails::VERSION::STRING}, Sprockets #{Sprockets::VERSION}",
|
30
|
+
"Asset paths: #{Rails.application.config.assets.paths}"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|