compass 0.13.alpha.12 → 1.0.0.alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|