compass 0.13.alpha.12 → 1.0.0.alpha.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +61 -89
- data/VERSION +1 -0
- data/features/command_line.feature +1 -1
- data/features/step_definitions/command_line_steps.rb +0 -2
- data/lib/compass.rb +21 -2
- data/lib/compass/commands.rb +2 -0
- data/lib/compass/commands/print_version.rb +1 -12
- data/lib/compass/compiler.rb +1 -0
- data/lib/compass/configuration/adapters.rb +3 -0
- data/lib/compass/configuration/comments.rb +4 -1
- data/lib/compass/configuration/helpers.rb +1 -58
- data/lib/compass/configuration/serialization.rb +3 -0
- data/lib/compass/errors.rb +1 -3
- data/lib/compass/frameworks.rb +26 -4
- data/lib/compass/sass_extensions.rb +0 -1
- data/lib/compass/sass_extensions/functions.rb +2 -26
- data/lib/compass/sass_extensions/functions/sprites.rb +23 -23
- data/lib/compass/sass_extensions/sprites/image.rb +24 -29
- data/lib/compass/sprite_importer/content.erb +1 -1
- data/lib/compass/util.rb +1 -1
- data/lib/compass/version.rb +18 -35
- data/test/fixtures/stylesheets/compass/css/fonts.css +2 -2
- data/test/fixtures/stylesheets/envtest/tmp/env.css +2 -2
- data/test/fixtures/stylesheets/valid/css/another_simple.css +4 -0
- data/test/fixtures/stylesheets/valid/css/simple.css +4 -0
- data/test/integrations/sprites_test.rb +86 -79
- data/test/test_helper.rb +7 -5
- data/test/units/caniuse_test.rb +4 -4
- data/test/units/command_line_test.rb +5 -4
- data/test/units/configuration_test.rb +35 -2
- data/test/units/sass_extensions_test.rb +2 -2
- data/test/units/sass_extenstions/gradients_test.rb +3 -3
- data/test/units/sprites/sprite_map_test.rb +5 -2
- metadata +21 -506
- data/README.markdown +0 -30
- data/VERSION.yml +0 -6
- data/data/caniuse.json +0 -1
- data/data/caniuse_extras/css-placeholder.json +0 -171
- data/examples/README.markdown +0 -4
- data/examples/blueprint_default/config.rb +0 -7
- data/examples/blueprint_default/images/grid.png +0 -0
- data/examples/blueprint_default/index.html.haml +0 -85
- data/examples/blueprint_default/parts/elements.html.haml +0 -282
- data/examples/blueprint_default/parts/forms.html.haml +0 -200
- data/examples/blueprint_default/parts/grid.html.haml +0 -274
- data/examples/blueprint_default/parts/test-small.jpg +0 -0
- data/examples/blueprint_default/parts/test.jpg +0 -0
- data/examples/blueprint_default/parts/valid.png +0 -0
- data/examples/blueprint_default/src/ie.scss +0 -3
- data/examples/blueprint_default/src/images/grid.png +0 -0
- data/examples/blueprint_default/src/print.scss +0 -3
- data/examples/blueprint_default/src/screen.scss +0 -9
- data/examples/blueprint_plugins/config.rb +0 -8
- data/examples/blueprint_plugins/images/buttons/cross.png +0 -0
- data/examples/blueprint_plugins/images/buttons/key.png +0 -0
- data/examples/blueprint_plugins/images/buttons/tick.png +0 -0
- data/examples/blueprint_plugins/images/grid.png +0 -0
- data/examples/blueprint_plugins/images/link_icons/doc.png +0 -0
- data/examples/blueprint_plugins/images/link_icons/email.png +0 -0
- data/examples/blueprint_plugins/images/link_icons/external.png +0 -0
- data/examples/blueprint_plugins/images/link_icons/feed.png +0 -0
- data/examples/blueprint_plugins/images/link_icons/im.png +0 -0
- data/examples/blueprint_plugins/images/link_icons/pdf.png +0 -0
- data/examples/blueprint_plugins/images/link_icons/visited.png +0 -0
- data/examples/blueprint_plugins/images/link_icons/xls.png +0 -0
- data/examples/blueprint_plugins/images/test-small.jpg +0 -0
- data/examples/blueprint_plugins/images/test.jpg +0 -0
- data/examples/blueprint_plugins/images/valid.png +0 -0
- data/examples/blueprint_plugins/index.html.haml +0 -96
- data/examples/blueprint_plugins/plugins/buttons.html.haml +0 -67
- data/examples/blueprint_plugins/plugins/fancy_type.html.haml +0 -100
- data/examples/blueprint_plugins/plugins/link_icons.html.haml +0 -61
- data/examples/blueprint_plugins/plugins/rtl.html.haml +0 -100
- data/examples/blueprint_plugins/src/buttons.scss +0 -47
- data/examples/blueprint_plugins/src/ie.scss +0 -3
- data/examples/blueprint_plugins/src/images/grid.png +0 -0
- data/examples/blueprint_plugins/src/link_icons.scss +0 -13
- data/examples/blueprint_plugins/src/print.scss +0 -3
- data/examples/blueprint_plugins/src/rtl_screen.scss +0 -15
- data/examples/blueprint_plugins/src/screen.scss +0 -12
- data/examples/blueprint_scoped/images/grid.png +0 -0
- data/examples/blueprint_scoped/src/ie.scss +0 -4
- data/examples/blueprint_scoped/src/print.scss +0 -4
- data/examples/blueprint_scoped/src/screen.scss +0 -5
- data/examples/blueprint_scoped_form/images/grid.png +0 -0
- data/examples/blueprint_scoped_form/src/ie.scss +0 -3
- data/examples/blueprint_scoped_form/src/print.scss +0 -3
- data/examples/blueprint_scoped_form/src/screen.scss +0 -15
- data/examples/blueprint_semantic/config.rb +0 -7
- data/examples/blueprint_semantic/images/grid.png +0 -0
- data/examples/blueprint_semantic/index.html.haml +0 -86
- data/examples/blueprint_semantic/parts/fancy_type.html.haml +0 -100
- data/examples/blueprint_semantic/parts/liquid.html.haml +0 -100
- data/examples/blueprint_semantic/parts/test-small.jpg +0 -0
- data/examples/blueprint_semantic/parts/test.jpg +0 -0
- data/examples/blueprint_semantic/parts/valid.png +0 -0
- data/examples/blueprint_semantic/src/ie.scss +0 -3
- data/examples/blueprint_semantic/src/images/grid.png +0 -0
- data/examples/blueprint_semantic/src/liquid.scss +0 -69
- data/examples/blueprint_semantic/src/print.scss +0 -3
- data/examples/blueprint_semantic/src/screen.scss +0 -69
- data/examples/compass/bootstrap.rb +0 -4
- data/examples/compass/clean.rb +0 -2
- data/examples/compass/compass.html.haml +0 -39
- data/examples/compass/config.rb +0 -8
- data/examples/compass/headers.txt +0 -7
- data/examples/compass/images/blue_arrow.gif +0 -0
- data/examples/compass/images/border2.png +0 -0
- data/examples/compass/images/emblem/favorite.png +0 -0
- data/examples/compass/images/emblem/important.png +0 -0
- data/examples/compass/images/emblem/photos.png +0 -0
- data/examples/compass/images/emblem/readonly.png +0 -0
- data/examples/compass/images/emblem/symbolic-link.png +0 -0
- data/examples/compass/images/emblem/system.png +0 -0
- data/examples/compass/images/emblem/unreadable.png +0 -0
- data/examples/compass/images/flag/ad.png +0 -0
- data/examples/compass/images/flag/ae.png +0 -0
- data/examples/compass/images/flag/af.png +0 -0
- data/examples/compass/images/flag/ag.png +0 -0
- data/examples/compass/images/flag/ai.png +0 -0
- data/examples/compass/images/flag/al.png +0 -0
- data/examples/compass/images/flag/am.png +0 -0
- data/examples/compass/images/flag/an.png +0 -0
- data/examples/compass/images/flag/ao.png +0 -0
- data/examples/compass/images/flag/ar.png +0 -0
- data/examples/compass/images/flag/as.png +0 -0
- data/examples/compass/images/flag/at.png +0 -0
- data/examples/compass/images/flag/au.png +0 -0
- data/examples/compass/images/flag/aw.png +0 -0
- data/examples/compass/images/flag/ax.png +0 -0
- data/examples/compass/images/flag/az.png +0 -0
- data/examples/compass/images/flag/ba.png +0 -0
- data/examples/compass/images/flag/bb.png +0 -0
- data/examples/compass/images/flag/bd.png +0 -0
- data/examples/compass/images/flag/be.png +0 -0
- data/examples/compass/images/flag/bf.png +0 -0
- data/examples/compass/images/flag/bg.png +0 -0
- data/examples/compass/images/flag/bh.png +0 -0
- data/examples/compass/images/flag/bi.png +0 -0
- data/examples/compass/images/flag/bj.png +0 -0
- data/examples/compass/images/flag/bm.png +0 -0
- data/examples/compass/images/flag/bn.png +0 -0
- data/examples/compass/images/flag/bo.png +0 -0
- data/examples/compass/images/flag/br.png +0 -0
- data/examples/compass/images/flag/bs.png +0 -0
- data/examples/compass/images/flag/bt.png +0 -0
- data/examples/compass/images/flag/bv.png +0 -0
- data/examples/compass/images/flag/bw.png +0 -0
- data/examples/compass/images/flag/by.png +0 -0
- data/examples/compass/images/flag/bz.png +0 -0
- data/examples/compass/images/flag/ca.png +0 -0
- data/examples/compass/images/flag/catalonia.png +0 -0
- data/examples/compass/images/flag/cc.png +0 -0
- data/examples/compass/images/flag/cd.png +0 -0
- data/examples/compass/images/flag/cf.png +0 -0
- data/examples/compass/images/flag/cg.png +0 -0
- data/examples/compass/images/flag/ch.png +0 -0
- data/examples/compass/images/flag/ci.png +0 -0
- data/examples/compass/images/flag/ck.png +0 -0
- data/examples/compass/images/flag/cl.png +0 -0
- data/examples/compass/images/flag/cm.png +0 -0
- data/examples/compass/images/flag/cn.png +0 -0
- data/examples/compass/images/flag/co.png +0 -0
- data/examples/compass/images/flag/cr.png +0 -0
- data/examples/compass/images/flag/cs.png +0 -0
- data/examples/compass/images/flag/cu.png +0 -0
- data/examples/compass/images/flag/cv.png +0 -0
- data/examples/compass/images/flag/cx.png +0 -0
- data/examples/compass/images/flag/cy.png +0 -0
- data/examples/compass/images/flag/cz.png +0 -0
- data/examples/compass/images/flag/de.png +0 -0
- data/examples/compass/images/flag/dj.png +0 -0
- data/examples/compass/images/flag/dk.png +0 -0
- data/examples/compass/images/flag/dm.png +0 -0
- data/examples/compass/images/flag/do.png +0 -0
- data/examples/compass/images/flag/dz.png +0 -0
- data/examples/compass/images/flag/ec.png +0 -0
- data/examples/compass/images/flag/ee.png +0 -0
- data/examples/compass/images/flag/eg.png +0 -0
- data/examples/compass/images/flag/eh.png +0 -0
- data/examples/compass/images/flag/england.png +0 -0
- data/examples/compass/images/flag/er.png +0 -0
- data/examples/compass/images/flag/es.png +0 -0
- data/examples/compass/images/flag/et.png +0 -0
- data/examples/compass/images/flag/europeanunion.png +0 -0
- data/examples/compass/images/flag/fam.png +0 -0
- data/examples/compass/images/flag/fi.png +0 -0
- data/examples/compass/images/flag/fj.png +0 -0
- data/examples/compass/images/flag/fk.png +0 -0
- data/examples/compass/images/flag/fm.png +0 -0
- data/examples/compass/images/flag/fo.png +0 -0
- data/examples/compass/images/flag/fr.png +0 -0
- data/examples/compass/images/flag/ga.png +0 -0
- data/examples/compass/images/flag/gb.png +0 -0
- data/examples/compass/images/flag/gd.png +0 -0
- data/examples/compass/images/flag/ge.png +0 -0
- data/examples/compass/images/flag/gf.png +0 -0
- data/examples/compass/images/flag/gh.png +0 -0
- data/examples/compass/images/flag/gi.png +0 -0
- data/examples/compass/images/flag/gl.png +0 -0
- data/examples/compass/images/flag/gm.png +0 -0
- data/examples/compass/images/flag/gn.png +0 -0
- data/examples/compass/images/flag/gp.png +0 -0
- data/examples/compass/images/flag/gq.png +0 -0
- data/examples/compass/images/flag/gr.png +0 -0
- data/examples/compass/images/flag/gs.png +0 -0
- data/examples/compass/images/flag/gt.png +0 -0
- data/examples/compass/images/flag/gu.png +0 -0
- data/examples/compass/images/flag/gw.png +0 -0
- data/examples/compass/images/flag/gy.png +0 -0
- data/examples/compass/images/flag/hk.png +0 -0
- data/examples/compass/images/flag/hm.png +0 -0
- data/examples/compass/images/flag/hn.png +0 -0
- data/examples/compass/images/flag/hr.png +0 -0
- data/examples/compass/images/flag/ht.png +0 -0
- data/examples/compass/images/flag/hu.png +0 -0
- data/examples/compass/images/flag/id-2.png +0 -0
- data/examples/compass/images/flag/ie.png +0 -0
- data/examples/compass/images/flag/il.png +0 -0
- data/examples/compass/images/flag/in.png +0 -0
- data/examples/compass/images/flag/io.png +0 -0
- data/examples/compass/images/flag/iq.png +0 -0
- data/examples/compass/images/flag/ir.png +0 -0
- data/examples/compass/images/flag/is.png +0 -0
- data/examples/compass/images/flag/it.png +0 -0
- data/examples/compass/images/flag/jm.png +0 -0
- data/examples/compass/images/flag/jo.png +0 -0
- data/examples/compass/images/flag/jp.png +0 -0
- data/examples/compass/images/flag/ke.png +0 -0
- data/examples/compass/images/flag/kg.png +0 -0
- data/examples/compass/images/flag/kh.png +0 -0
- data/examples/compass/images/flag/ki.png +0 -0
- data/examples/compass/images/flag/km.png +0 -0
- data/examples/compass/images/flag/kn.png +0 -0
- data/examples/compass/images/flag/kp.png +0 -0
- data/examples/compass/images/flag/kr.png +0 -0
- data/examples/compass/images/flag/kw.png +0 -0
- data/examples/compass/images/flag/ky.png +0 -0
- data/examples/compass/images/flag/kz.png +0 -0
- data/examples/compass/images/flag/la.png +0 -0
- data/examples/compass/images/flag/lb.png +0 -0
- data/examples/compass/images/flag/lc.png +0 -0
- data/examples/compass/images/flag/li.png +0 -0
- data/examples/compass/images/flag/lk.png +0 -0
- data/examples/compass/images/flag/lr.png +0 -0
- data/examples/compass/images/flag/ls.png +0 -0
- data/examples/compass/images/flag/lt.png +0 -0
- data/examples/compass/images/flag/lu.png +0 -0
- data/examples/compass/images/flag/lv.png +0 -0
- data/examples/compass/images/flag/ly.png +0 -0
- data/examples/compass/images/flag/ma.png +0 -0
- data/examples/compass/images/flag/mc.png +0 -0
- data/examples/compass/images/flag/md.png +0 -0
- data/examples/compass/images/flag/me.png +0 -0
- data/examples/compass/images/flag/mg.png +0 -0
- data/examples/compass/images/flag/mh.png +0 -0
- data/examples/compass/images/flag/mk.png +0 -0
- data/examples/compass/images/flag/ml.png +0 -0
- data/examples/compass/images/flag/mm.png +0 -0
- data/examples/compass/images/flag/mn.png +0 -0
- data/examples/compass/images/flag/mo.png +0 -0
- data/examples/compass/images/flag/mp.png +0 -0
- data/examples/compass/images/flag/mq.png +0 -0
- data/examples/compass/images/flag/mr.png +0 -0
- data/examples/compass/images/flag/ms.png +0 -0
- data/examples/compass/images/flag/mt.png +0 -0
- data/examples/compass/images/flag/mu.png +0 -0
- data/examples/compass/images/flag/mv.png +0 -0
- data/examples/compass/images/flag/mw.png +0 -0
- data/examples/compass/images/flag/mx.png +0 -0
- data/examples/compass/images/flag/my.png +0 -0
- data/examples/compass/images/flag/mz.png +0 -0
- data/examples/compass/images/flag/na.png +0 -0
- data/examples/compass/images/flag/nc.png +0 -0
- data/examples/compass/images/flag/ne.png +0 -0
- data/examples/compass/images/flag/nf.png +0 -0
- data/examples/compass/images/flag/ng.png +0 -0
- data/examples/compass/images/flag/ni.png +0 -0
- data/examples/compass/images/flag/nl.png +0 -0
- data/examples/compass/images/flag/no.png +0 -0
- data/examples/compass/images/flag/np.png +0 -0
- data/examples/compass/images/flag/nr.png +0 -0
- data/examples/compass/images/flag/nu.png +0 -0
- data/examples/compass/images/flag/nz.png +0 -0
- data/examples/compass/images/flag/om.png +0 -0
- data/examples/compass/images/flag/pa.png +0 -0
- data/examples/compass/images/flag/pe.png +0 -0
- data/examples/compass/images/flag/pf.png +0 -0
- data/examples/compass/images/flag/pg.png +0 -0
- data/examples/compass/images/flag/ph.png +0 -0
- data/examples/compass/images/flag/pk.png +0 -0
- data/examples/compass/images/flag/pl.png +0 -0
- data/examples/compass/images/flag/pm.png +0 -0
- data/examples/compass/images/flag/pn.png +0 -0
- data/examples/compass/images/flag/pr.png +0 -0
- data/examples/compass/images/flag/ps.png +0 -0
- data/examples/compass/images/flag/pt.png +0 -0
- data/examples/compass/images/flag/pw.png +0 -0
- data/examples/compass/images/flag/py.png +0 -0
- data/examples/compass/images/flag/qa.png +0 -0
- data/examples/compass/images/flag/re.png +0 -0
- data/examples/compass/images/flag/ro.png +0 -0
- data/examples/compass/images/flag/rs.png +0 -0
- data/examples/compass/images/flag/ru.png +0 -0
- data/examples/compass/images/flag/rw.png +0 -0
- data/examples/compass/images/flag/sa.png +0 -0
- data/examples/compass/images/flag/sb.png +0 -0
- data/examples/compass/images/flag/sc.png +0 -0
- data/examples/compass/images/flag/scotland.png +0 -0
- data/examples/compass/images/flag/sd.png +0 -0
- data/examples/compass/images/flag/se.png +0 -0
- data/examples/compass/images/flag/sg.png +0 -0
- data/examples/compass/images/flag/sh.png +0 -0
- data/examples/compass/images/flag/si.png +0 -0
- data/examples/compass/images/flag/sj.png +0 -0
- data/examples/compass/images/flag/sk.png +0 -0
- data/examples/compass/images/flag/sl.png +0 -0
- data/examples/compass/images/flag/sm.png +0 -0
- data/examples/compass/images/flag/sn.png +0 -0
- data/examples/compass/images/flag/so.png +0 -0
- data/examples/compass/images/flag/sr.png +0 -0
- data/examples/compass/images/flag/st.png +0 -0
- data/examples/compass/images/flag/sv.png +0 -0
- data/examples/compass/images/flag/sy.png +0 -0
- data/examples/compass/images/flag/sz.png +0 -0
- data/examples/compass/images/flag/tc.png +0 -0
- data/examples/compass/images/flag/td.png +0 -0
- data/examples/compass/images/flag/tf.png +0 -0
- data/examples/compass/images/flag/tg.png +0 -0
- data/examples/compass/images/flag/th.png +0 -0
- data/examples/compass/images/flag/tj.png +0 -0
- data/examples/compass/images/flag/tk.png +0 -0
- data/examples/compass/images/flag/tl.png +0 -0
- data/examples/compass/images/flag/tm.png +0 -0
- data/examples/compass/images/flag/tn.png +0 -0
- data/examples/compass/images/flag/to.png +0 -0
- data/examples/compass/images/flag/tr.png +0 -0
- data/examples/compass/images/flag/tt.png +0 -0
- data/examples/compass/images/flag/tv.png +0 -0
- data/examples/compass/images/flag/tw.png +0 -0
- data/examples/compass/images/flag/tz.png +0 -0
- data/examples/compass/images/flag/ua.png +0 -0
- data/examples/compass/images/flag/ug.png +0 -0
- data/examples/compass/images/flag/um.png +0 -0
- data/examples/compass/images/flag/us.png +0 -0
- data/examples/compass/images/flag/uy.png +0 -0
- data/examples/compass/images/flag/uz.png +0 -0
- data/examples/compass/images/flag/va.png +0 -0
- data/examples/compass/images/flag/vc.png +0 -0
- data/examples/compass/images/flag/ve.png +0 -0
- data/examples/compass/images/flag/vg.png +0 -0
- data/examples/compass/images/flag/vi.png +0 -0
- data/examples/compass/images/flag/vn.png +0 -0
- data/examples/compass/images/flag/vu.png +0 -0
- data/examples/compass/images/flag/wales.png +0 -0
- data/examples/compass/images/flag/wf.png +0 -0
- data/examples/compass/images/flag/ws.png +0 -0
- data/examples/compass/images/flag/ye.png +0 -0
- data/examples/compass/images/flag/yt.png +0 -0
- data/examples/compass/images/flag/za.png +0 -0
- data/examples/compass/images/flag/zm.png +0 -0
- data/examples/compass/images/flag/zw.png +0 -0
- data/examples/compass/images/icon-chrome.png +0 -0
- data/examples/compass/images/icon-firefox.png +0 -0
- data/examples/compass/images/icon-ie.png +0 -0
- data/examples/compass/images/icon-opera.png +0 -0
- data/examples/compass/images/icon-safari.png +0 -0
- data/examples/compass/pie.html.haml +0 -73
- data/examples/compass/sprites.html.haml +0 -37
- data/examples/compass/src/bp_layout.scss +0 -18
- data/examples/compass/src/compass.scss +0 -46
- data/examples/compass/src/images/blue_arrow.gif +0 -0
- data/examples/compass/src/sprites.scss +0 -25
- data/examples/compass/src/sticky_footer.scss +0 -11
- data/examples/compass/src/utilities.scss +0 -108
- data/examples/compass/sticky_footer.html.haml +0 -14
- data/examples/compass/utilities.html.haml +0 -189
- data/examples/css3/bootstrap.rb +0 -3
- data/examples/css3/clean.rb +0 -2
- data/examples/css3/config.rb +0 -6
- data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +0 -10
- data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +0 -6
- data/examples/css3/gradients.html.haml +0 -68
- data/examples/css3/images/button_bg.png +0 -0
- data/examples/css3/images/example.png +0 -0
- data/examples/css3/index.html.haml +0 -57
- data/examples/css3/src/_base.scss +0 -13
- data/examples/css3/src/fancy-fonts.scss +0 -13
- data/examples/css3/src/gradients.scss +0 -86
- data/examples/css3/src/main.scss +0 -108
- data/examples/downloader.rb +0 -58
- data/examples/ninesixty/bootstrap.rb +0 -4
- data/examples/ninesixty/clean.rb +0 -2
- data/examples/ninesixty/config.rb +0 -10
- data/examples/ninesixty/src/grid.scss +0 -15
- data/examples/ninesixty/src/text.scss +0 -8
- data/examples/susy/bootstrap.rb +0 -3
- data/examples/susy/clean.rb +0 -2
- data/examples/susy/config.rb +0 -10
- data/examples/susy/src/_base.scss +0 -61
- data/examples/susy/src/_defaults.scss +0 -140
- data/examples/susy/src/screen.scss +0 -100
- data/examples/yui/bootstrap.rb +0 -3
- data/examples/yui/clean.rb +0 -2
- data/examples/yui/config.rb +0 -1
- data/examples/yui/divisions.html.haml +0 -179
- data/examples/yui/index.html.haml +0 -19
- data/examples/yui/src/screen.scss +0 -13
- data/examples/yui/sub_divisions.html.haml +0 -169
- data/examples/yui/templates.html.haml +0 -54
- data/examples/yui/test.jpg +0 -0
- data/examples/yui/typography.html.haml +0 -132
- data/frameworks/compass/stylesheets/_compass.scss +0 -3
- data/frameworks/compass/stylesheets/_lemonade.scss +0 -38
- data/frameworks/compass/stylesheets/compass/_css3.scss +0 -21
- data/frameworks/compass/stylesheets/compass/_layout.scss +0 -3
- data/frameworks/compass/stylesheets/compass/_reset-legacy.scss +0 -3
- data/frameworks/compass/stylesheets/compass/_reset.scss +0 -3
- data/frameworks/compass/stylesheets/compass/_support.scss +0 -432
- data/frameworks/compass/stylesheets/compass/_typography.scss +0 -4
- data/frameworks/compass/stylesheets/compass/_utilities.scss +0 -9
- data/frameworks/compass/stylesheets/compass/css3/_animation.scss +0 -122
- data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +0 -17
- data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +0 -35
- data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +0 -37
- data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +0 -19
- data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +0 -107
- data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +0 -88
- data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +0 -15
- data/frameworks/compass/stylesheets/compass/css3/_box.scss +0 -85
- data/frameworks/compass/stylesheets/compass/css3/_columns.scss +0 -210
- data/frameworks/compass/stylesheets/compass/css3/_deprecated-support.scss +0 -272
- data/frameworks/compass/stylesheets/compass/css3/_filter.scss +0 -50
- data/frameworks/compass/stylesheets/compass/css3/_flexbox.scss +0 -156
- data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +0 -48
- data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +0 -71
- data/frameworks/compass/stylesheets/compass/css3/_images.scss +0 -139
- data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +0 -31
- data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +0 -23
- data/frameworks/compass/stylesheets/compass/css3/_pie.scss +0 -1
- data/frameworks/compass/stylesheets/compass/css3/_regions.scss +0 -27
- data/frameworks/compass/stylesheets/compass/css3/_selection.scss +0 -59
- data/frameworks/compass/stylesheets/compass/css3/_shared.scss +0 -5
- data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +0 -82
- data/frameworks/compass/stylesheets/compass/css3/_transform.scss +0 -590
- data/frameworks/compass/stylesheets/compass/css3/_transition.scss +0 -171
- data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +0 -71
- data/frameworks/compass/stylesheets/compass/layout/_grid-background.scss +0 -178
- data/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +0 -23
- data/frameworks/compass/stylesheets/compass/layout/_stretching.scss +0 -24
- data/frameworks/compass/stylesheets/compass/reset/_utilities-legacy.scss +0 -135
- data/frameworks/compass/stylesheets/compass/reset/_utilities.scss +0 -142
- data/frameworks/compass/stylesheets/compass/typography/_links.scss +0 -3
- data/frameworks/compass/stylesheets/compass/typography/_lists.scss +0 -4
- data/frameworks/compass/stylesheets/compass/typography/_text.scss +0 -4
- data/frameworks/compass/stylesheets/compass/typography/_units.scss +0 -152
- data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +0 -300
- data/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss +0 -5
- data/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss +0 -28
- data/frameworks/compass/stylesheets/compass/typography/links/_unstyled-link.scss +0 -7
- data/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss +0 -34
- data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +0 -63
- data/frameworks/compass/stylesheets/compass/typography/lists/_inline-block-list.scss +0 -50
- data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +0 -47
- data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +0 -25
- data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +0 -12
- data/frameworks/compass/stylesheets/compass/typography/text/_nowrap.scss +0 -2
- data/frameworks/compass/stylesheets/compass/typography/text/_replacement.scss +0 -68
- data/frameworks/compass/stylesheets/compass/utilities/_color.scss +0 -1
- data/frameworks/compass/stylesheets/compass/utilities/_general.scss +0 -6
- data/frameworks/compass/stylesheets/compass/utilities/_links.scss +0 -5
- data/frameworks/compass/stylesheets/compass/utilities/_lists.scss +0 -6
- data/frameworks/compass/stylesheets/compass/utilities/_print.scss +0 -17
- data/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +0 -2
- data/frameworks/compass/stylesheets/compass/utilities/_tables.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/_text.scss +0 -5
- data/frameworks/compass/stylesheets/compass/utilities/color/_brightness.scss +0 -12
- data/frameworks/compass/stylesheets/compass/utilities/color/_contrast.scss +0 -52
- data/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +0 -44
- data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +0 -38
- data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +0 -65
- data/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +0 -16
- data/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +0 -2
- data/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +0 -1
- data/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +0 -18
- data/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +0 -92
- data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +0 -81
- data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +0 -22
- data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +0 -38
- data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +0 -9
- data/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +0 -3
- data/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +0 -3
- data/frameworks/compass/templates/ellipsis/ellipsis.sass +0 -9
- data/frameworks/compass/templates/ellipsis/manifest.rb +0 -27
- data/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +0 -14
- data/frameworks/compass/templates/extension/manifest.rb +0 -26
- data/frameworks/compass/templates/extension/stylesheets/main.sass +0 -1
- data/frameworks/compass/templates/extension/templates/project/manifest.rb +0 -2
- data/frameworks/compass/templates/extension/templates/project/screen.sass +0 -2
- data/frameworks/compass/templates/project/USAGE.markdown +0 -32
- data/frameworks/compass/templates/project/ie.sass +0 -6
- data/frameworks/compass/templates/project/manifest.rb +0 -4
- data/frameworks/compass/templates/project/print.sass +0 -6
- data/frameworks/compass/templates/project/screen.sass +0 -7
- data/lib/compass/browser_support.rb +0 -62
- data/lib/compass/caniuse.rb +0 -283
- data/lib/compass/configuration.rb +0 -91
- data/lib/compass/configuration/data.rb +0 -193
- data/lib/compass/configuration/defaults.rb +0 -187
- data/lib/compass/configuration/inheritance.rb +0 -304
- data/lib/compass/configuration/paths.rb +0 -19
- data/lib/compass/exec/switch_ui.rb +0 -179
- data/lib/compass/sass_extensions/functions/colors.rb +0 -67
- data/lib/compass/sass_extensions/functions/constants.rb +0 -74
- data/lib/compass/sass_extensions/functions/cross_browser_support.rb +0 -269
- data/lib/compass/sass_extensions/functions/display.rb +0 -32
- data/lib/compass/sass_extensions/functions/enumerate.rb +0 -7
- data/lib/compass/sass_extensions/functions/env.rb +0 -59
- data/lib/compass/sass_extensions/functions/font_files.rb +0 -41
- data/lib/compass/sass_extensions/functions/gradient_support.rb +0 -611
- data/lib/compass/sass_extensions/functions/image_size.rb +0 -114
- data/lib/compass/sass_extensions/functions/inline_image.rb +0 -64
- data/lib/compass/sass_extensions/functions/lists.rb +0 -101
- data/lib/compass/sass_extensions/functions/math.rb +0 -93
- data/lib/compass/sass_extensions/functions/selectors.rb +0 -64
- data/lib/compass/sass_extensions/functions/urls.rb +0 -297
- data/lib/compass/sass_extensions/monkey_patches.rb +0 -3
- data/lib/compass/sass_extensions/monkey_patches/browser_support.rb +0 -124
- data/lib/compass/sass_extensions/monkey_patches/traversal.rb +0 -23
@@ -1,9 +0,0 @@
|
|
1
|
-
// Since you've installed the xml file, you should set
|
2
|
-
// $use-mozilla-ellipsis-binding to true before importing.
|
3
|
-
$use-mozilla-ellipsis-binding: true
|
4
|
-
@import compass/typography/text/ellipsis
|
5
|
-
|
6
|
-
// You can delete this sass file if you want, it's just an example of how to use the ellipsis mixin.
|
7
|
-
// By default, ellipsis text is no-wrap. Pass false as the first argument if you don't want that.
|
8
|
-
.ellipsis
|
9
|
-
+ellipsis
|
@@ -1,27 +0,0 @@
|
|
1
|
-
description "Plugin for cross-browser ellipsis truncated text."
|
2
|
-
|
3
|
-
file 'xml/ellipsis.xml', :like => :css
|
4
|
-
stylesheet 'ellipsis.sass'
|
5
|
-
|
6
|
-
help %Q{
|
7
|
-
First, install the plugin to get the xml file that makes this work in firefox:
|
8
|
-
|
9
|
-
compass install compass/ellipsis
|
10
|
-
|
11
|
-
Then @include "ellipsis" into your selectors to enable ellipsis
|
12
|
-
there when text gets too long.
|
13
|
-
|
14
|
-
The ellipsis.sass file is just an example for how to use this plugin,
|
15
|
-
feel free to delete it.
|
16
|
-
|
17
|
-
For more information see:
|
18
|
-
http://mattsnider.com/css/css-string-truncation-with-ellipsis/
|
19
|
-
}
|
20
|
-
|
21
|
-
welcome_message %Q{
|
22
|
-
The ellipsis.sass file is just an example for how to use this plugin,
|
23
|
-
feel free to delete it.
|
24
|
-
|
25
|
-
For more information see:
|
26
|
-
http://mattsnider.com/css/css-string-truncation-with-ellipsis/
|
27
|
-
}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<?xml version="1.0"?>
|
2
|
-
<bindings
|
3
|
-
xmlns="http://www.mozilla.org/xbl"
|
4
|
-
xmlns:xbl="http://www.mozilla.org/xbl"
|
5
|
-
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
6
|
-
>
|
7
|
-
<binding id="ellipsis">
|
8
|
-
<content>
|
9
|
-
<xul:window>
|
10
|
-
<xul:description crop="end" xbl:inherits="value=xbl:text"><children/></xul:description>
|
11
|
-
</xul:window>
|
12
|
-
</content>
|
13
|
-
</binding>
|
14
|
-
</bindings>
|
@@ -1,26 +0,0 @@
|
|
1
|
-
description "Generate a compass extension."
|
2
|
-
|
3
|
-
unless options.include?(:preferred_syntax)
|
4
|
-
options[:preferred_syntax] = 'sass'
|
5
|
-
end
|
6
|
-
|
7
|
-
file 'templates/project/manifest.rb'
|
8
|
-
file "stylesheets/main.sass", :to => "stylesheets/_#{File.basename(options[:pattern_name]||options[:project_name]||'main')}.#{options[:preferred_syntax]}"
|
9
|
-
|
10
|
-
file "templates/project/screen.sass", :to => "templates/project/screen.#{options[:preferred_syntax]}"
|
11
|
-
|
12
|
-
|
13
|
-
help %Q{
|
14
|
-
To generate a compass extension:
|
15
|
-
compass create my_extension --using compass/extension
|
16
|
-
}
|
17
|
-
|
18
|
-
welcome_message %Q{
|
19
|
-
For a full tutorial on how to build your own extension see:
|
20
|
-
|
21
|
-
http://compass-style.org/help/tutorials/extensions/
|
22
|
-
|
23
|
-
}, :replace => true
|
24
|
-
|
25
|
-
no_configuration_file!
|
26
|
-
skip_compilation!
|
@@ -1 +0,0 @@
|
|
1
|
-
// This is your framework's main stylesheet. Use it to import all default modules.
|
@@ -1,32 +0,0 @@
|
|
1
|
-
When no framework is specified, a new compass project is set up with three stylesheets:
|
2
|
-
|
3
|
-
* screen.sass
|
4
|
-
* print.sass
|
5
|
-
* ie.sass
|
6
|
-
|
7
|
-
It is expected that you will link your html to these like so:
|
8
|
-
|
9
|
-
<head>
|
10
|
-
<link href="/stylesheets/screen.css" media="screen, projection"
|
11
|
-
rel="stylesheet" type="text/css" />
|
12
|
-
<link href="/stylesheets/print.css" media="print"
|
13
|
-
rel="stylesheet" type="text/css" />
|
14
|
-
<!--[if IE]>
|
15
|
-
<link href="/stylesheets/ie.css" media="screen, projection"
|
16
|
-
rel="stylesheet" type="text/css" />
|
17
|
-
<![endif]-->
|
18
|
-
</head>
|
19
|
-
|
20
|
-
You don't have to use these three stylesheets, they are just a recommendation.
|
21
|
-
You can rename them, make new stylesheets, and delete them. Compass will
|
22
|
-
happily compile whatever sass files you place into your project.
|
23
|
-
|
24
|
-
Any folders you create in your source directory with sass files in them will be folders
|
25
|
-
that get created with css files in them when compiled.
|
26
|
-
|
27
|
-
Sass files beginning with an underscore are called partials, they are not directly
|
28
|
-
compiled to their own css file. You can use these partials by importing them
|
29
|
-
into other stylesheets. This is useful for keeping your stylesheets small and manageable
|
30
|
-
and single-focused. It is common to create a file called _base.sass at the top level
|
31
|
-
of your stylesheets and to import this to set up project-wide constants and mixins.
|
32
|
-
|
@@ -1,7 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Welcome to Compass.
|
3
|
-
In this file you should write your main styles. (or centralize your imports)
|
4
|
-
Import this file using the following HTML or equivalent:
|
5
|
-
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" />
|
6
|
-
|
7
|
-
@import compass/reset
|
@@ -1,62 +0,0 @@
|
|
1
|
-
module Compass
|
2
|
-
module BrowserSupport
|
3
|
-
extend self
|
4
|
-
|
5
|
-
ASPECTS = %w(webkit moz o ms svg css2)
|
6
|
-
|
7
|
-
SIMPLE_FUNCTIONS = {
|
8
|
-
"image" => %w(webkit),
|
9
|
-
"cross-fade" => %w(webkit)
|
10
|
-
}
|
11
|
-
|
12
|
-
# Adds support for one or more aspects for the given simple function
|
13
|
-
# Example:
|
14
|
-
#
|
15
|
-
# Compass::BrowserSupport.add_support("image", "moz", "webkit")
|
16
|
-
# # => Adds support for moz and webkit to the image() function.
|
17
|
-
#
|
18
|
-
# This function can be called one or more times in a compass configuration
|
19
|
-
# file in order to add support for new, simple browser functions without
|
20
|
-
# waiting for a new compass release.
|
21
|
-
def add_support(function, *aspects)
|
22
|
-
aspects.each do |aspect|
|
23
|
-
unless ASPECTS.include?(aspect)
|
24
|
-
Compass::Util.compass_warn "Unknown support aspect: #{aspect}"
|
25
|
-
next
|
26
|
-
end
|
27
|
-
unless supports?(function, aspect)
|
28
|
-
SIMPLE_FUNCTIONS[function.to_s] ||= []
|
29
|
-
SIMPLE_FUNCTIONS[function.to_s] << aspect.to_s
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
# Removes support for one or more aspects for the given simple function
|
35
|
-
# Example:
|
36
|
-
#
|
37
|
-
# Compass::BrowserSupport.remove_support("image", "o", "ms")
|
38
|
-
# # => Adds support for moz and webkit to the image() function.
|
39
|
-
#
|
40
|
-
# This function can be called one or more times in a compass configuration
|
41
|
-
# file in order to remove support for simple functions that no longer need to
|
42
|
-
# a prefix without waiting for a new compass release.
|
43
|
-
def remove_support(function, *aspects)
|
44
|
-
aspects.each do |aspect|
|
45
|
-
unless ASPECTS.include?(aspect)
|
46
|
-
Compass::Util.compass_warn "Unknown support aspect: #{aspect}"
|
47
|
-
next
|
48
|
-
end
|
49
|
-
SIMPLE_FUNCTIONS[function.to_s].reject!{|a| a == aspect.to_s}
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def supports?(function, aspect)
|
54
|
-
SIMPLE_FUNCTIONS.has_key?(function.to_s) && SIMPLE_FUNCTIONS[function.to_s].include?(aspect.to_s)
|
55
|
-
end
|
56
|
-
|
57
|
-
def has_aspect?(function)
|
58
|
-
SIMPLE_FUNCTIONS.has_key?(function.to_s) && SIMPLE_FUNCTIONS[function.to_s].size > 0
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
62
|
-
end
|
data/lib/compass/caniuse.rb
DELETED
@@ -1,283 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
require 'singleton'
|
3
|
-
class Compass::CanIUse
|
4
|
-
include Singleton
|
5
|
-
|
6
|
-
DATA_FILE_NAME = File.join(Compass.base_directory, "data", "caniuse.json")
|
7
|
-
DATA_FEATURE_FILES = Dir.glob(File.join(Compass.base_directory, "data", "caniuse_extras", "**", "*.json"))
|
8
|
-
|
9
|
-
def initialize
|
10
|
-
@data = JSON.parse(File.read(DATA_FILE_NAME))
|
11
|
-
# support ad-hoc features
|
12
|
-
DATA_FEATURE_FILES.each do |feature_file|
|
13
|
-
feature_name = File.basename(feature_file, ".json")
|
14
|
-
# if the feature doesn't exist in the master `caniuse.json`
|
15
|
-
if @data["data"][feature_name].nil?
|
16
|
-
@data["data"][feature_name] = JSON.parse(File.read(feature_file))
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
# The browser names from caniuse are ugly.
|
22
|
-
PUBLIC_BROWSER_NAMES = Hash.new {|h, k| k}
|
23
|
-
PUBLIC_BROWSER_NAMES.update(
|
24
|
-
"and_chr" => "android-chrome",
|
25
|
-
"and_ff" => "android-firefox",
|
26
|
-
"android" => "android",
|
27
|
-
"bb" => "blackberry",
|
28
|
-
"chrome" => "chrome",
|
29
|
-
"firefox" => "firefox",
|
30
|
-
"ie" => "ie",
|
31
|
-
"ie_mob" => "ie-mobile",
|
32
|
-
"ios_saf" => "ios-safari",
|
33
|
-
"op_mini" => "opera-mini",
|
34
|
-
"op_mob" => "opera-mobile",
|
35
|
-
"opera" => "opera",
|
36
|
-
"safari" => "safari"
|
37
|
-
)
|
38
|
-
CAN_I_USE_NAMES = Hash.new {|h, k| k}
|
39
|
-
CAN_I_USE_NAMES.update(PUBLIC_BROWSER_NAMES.invert)
|
40
|
-
|
41
|
-
# Returns all the known browsers according to caniuse
|
42
|
-
def browsers
|
43
|
-
@browsers ||= @data["agents"].keys.map{|b| PUBLIC_BROWSER_NAMES[b] }.sort
|
44
|
-
end
|
45
|
-
|
46
|
-
# Returns the prefix corresponding to a particular browser
|
47
|
-
def prefix(browser, version = nil)
|
48
|
-
assert_valid_browser browser
|
49
|
-
assert_valid_version browser, version if version
|
50
|
-
data = browser_data(browser)
|
51
|
-
p = if data["prefix_exceptions"] && data["prefix_exceptions"][version]
|
52
|
-
data["prefix_exceptions"][version]
|
53
|
-
else
|
54
|
-
data["prefix"]
|
55
|
-
end
|
56
|
-
"-#{p}"
|
57
|
-
end
|
58
|
-
|
59
|
-
# returns all possible prefixes a browser might use.
|
60
|
-
def all_prefixes(browser)
|
61
|
-
assert_valid_browser browser
|
62
|
-
data = browser_data(browser)
|
63
|
-
prefixes = ["-#{data["prefix"]}"]
|
64
|
-
if data["prefix_exceptions"]
|
65
|
-
prefixes += data["prefix_exceptions"].values.uniq.map{|p| "-#{p}"}
|
66
|
-
end
|
67
|
-
prefixes
|
68
|
-
end
|
69
|
-
|
70
|
-
# returns the prefixes needed by the list of browsers given
|
71
|
-
def prefixes(browsers = browsers)
|
72
|
-
result = browsers.map{|b| all_prefixes(b) }
|
73
|
-
result.flatten!
|
74
|
-
result.uniq!
|
75
|
-
result.sort!
|
76
|
-
result
|
77
|
-
end
|
78
|
-
|
79
|
-
def browser_ranges(capability, prefix = nil, include_unprefixed_versions = true)
|
80
|
-
assert_valid_capability capability
|
81
|
-
browsers = prefix.nil? ? browsers() : browsers_with_prefix(prefix)
|
82
|
-
browsers.inject({}) do |m, browser|
|
83
|
-
browser_versions = versions(browser)
|
84
|
-
min_version = find_first_prefixed_version(browser, browser_versions, capability, prefix)
|
85
|
-
if min_version
|
86
|
-
max_version = if include_unprefixed_versions
|
87
|
-
browser_versions.last
|
88
|
-
else
|
89
|
-
find_first_prefixed_version(browser, browser_versions.reverse, capability, prefix)
|
90
|
-
end
|
91
|
-
m.update(browser => [min_version, max_version])
|
92
|
-
end
|
93
|
-
m
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
def find_first_prefixed_version(browser, versions, capability, prefix)
|
98
|
-
versions.find do |version|
|
99
|
-
support = browser_support(browser, version, capability)
|
100
|
-
if prefix.nil?
|
101
|
-
support !~ /\bn\b/ && support !~ /\bx\b/
|
102
|
-
else
|
103
|
-
actual_prefix = prefix(browser, version)
|
104
|
-
support !~ /\bn\b/ && support =~ /\bx\b/ && prefix == actual_prefix
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
# @overload omitted_usage(browser, min_supported_version)
|
110
|
-
# How many users would be omitted if support for the given browser starts
|
111
|
-
# with the given version.
|
112
|
-
#
|
113
|
-
# @overload omitted_usage(browser, min_unsupported_version, max_unsupported_version)
|
114
|
-
# How many users would be omitted if the browsers with version
|
115
|
-
def omitted_usage(browser, min_version, max_version = nil)
|
116
|
-
versions = versions(browser)
|
117
|
-
if max_version.nil?
|
118
|
-
assert_valid_version browser, min_version
|
119
|
-
else
|
120
|
-
assert_valid_version browser, min_version, max_version
|
121
|
-
end
|
122
|
-
usage = 0
|
123
|
-
in_range = max_version.nil?
|
124
|
-
versions.each do |version|
|
125
|
-
break if max_version.nil? && version == min_version
|
126
|
-
in_range = true if (!max_version.nil? && version == min_version)
|
127
|
-
usage += usage(browser, version) if in_range
|
128
|
-
break if !max_version.nil? && version == max_version
|
129
|
-
end
|
130
|
-
return usage
|
131
|
-
end
|
132
|
-
|
133
|
-
# returns the list of browsers that use the given prefix
|
134
|
-
def browsers_with_prefix(prefix)
|
135
|
-
assert_valid_prefix prefix
|
136
|
-
prefix = "-" + prefix unless prefix.start_with?("-")
|
137
|
-
browsers.select {|b| all_prefixes(b).include?(prefix) }
|
138
|
-
end
|
139
|
-
|
140
|
-
SPEC_VERSION_MATCHERS = Hash.new do |h, k|
|
141
|
-
h[k] = /##{k}\b/
|
142
|
-
end
|
143
|
-
|
144
|
-
CAPABILITY_MATCHERS = {
|
145
|
-
:full_support => lambda {|support, capability| !support ^ (capability =~ /\by\b/) },
|
146
|
-
:partial_support => lambda {|support, capability| !support ^ (capability =~ /\ba\b/) },
|
147
|
-
:prefixed => lambda {|support, capability| !support ^ (capability =~ /\bx\b/) },
|
148
|
-
:spec_versions => lambda {|versions, capability| versions.any? {|v| capability =~ SPEC_VERSION_MATCHERS[v] } }
|
149
|
-
}
|
150
|
-
|
151
|
-
# Return whether the capability matcher the options specified.
|
152
|
-
# For each capability option in the options the capability will need to match it.
|
153
|
-
def capability_matches(support, capability_options_list)
|
154
|
-
capability_options_list.any? do |capability_options|
|
155
|
-
capability_options.all? {|c, v| CAPABILITY_MATCHERS[c].call(v, support)}
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
# returns the percentage of users (0-100) that would be affected if the prefix
|
160
|
-
# was not used with the given capability.
|
161
|
-
def prefixed_usage(prefix, capability, capability_options_list)
|
162
|
-
assert_valid_prefix prefix
|
163
|
-
assert_valid_capability capability
|
164
|
-
usage = 0
|
165
|
-
browsers_with_prefix(prefix).each do |browser|
|
166
|
-
versions(browser).each do |version|
|
167
|
-
next unless prefix == prefix(browser, version)
|
168
|
-
support = browser_support(browser, version, capability)
|
169
|
-
if capability_matches(support, capability_options_list) and support =~ /\bx\b/
|
170
|
-
usage += usage(browser, version)
|
171
|
-
end
|
172
|
-
end
|
173
|
-
end
|
174
|
-
usage
|
175
|
-
end
|
176
|
-
|
177
|
-
def next_version(browser, version)
|
178
|
-
versions = versions(browser)
|
179
|
-
index = versions.index(version)
|
180
|
-
index < versions.length - 1 ? versions[index + 1] : nil
|
181
|
-
end
|
182
|
-
|
183
|
-
def previous_version(browser, version)
|
184
|
-
versions = versions(browser)
|
185
|
-
index = versions.index(version)
|
186
|
-
index > 0 ? versions[index - 1] : nil
|
187
|
-
end
|
188
|
-
|
189
|
-
# Returns whether the given minimum version of a browser
|
190
|
-
# requires the use of a prefix for the stated capability.
|
191
|
-
def requires_prefix(browser, min_version, capability, capability_options_list)
|
192
|
-
assert_valid_browser browser
|
193
|
-
assert_valid_capability capability
|
194
|
-
found_version = false
|
195
|
-
versions(browser).each do |version|
|
196
|
-
found_version ||= version == min_version
|
197
|
-
next unless found_version
|
198
|
-
support = browser_support(browser, version, capability)
|
199
|
-
if capability_matches(support, capability_options_list) and support =~ /\bx\b/
|
200
|
-
return prefix(browser, version)
|
201
|
-
end
|
202
|
-
end
|
203
|
-
raise ArgumentError, "#{min_version} is not a version for #{browser}" unless found_version
|
204
|
-
nil
|
205
|
-
end
|
206
|
-
|
207
|
-
# Returns the versions of a browser. If the min_usage parameter is provided,
|
208
|
-
# only those versions having met the threshold of user percentage.
|
209
|
-
#
|
210
|
-
# @param min_usage a decimal number betwee 0 and 100
|
211
|
-
def versions(browser, min_usage = 0)
|
212
|
-
assert_valid_browser browser
|
213
|
-
versions = browser_data(browser)["versions"].compact
|
214
|
-
return versions if min_usage == 0
|
215
|
-
versions.select {|v| browser_data(browser)["usage_global"][v] > min_usage }
|
216
|
-
end
|
217
|
-
|
218
|
-
# The list of capabilities tracked by caniuse.
|
219
|
-
def capabilities
|
220
|
-
@capabilities ||= @data["data"].keys.select do |cap|
|
221
|
-
cats = @data["data"][cap]["categories"]
|
222
|
-
cats.any?{|cat| cat =~ /CSS/ }
|
223
|
-
end.sort
|
224
|
-
end
|
225
|
-
|
226
|
-
# the usage % for a given browser version.
|
227
|
-
def usage(browser, version)
|
228
|
-
browser_data(browser)["usage_global"][version]
|
229
|
-
end
|
230
|
-
|
231
|
-
|
232
|
-
def inspect
|
233
|
-
"Compass::CanIUse(#{browsers.join(", ")})"
|
234
|
-
end
|
235
|
-
|
236
|
-
# the browser data assocated with a given capability
|
237
|
-
def capability_data(capability)
|
238
|
-
@data["data"][capability]
|
239
|
-
end
|
240
|
-
|
241
|
-
def browser_support(browser, version, capability)
|
242
|
-
capability_data(capability)["stats"][CAN_I_USE_NAMES[browser]][version]
|
243
|
-
end
|
244
|
-
|
245
|
-
# the metadata assocated with a given browser
|
246
|
-
def browser_data(browser)
|
247
|
-
@data["agents"][CAN_I_USE_NAMES[browser]]
|
248
|
-
end
|
249
|
-
|
250
|
-
# efficiently checks if a prefix is valid
|
251
|
-
def assert_valid_prefix(prefix)
|
252
|
-
@known_prefixes ||= Set.new(prefixes(browsers))
|
253
|
-
unless @known_prefixes.include?(prefix)
|
254
|
-
raise ArgumentError, "#{prefix} is not known browser prefix."
|
255
|
-
end
|
256
|
-
end
|
257
|
-
|
258
|
-
# efficiently checks if a browser is valid
|
259
|
-
def assert_valid_browser(browser)
|
260
|
-
@known_browsers ||= Set.new(browsers)
|
261
|
-
@known_browsers.include?(browser)
|
262
|
-
unless @known_browsers.include?(browser)
|
263
|
-
raise ArgumentError, "#{browser} is not known browser."
|
264
|
-
end
|
265
|
-
end
|
266
|
-
|
267
|
-
# efficiently checks if a capability is valid
|
268
|
-
def assert_valid_capability(capability)
|
269
|
-
@known_capabilities ||= Set.new(capabilities)
|
270
|
-
unless @known_capabilities.include?(capability)
|
271
|
-
raise ArgumentError, "#{capability} is not known browser capability."
|
272
|
-
end
|
273
|
-
nil
|
274
|
-
end
|
275
|
-
|
276
|
-
def assert_valid_version(browser, *versions)
|
277
|
-
versions.each do |v|
|
278
|
-
unless versions(browser).include?(v)
|
279
|
-
raise ArgumentError, "#{v} is not known version for #{browser}."
|
280
|
-
end
|
281
|
-
end
|
282
|
-
end
|
283
|
-
end
|