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,67 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::Colors
|
2
|
-
|
3
|
-
# a genericized version of lighten/darken so that negative values can be used.
|
4
|
-
def adjust_lightness(color, amount)
|
5
|
-
assert_type color, :Color
|
6
|
-
assert_type amount, :Number
|
7
|
-
color.with(:lightness => Sass::Util.restrict(color.lightness + amount.value, 0..100))
|
8
|
-
end
|
9
|
-
|
10
|
-
# Scales a color's lightness by some percentage.
|
11
|
-
# If the amount is negative, the color is scaled darker, if positive, it is scaled lighter.
|
12
|
-
# This will never return a pure light or dark color unless the amount is 100%.
|
13
|
-
def scale_lightness(color, amount)
|
14
|
-
assert_type color, :Color
|
15
|
-
assert_type amount, :Number
|
16
|
-
color.with(:lightness => scale_color_value(color.lightness, amount.value))
|
17
|
-
end
|
18
|
-
|
19
|
-
# a genericized version of saturation/desaturate so that negative values can be used.
|
20
|
-
def adjust_saturation(color, amount)
|
21
|
-
assert_type color, :Color
|
22
|
-
assert_type amount, :Number
|
23
|
-
color.with(:saturation => Sass::Util.restrict(color.saturation + amount.value, 0..100))
|
24
|
-
end
|
25
|
-
|
26
|
-
# Scales a color's saturation by some percentage.
|
27
|
-
# If the amount is negative, the color is desaturated, if positive, it is saturated.
|
28
|
-
# This will never return a pure saturated or desaturated color unless the amount is 100%.
|
29
|
-
def scale_saturation(color, amount)
|
30
|
-
assert_type color, :Color
|
31
|
-
assert_type amount, :Number
|
32
|
-
color.with(:saturation => scale_color_value(color.saturation, amount.value))
|
33
|
-
end
|
34
|
-
|
35
|
-
def shade(color, percentage)
|
36
|
-
assert_type color, :Color
|
37
|
-
assert_type percentage, :Number
|
38
|
-
black = Sass::Script::Color.new([0, 0, 0])
|
39
|
-
mix(black, color, percentage)
|
40
|
-
end
|
41
|
-
|
42
|
-
def tint(color, percentage)
|
43
|
-
assert_type color, :Color
|
44
|
-
assert_type percentage, :Number
|
45
|
-
white = Sass::Script::Color.new([255, 255, 255])
|
46
|
-
mix(white, color, percentage)
|
47
|
-
end
|
48
|
-
|
49
|
-
# returns an IE hex string for a color with an alpha channel
|
50
|
-
# suitable for passing to IE filters.
|
51
|
-
def ie_hex_str(color)
|
52
|
-
assert_type color, :Color
|
53
|
-
alpha = (color.alpha * 255).round
|
54
|
-
alphastr = alpha.to_s(16).rjust(2, '0')
|
55
|
-
Sass::Script::String.new("##{alphastr}#{color.send(:hex_str)[1..-1]}".upcase)
|
56
|
-
end
|
57
|
-
|
58
|
-
private
|
59
|
-
def scale_color_value(value, amount)
|
60
|
-
if amount > 0
|
61
|
-
value += (100 - value) * (amount / 100.0)
|
62
|
-
elsif amount < 0
|
63
|
-
value += value * amount / 100.0
|
64
|
-
end
|
65
|
-
value
|
66
|
-
end
|
67
|
-
end
|
@@ -1,74 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::Constants
|
2
|
-
POSITIONS = /top|bottom|left|right|center/
|
3
|
-
if defined?(Sass::Script::Value::List)
|
4
|
-
def is_position(position)
|
5
|
-
Sass::Script::Bool.new(position.is_a?(Sass::Script::String) && !!(position.value =~ POSITIONS))
|
6
|
-
end
|
7
|
-
def is_position_list(position_list)
|
8
|
-
Sass::Script::Bool.new(position_list.is_a?(Sass::Script::List) && position_list.value.all?{|p| is_position(p).to_bool})
|
9
|
-
end
|
10
|
-
# returns the opposite position of a side or corner.
|
11
|
-
def opposite_position(position)
|
12
|
-
position = unless position.is_a?(Sass::Script::List)
|
13
|
-
Sass::Script::List.new([position], :space)
|
14
|
-
else
|
15
|
-
Sass::Script::List.new(position.value.dup, position.separator)
|
16
|
-
end
|
17
|
-
position = Sass::Script::List.new(position.value.map do |pos|
|
18
|
-
if pos.is_a? Sass::Script::String
|
19
|
-
opposite = case pos.value
|
20
|
-
when "top" then "bottom"
|
21
|
-
when "bottom" then "top"
|
22
|
-
when "left" then "right"
|
23
|
-
when "right" then "left"
|
24
|
-
when "center" then "center"
|
25
|
-
else
|
26
|
-
Compass::Util.compass_warn("Cannot determine the opposite position of: #{pos}")
|
27
|
-
pos.value
|
28
|
-
end
|
29
|
-
Sass::Script::String.new(opposite)
|
30
|
-
elsif pos.is_a? Sass::Script::Number
|
31
|
-
if pos.numerator_units == ["%"] && pos.denominator_units == []
|
32
|
-
Sass::Script::Number.new(100-pos.value, ["%"])
|
33
|
-
else
|
34
|
-
Compass::Util.compass_warn("Cannot determine the opposite position of: #{pos}")
|
35
|
-
pos
|
36
|
-
end
|
37
|
-
else
|
38
|
-
Compass::Util.compass_warn("Cannot determine the opposite position of: #{pos}")
|
39
|
-
pos
|
40
|
-
end
|
41
|
-
end, position.separator)
|
42
|
-
if position.value.size == 1
|
43
|
-
position.value.first
|
44
|
-
else
|
45
|
-
position
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def is_url(string)
|
50
|
-
if string.is_a?(Sass::Script::String)
|
51
|
-
is_url = !!(string.value =~ /^url\(.*\)$/)
|
52
|
-
Sass::Script::Bool.new(is_url)
|
53
|
-
else
|
54
|
-
Sass::Script::Bool.new(false)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
else
|
58
|
-
# returns the opposite position of a side or corner.
|
59
|
-
def opposite_position(position)
|
60
|
-
opposite = position.value.split(/ +/).map do |pos|
|
61
|
-
case pos
|
62
|
-
when "top" then "bottom"
|
63
|
-
when "bottom" then "top"
|
64
|
-
when "left" then "right"
|
65
|
-
when "right" then "left"
|
66
|
-
when "center" then "center"
|
67
|
-
else
|
68
|
-
pos
|
69
|
-
end
|
70
|
-
end
|
71
|
-
Sass::Script::String.new(opposite.join(" "), position.type)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
@@ -1,269 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::CrossBrowserSupport
|
2
|
-
|
3
|
-
class CSS2FallbackValue < Sass::Script::Literal
|
4
|
-
attr_accessor :value, :css2_value
|
5
|
-
def children
|
6
|
-
[value, css2_value]
|
7
|
-
end
|
8
|
-
def initialize(value, css2_value)
|
9
|
-
self.value = value
|
10
|
-
self.css2_value = css2_value
|
11
|
-
end
|
12
|
-
def inspect
|
13
|
-
to_s
|
14
|
-
end
|
15
|
-
def to_s(options = self.options)
|
16
|
-
value.to_s(options)
|
17
|
-
end
|
18
|
-
def supports?(aspect)
|
19
|
-
aspect == "css2"
|
20
|
-
end
|
21
|
-
def has_aspect?
|
22
|
-
true
|
23
|
-
end
|
24
|
-
def to_css2(options = self.options)
|
25
|
-
css2_value
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
# Check if any of the arguments passed require a vendor prefix.
|
30
|
-
def prefixed(prefix, *args)
|
31
|
-
assert_type prefix, :String
|
32
|
-
aspect = prefix.value.sub(/^-/,"")
|
33
|
-
needed = args.any?{|a| a.respond_to?(:supports?) && a.supports?(aspect)}
|
34
|
-
Sass::Script::Bool.new(needed)
|
35
|
-
end
|
36
|
-
|
37
|
-
%w(webkit moz o ms svg css2).each do |prefix|
|
38
|
-
class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
39
|
-
# Syntactic sugar to apply the given prefix
|
40
|
-
# -moz($arg) is the same as calling prefix(-moz, $arg)
|
41
|
-
def _#{prefix}(*args)
|
42
|
-
prefix("#{prefix}", *args)
|
43
|
-
end
|
44
|
-
RUBY
|
45
|
-
end
|
46
|
-
|
47
|
-
def prefix(prefix, *objects)
|
48
|
-
assert_type prefix, :String if prefix.is_a?(Sass::Script::Value::Base)
|
49
|
-
prefix = prefix.value if prefix.is_a?(Sass::Script::String)
|
50
|
-
prefix = prefix[1..-1] if prefix[0] == ?-
|
51
|
-
if objects.size > 1
|
52
|
-
self.prefix(prefix, Sass::Script::List.new(objects, :comma))
|
53
|
-
else
|
54
|
-
object = objects.first
|
55
|
-
if object.is_a?(Sass::Script::List)
|
56
|
-
Sass::Script::List.new(object.value.map{|e|
|
57
|
-
self.prefix(prefix, e)
|
58
|
-
}, object.separator)
|
59
|
-
elsif object.respond_to?(:supports?) && object.supports?(prefix) && object.respond_to?(:"to_#{prefix}")
|
60
|
-
object.options = options
|
61
|
-
object.send(:"to_#{prefix}")
|
62
|
-
else
|
63
|
-
object
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
def css2_fallback(value, css2_value)
|
69
|
-
CSS2FallbackValue.new(value, css2_value)
|
70
|
-
end
|
71
|
-
|
72
|
-
# The known browsers.
|
73
|
-
#
|
74
|
-
# If prefix is given, limits the returned browsers to those using the specified prefix.
|
75
|
-
def browsers(prefix = nil)
|
76
|
-
browsers = if prefix
|
77
|
-
assert_type prefix, :String
|
78
|
-
Compass::CanIUse.instance.browsers_with_prefix(prefix.value)
|
79
|
-
else
|
80
|
-
Compass::CanIUse.instance.browsers
|
81
|
-
end
|
82
|
-
list(browsers.map{|b| identifier(b)}, :comma)
|
83
|
-
end
|
84
|
-
Sass::Script::Functions.declare(:browsers, [])
|
85
|
-
Sass::Script::Functions.declare(:browsers, [:prefix])
|
86
|
-
|
87
|
-
# The known capabilities of browsers.
|
88
|
-
def browser_capabilities
|
89
|
-
list(Compass::CanIUse.instance.capabilities.map{|c| identifier(c)}, :comma)
|
90
|
-
end
|
91
|
-
Sass::Script::Functions.declare(:browser_capabilities, [])
|
92
|
-
|
93
|
-
# The versions for the given browser.
|
94
|
-
def browser_versions(browser)
|
95
|
-
assert_type browser, :String
|
96
|
-
list(Compass::CanIUse.instance.versions(browser.value).map{|v| quoted_string(v)}, :comma)
|
97
|
-
rescue ArgumentError => e
|
98
|
-
raise Sass::SyntaxError.new(e.message)
|
99
|
-
end
|
100
|
-
Sass::Script::Functions.declare(:browser_versions, [:browser])
|
101
|
-
|
102
|
-
# whether the browser uses a prefix for the given capability at the version
|
103
|
-
# specified or a later version. Returns the prefix it requires, or null.
|
104
|
-
def browser_requires_prefix(browser, version, capability, capability_options)
|
105
|
-
assert_type browser, :String
|
106
|
-
assert_type version, :String
|
107
|
-
assert_type capability, :String
|
108
|
-
p = Compass::CanIUse.instance.requires_prefix(browser.value,
|
109
|
-
version.value,
|
110
|
-
capability.value,
|
111
|
-
unbox_capability_options_list(capability_options))
|
112
|
-
p ? identifier(p) : null()
|
113
|
-
rescue ArgumentError => e
|
114
|
-
raise Sass::SyntaxError.new(e.message)
|
115
|
-
end
|
116
|
-
Sass::Script::Functions.declare(:browser_requires_prefix, [:browser, :version, :capability])
|
117
|
-
|
118
|
-
# the prefix for the given browser.
|
119
|
-
def browser_prefix(browser, version = nil)
|
120
|
-
assert_type browser, :String
|
121
|
-
identifier(Compass::CanIUse.instance.prefix(browser.value))
|
122
|
-
rescue ArgumentError => e
|
123
|
-
raise Sass::SyntaxError.new(e.message)
|
124
|
-
end
|
125
|
-
Sass::Script::Functions.declare(:browser_prefix, [:browser])
|
126
|
-
Sass::Script::Functions.declare(:browser_prefix, [:browser, :version])
|
127
|
-
|
128
|
-
# The prefixes used by the given browsers.
|
129
|
-
def browser_prefixes(browsers)
|
130
|
-
browsers = list(browsers, :comma) if browsers.is_a?(Sass::Script::Value::String)
|
131
|
-
assert_type browsers, :List
|
132
|
-
browser_strings = browsers.value.map {|b| assert_type(b, :String); b.value }
|
133
|
-
prefix_strings = Compass::CanIUse.instance.prefixes(browser_strings)
|
134
|
-
list(prefix_strings.map {|p| identifier(p)}, :comma)
|
135
|
-
rescue ArgumentError => e
|
136
|
-
raise Sass::SyntaxError.new(e.message)
|
137
|
-
end
|
138
|
-
Sass::Script::Functions.declare(:browser_prefixes, [:browsers])
|
139
|
-
|
140
|
-
# The percent of users that are omitted by setting the min_version of browser
|
141
|
-
# as specified.
|
142
|
-
def omitted_usage(browser, min_version, max_version = nil)
|
143
|
-
assert_type browser, :String
|
144
|
-
assert_type min_version, :String, :min_version
|
145
|
-
assert_type(max_version, :String, :max_version) if max_version
|
146
|
-
versions = [min_version.value]
|
147
|
-
versions << max_version.value if max_version
|
148
|
-
number(Compass::CanIUse.instance.omitted_usage(browser.value, *versions))
|
149
|
-
end
|
150
|
-
Sass::Script::Functions.declare(:omitted_usage, [:browser, :min_version])
|
151
|
-
Sass::Script::Functions.declare(:omitted_usage, [:browser, :min_version, :max_version])
|
152
|
-
|
153
|
-
# The version before the version for the browser specified
|
154
|
-
def previous_version(browser, version)
|
155
|
-
assert_type browser, :String
|
156
|
-
assert_type version, :String
|
157
|
-
previous = Compass::CanIUse.instance.previous_version(browser.value, version.value)
|
158
|
-
previous.nil? ? null() : quoted_string(previous)
|
159
|
-
end
|
160
|
-
Sass::Script::Functions.declare(:previous_version, [:browser, :version])
|
161
|
-
|
162
|
-
# The version before the version for the browser specified
|
163
|
-
def next_version(browser, version)
|
164
|
-
assert_type browser, :String
|
165
|
-
assert_type version, :String
|
166
|
-
next_version = Compass::CanIUse.instance.next_version(browser.value, version.value)
|
167
|
-
next_version.nil? ? null() : quoted_string(next_version)
|
168
|
-
end
|
169
|
-
Sass::Script::Functions.declare(:next_version, [:browser, :version])
|
170
|
-
|
171
|
-
# The percent of users relying on a particular prefix
|
172
|
-
def prefix_usage(prefix, capability, capability_options)
|
173
|
-
assert_type prefix, :String
|
174
|
-
assert_type capability, :String
|
175
|
-
number(Compass::CanIUse.instance.prefixed_usage(prefix.value,
|
176
|
-
capability.value,
|
177
|
-
unbox_capability_options_list(capability_options)))
|
178
|
-
rescue ArgumentError => e
|
179
|
-
raise Sass::SyntaxError.new(e.message)
|
180
|
-
end
|
181
|
-
Sass::Script::Functions.declare(:prefix_usage, [:prefix, :capability])
|
182
|
-
|
183
|
-
# Compares two browser versions. Returning:
|
184
|
-
#
|
185
|
-
# * 0 if they are the same
|
186
|
-
# * <0 if the first version is less than the second
|
187
|
-
# * >0 if the first version is more than the second
|
188
|
-
def compare_browser_versions(browser, version1, version2)
|
189
|
-
assert_type browser, :String, :browser
|
190
|
-
assert_type version1, :String, :version1
|
191
|
-
assert_type version2, :String, :version2
|
192
|
-
index1 = index2 = nil
|
193
|
-
Compass::CanIUse.instance.versions(browser.value).each_with_index do |v, i|
|
194
|
-
index1 = i if v == version1.value
|
195
|
-
index2 = i if v == version2.value
|
196
|
-
break if index1 && index2
|
197
|
-
end
|
198
|
-
unless index1
|
199
|
-
raise Sass::SyntaxError.new("#{version1} is not a version for #{browser}")
|
200
|
-
end
|
201
|
-
unless index2
|
202
|
-
raise Sass::SyntaxError.new("#{version2} is not a version for #{browser}")
|
203
|
-
end
|
204
|
-
number(index1 <=> index2)
|
205
|
-
end
|
206
|
-
Sass::Script::Functions.declare(:compare_browser_versions, [:browser, :version1, :version2])
|
207
|
-
|
208
|
-
# Returns a map of browsers to the first version the capability became available
|
209
|
-
# without a prefix.
|
210
|
-
#
|
211
|
-
# If a prefix is provided, only those browsers using that prefix will be returned
|
212
|
-
# and the minimum version will be when it first became available as a prefix or
|
213
|
-
# without a prefix.
|
214
|
-
#
|
215
|
-
# If a browser does not have the capability, it will not included in the map.
|
216
|
-
def browser_ranges(capability, prefix = null(), include_unprefixed_versions = bool(true))
|
217
|
-
assert_type capability, :String
|
218
|
-
assert_type(prefix, :String) unless prefix == null()
|
219
|
-
mins = Compass::CanIUse.instance.browser_ranges(capability.value,
|
220
|
-
prefix.value,
|
221
|
-
include_unprefixed_versions.to_bool)
|
222
|
-
Sass::Script::Value::Map.new(mins.inject({}) do |m, (h, range)|
|
223
|
-
m[identifier(h)] = list(range.map{|version| quoted_string(version)}, :space)
|
224
|
-
m
|
225
|
-
end)
|
226
|
-
end
|
227
|
-
Sass::Script::Functions.declare(:browser_minimums, [:capability])
|
228
|
-
Sass::Script::Functions.declare(:browser_minimums, [:capability, :prefix])
|
229
|
-
|
230
|
-
private
|
231
|
-
|
232
|
-
def unbox_capability_options_list(capability_options_list)
|
233
|
-
if capability_options_list.is_a?(Sass::Script::Value::Map)
|
234
|
-
[unbox_capability_options(capability_options_list)]
|
235
|
-
elsif capability_options_list.is_a?(Sass::Script::Value::List)
|
236
|
-
capability_options_list.to_a.map{|opts| unbox_capability_options(opts) }
|
237
|
-
else
|
238
|
-
assert_type capability_options_list, :List
|
239
|
-
end
|
240
|
-
end
|
241
|
-
|
242
|
-
CAPABILITY_OPTION_KEYS = {
|
243
|
-
"full-support" => :full_support,
|
244
|
-
"partial-support" => :partial_support,
|
245
|
-
"prefixed" => :prefixed,
|
246
|
-
"spec-versions" => :spec_versions,
|
247
|
-
}
|
248
|
-
|
249
|
-
CAPABILITY_OPTION_UNBOXER = {
|
250
|
-
:full_support => lambda {|v| v.to_bool },
|
251
|
-
:partial_support => lambda {|v| v.to_bool },
|
252
|
-
:prefixed => lambda {|v| v.to_bool },
|
253
|
-
:spec_versions => lambda {|versions| versions.to_a.map {|v| v.value } }
|
254
|
-
}
|
255
|
-
|
256
|
-
def unbox_capability_options(capability_options)
|
257
|
-
assert_type capability_options, :Map
|
258
|
-
result = {}
|
259
|
-
capability_options.value.each do |k, v|
|
260
|
-
assert_type k, :String
|
261
|
-
key = CAPABILITY_OPTION_KEYS[k.value]
|
262
|
-
unless key
|
263
|
-
raise Sass::SyntaxError, "#{k} is not valid capability option"
|
264
|
-
end
|
265
|
-
result[key] = CAPABILITY_OPTION_UNBOXER[key].call(v)
|
266
|
-
end
|
267
|
-
result
|
268
|
-
end
|
269
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::Display
|
2
|
-
DEFAULT_DISPLAY = {
|
3
|
-
"block" => %w{address article aside blockquote center dir div dd details dl dt fieldset
|
4
|
-
figcaption figure form footer frameset h1 h2 h3 h4 h5 h6 hr header hgroup
|
5
|
-
isindex menu nav noframes noscript ol p pre section summary ul},
|
6
|
-
"inline" => %w{a abbr acronym audio b basefont bdo big br canvas cite code command
|
7
|
-
datalist dfn em embed font i img input keygen kbd label mark meter output
|
8
|
-
progress q rp rt ruby s samp select small span strike strong sub
|
9
|
-
sup textarea time tt u var video wbr},
|
10
|
-
"inline-block" => %w{img},
|
11
|
-
"table" => %w{table},
|
12
|
-
"list-item" => %w{li},
|
13
|
-
"table-row-group" => %w{tbody},
|
14
|
-
"table-header-group" => %w{thead},
|
15
|
-
"table-footer-group" => %w{tfoot},
|
16
|
-
"table-row" => %w{tr},
|
17
|
-
"table-cell" => %w{th td},
|
18
|
-
"html5-block" => %w{article aside details figcaption figure footer header hgroup menu nav
|
19
|
-
section summary},
|
20
|
-
"html5-inline" => %w{audio canvas command datalist embed keygen mark meter output progress rp
|
21
|
-
rt ruby time video wbr},
|
22
|
-
"text-input" => %w{input textarea}
|
23
|
-
}
|
24
|
-
|
25
|
-
DEFAULT_DISPLAY["html5"] = (DEFAULT_DISPLAY["html5-block"] + DEFAULT_DISPLAY["html5-inline"]).sort.uniq
|
26
|
-
|
27
|
-
# returns a comma delimited string for all the
|
28
|
-
# elements according to their default css3 display value.
|
29
|
-
def elements_of_type(display)
|
30
|
-
Sass::Script::String.new(DEFAULT_DISPLAY.fetch(display.value.to_s).join(", "))
|
31
|
-
end
|
32
|
-
end
|
@@ -1,7 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::Enumerate
|
2
|
-
def enumerate(prefix, from, through, separator = nil)
|
3
|
-
separator ||= Sass::Script::String.new("-", :string)
|
4
|
-
selectors = (from.value..through.value).map{|i| "#{prefix.value}#{separator.value}#{i}"}.join(", ")
|
5
|
-
Sass::Script::String.new(selectors)
|
6
|
-
end
|
7
|
-
end
|