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,114 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::ImageSize
|
2
|
-
# Returns the width of the image relative to the images directory
|
3
|
-
def image_width(image_file)
|
4
|
-
width, _ = image_dimensions(image_file)
|
5
|
-
Sass::Script::Number.new(width,["px"])
|
6
|
-
end
|
7
|
-
|
8
|
-
# Returns the height of the image relative to the images directory
|
9
|
-
def image_height(image_file)
|
10
|
-
_, height = image_dimensions(image_file)
|
11
|
-
Sass::Script::Number.new(height, ["px"])
|
12
|
-
end
|
13
|
-
|
14
|
-
class ImageProperties
|
15
|
-
def initialize(file)
|
16
|
-
@file = (file.respond_to?(:to_path) ? file.to_path : file)
|
17
|
-
@file_type = File.extname(@file)[1..-1]
|
18
|
-
end
|
19
|
-
|
20
|
-
def size
|
21
|
-
@dimensions ||= send(:"get_size_for_#{@file_type}")
|
22
|
-
rescue NoMethodError
|
23
|
-
raise Sass::SyntaxError, "Unrecognized file type: #{@file_type}"
|
24
|
-
end
|
25
|
-
|
26
|
-
private
|
27
|
-
def get_size_for_png
|
28
|
-
File.open(@file, "rb") {|io| io.read}[0x10..0x18].unpack('NN')
|
29
|
-
end
|
30
|
-
|
31
|
-
def get_size_for_gif
|
32
|
-
File.open(@file, "rb") {|io| io.read}[6..10].unpack('SS')
|
33
|
-
end
|
34
|
-
|
35
|
-
def get_size_for_jpg
|
36
|
-
get_size_for_jpeg
|
37
|
-
end
|
38
|
-
|
39
|
-
def get_size_for_jpeg
|
40
|
-
jpeg = JPEG.new(@file)
|
41
|
-
[jpeg.width, jpeg.height]
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
private
|
46
|
-
|
47
|
-
def image_dimensions(image_file)
|
48
|
-
image_file = image_file.respond_to?(:value) ? image_file.value : image_file
|
49
|
-
options[:compass] ||= {}
|
50
|
-
options[:compass][:image_dimensions] ||= {}
|
51
|
-
options[:compass][:image_dimensions][image_file] = ImageProperties.new(image_path_for_size(image_file)).size
|
52
|
-
end
|
53
|
-
|
54
|
-
def image_path_for_size(image_file)
|
55
|
-
if File.exists?(image_file)
|
56
|
-
return image_file
|
57
|
-
end
|
58
|
-
real_path(image_file)
|
59
|
-
end
|
60
|
-
|
61
|
-
def real_path(image_file)
|
62
|
-
# Compute the real path to the image on the file stystem if the images_dir is set.
|
63
|
-
if Compass.configuration.images_path
|
64
|
-
File.join(Compass.configuration.images_path, image_file)
|
65
|
-
else
|
66
|
-
File.join(Compass.configuration.project_path, image_file)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
class JPEG
|
71
|
-
attr_reader :width, :height, :bits
|
72
|
-
|
73
|
-
def initialize(file)
|
74
|
-
if file.kind_of? IO
|
75
|
-
examine(file)
|
76
|
-
else
|
77
|
-
File.open(file, 'rb') { |io| examine(io) }
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
private
|
82
|
-
def examine(io)
|
83
|
-
class << io
|
84
|
-
unless method_defined?(:readbyte)
|
85
|
-
def readbyte
|
86
|
-
getc
|
87
|
-
end
|
88
|
-
end
|
89
|
-
def readint; (readbyte << 8) + readbyte; end
|
90
|
-
def readframe; read(readint - 2); end
|
91
|
-
def readsof; [readint, readbyte, readint, readint, readbyte]; end
|
92
|
-
def next
|
93
|
-
c = readbyte while c != 0xFF
|
94
|
-
c = readbyte while c == 0xFF
|
95
|
-
c
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
raise 'malformed JPEG!' unless io.readbyte == 0xFF && io.readbyte == 0xD8 # SOI
|
100
|
-
|
101
|
-
while marker = io.next
|
102
|
-
case marker
|
103
|
-
when 0xC0..0xC3, 0xC5..0xC7, 0xC9..0xCB, 0xCD..0xCF # SOF markers
|
104
|
-
length, @bits, @height, @width, components = io.readsof
|
105
|
-
raise 'malformed JPEG' unless length == 8 + components * 3
|
106
|
-
when 0xD9, 0xDA then break # EOI, SOS
|
107
|
-
when 0xFE then @comment = io.readframe # COM
|
108
|
-
when 0xE1 then io.readframe # APP1, contains EXIF tag
|
109
|
-
else io.readframe # ignore frame
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
end
|
114
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::InlineImage
|
2
|
-
|
3
|
-
def inline_image(path, mime_type = nil)
|
4
|
-
path = path.value
|
5
|
-
real_path = File.join(Compass.configuration.images_path, path)
|
6
|
-
inline_image_string(data(real_path), compute_mime_type(path, mime_type))
|
7
|
-
end
|
8
|
-
|
9
|
-
def inline_font_files(*args)
|
10
|
-
raise Sass::SyntaxError, "An even number of arguments must be passed to font_files()" unless args.size % 2 == 0
|
11
|
-
files = []
|
12
|
-
while args.size > 0
|
13
|
-
path = args.shift.value
|
14
|
-
real_path = File.join(Compass.configuration.fonts_path, path)
|
15
|
-
url = inline_image_string(data(real_path), compute_mime_type(path))
|
16
|
-
files << "#{url} format('#{args.shift}')"
|
17
|
-
end
|
18
|
-
Sass::Script::String.new(files.join(", "))
|
19
|
-
end
|
20
|
-
|
21
|
-
protected
|
22
|
-
def inline_image_string(data, mime_type)
|
23
|
-
data = [data].flatten.pack('m').gsub("\n","")
|
24
|
-
url = "url('data:#{mime_type};base64,#{data}')"
|
25
|
-
Sass::Script::String.new(url)
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
def compute_mime_type(path, mime_type = nil)
|
30
|
-
return mime_type if mime_type
|
31
|
-
case path
|
32
|
-
when /\.png$/i
|
33
|
-
'image/png'
|
34
|
-
when /\.jpe?g$/i
|
35
|
-
'image/jpeg'
|
36
|
-
when /\.gif$/i
|
37
|
-
'image/gif'
|
38
|
-
when /\.svg$/i
|
39
|
-
'image/svg+xml'
|
40
|
-
when /\.otf$/i
|
41
|
-
'font/opentype'
|
42
|
-
when /\.eot$/i
|
43
|
-
'application/vnd.ms-fontobject'
|
44
|
-
when /\.ttf$/i
|
45
|
-
'font/truetype'
|
46
|
-
when /\.woff$/i
|
47
|
-
'application/x-font-woff'
|
48
|
-
when /\.off$/i
|
49
|
-
'font/openfont'
|
50
|
-
when /\.([a-zA-Z]+)$/
|
51
|
-
"image/#{Regexp.last_match(1).downcase}"
|
52
|
-
else
|
53
|
-
raise Compass::Error, "A mime type could not be determined for #{path}, please specify one explicitly."
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def data(real_path)
|
58
|
-
if File.readable?(real_path)
|
59
|
-
File.open(real_path, "rb") {|io| io.read}
|
60
|
-
else
|
61
|
-
raise Compass::Error, "File not found or cannot be read: #{real_path}"
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
@@ -1,101 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::Lists
|
2
|
-
|
3
|
-
# Returns true when the object is false, an empty string, or an empty list
|
4
|
-
def blank(obj)
|
5
|
-
case obj
|
6
|
-
when Sass::Script::Bool
|
7
|
-
Sass::Script::Bool.new !obj.to_bool
|
8
|
-
when Sass::Script::String
|
9
|
-
Sass::Script::Bool.new obj.value.strip.size == 0
|
10
|
-
when Sass::Script::List
|
11
|
-
Sass::Script::Bool.new obj.value.size == 0 || obj.value.all?{|el| blank(el).to_bool}
|
12
|
-
else
|
13
|
-
Sass::Script::Bool.new false
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
# Returns a new list after removing any non-true values
|
18
|
-
def compact(*args)
|
19
|
-
sep = :comma
|
20
|
-
if args.size == 1 && args.first.is_a?(Sass::Script::List)
|
21
|
-
list = args.first
|
22
|
-
args = list.value
|
23
|
-
sep = list.separator
|
24
|
-
end
|
25
|
-
Sass::Script::List.new(args.reject{|a| !a.to_bool}, sep)
|
26
|
-
end
|
27
|
-
|
28
|
-
# Get the nth value from a list
|
29
|
-
def _compass_nth(list, place)
|
30
|
-
assert_type list, :List
|
31
|
-
if place.value == "first"
|
32
|
-
list.value.first
|
33
|
-
elsif place.value == "last"
|
34
|
-
list.value.last
|
35
|
-
else
|
36
|
-
list.value[place.value - 1]
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
# Returns a list object from a value that was passed.
|
41
|
-
# This can be used to unpack a space separated list that got turned
|
42
|
-
# into a string by sass before it was passed to a mixin.
|
43
|
-
def _compass_list(arg)
|
44
|
-
if arg.is_a?(Sass::Script::List)
|
45
|
-
Sass::Script::List.new(arg.value.dup, arg.separator)
|
46
|
-
else
|
47
|
-
Sass::Script::List.new([arg], :space)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
# If the argument is a list, it will return a new list that is space delimited
|
52
|
-
# Otherwise it returns a new, single element, space-delimited list.
|
53
|
-
def _compass_space_list(list)
|
54
|
-
if list.is_a?(Sass::Script::List)
|
55
|
-
Sass::Script::List.new(list.value.dup, :space)
|
56
|
-
else
|
57
|
-
Sass::Script::List.new([list], :space)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
# Returns the size of the list.
|
62
|
-
def _compass_list_size(list)
|
63
|
-
assert_list list
|
64
|
-
Sass::Script::Number.new(list.value.size)
|
65
|
-
end
|
66
|
-
|
67
|
-
# slice a sublist from a list
|
68
|
-
def _compass_slice(list, start_index, end_index = nil)
|
69
|
-
end_index ||= Sass::Script::Number.new(-1)
|
70
|
-
start_index = start_index.value
|
71
|
-
end_index = end_index.value
|
72
|
-
start_index -= 1 unless start_index < 0
|
73
|
-
end_index -= 1 unless end_index < 0
|
74
|
-
Sass::Script::List.new list.values[start_index..end_index], list.separator
|
75
|
-
end
|
76
|
-
|
77
|
-
# removes the given values from the list.
|
78
|
-
def reject(list, *values)
|
79
|
-
Sass::Script::List.new(list.value.reject{|v| values.any?{|o| v == o}}, list.separator)
|
80
|
-
end
|
81
|
-
|
82
|
-
# returns the first value of a space delimited list.
|
83
|
-
def first_value_of(list)
|
84
|
-
if list.is_a?(Sass::Script::String)
|
85
|
-
Sass::Script::String.new(list.value.split(/\s+/).first)
|
86
|
-
elsif defined?(Sass::Script::List) && list.is_a?(Sass::Script::List)
|
87
|
-
list.value.first
|
88
|
-
else
|
89
|
-
list
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
protected
|
94
|
-
|
95
|
-
def assert_list(value)
|
96
|
-
unless value.is_a?(Sass::Script::List)
|
97
|
-
raise ArgumentError.new("#{value.inspect} is not a list")
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
end
|
@@ -1,93 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::Math
|
2
|
-
|
3
|
-
extend Compass::SassExtensions::Functions::SassDeclarationHelper
|
4
|
-
|
5
|
-
PI = Sass::Script::Number.new(Math::PI)
|
6
|
-
def pi()
|
7
|
-
PI
|
8
|
-
end
|
9
|
-
register_sass_function :pi, []
|
10
|
-
|
11
|
-
def random(*args)
|
12
|
-
value = if args.length == 1
|
13
|
-
rand(args.pop.value)
|
14
|
-
else
|
15
|
-
range = (args.first.value..args.last.value).to_a
|
16
|
-
range[rand(range.length)]
|
17
|
-
end
|
18
|
-
Sass::Script::Number.new(value)
|
19
|
-
end
|
20
|
-
register_sass_function :random, [:limit]
|
21
|
-
register_sass_function :random, [:start, :limit]
|
22
|
-
|
23
|
-
def sin(number)
|
24
|
-
trig(:sin, number)
|
25
|
-
end
|
26
|
-
register_sass_function :sin, [:number]
|
27
|
-
|
28
|
-
def asin(number)
|
29
|
-
trig(:asin, number)
|
30
|
-
end
|
31
|
-
register_sass_function :asin, [:number]
|
32
|
-
|
33
|
-
def cos(number)
|
34
|
-
trig(:cos, number)
|
35
|
-
end
|
36
|
-
register_sass_function :cos, [:number]
|
37
|
-
|
38
|
-
def acos(number)
|
39
|
-
trig(:acos, number)
|
40
|
-
end
|
41
|
-
register_sass_function :acos, [:number]
|
42
|
-
|
43
|
-
def tan(number)
|
44
|
-
trig(:tan, number)
|
45
|
-
end
|
46
|
-
register_sass_function :tan, [:number]
|
47
|
-
|
48
|
-
def atan(number)
|
49
|
-
trig(:atan, number)
|
50
|
-
end
|
51
|
-
register_sass_function :atan, [:number]
|
52
|
-
|
53
|
-
def e
|
54
|
-
Sass::Script::Number.new(Math::E)
|
55
|
-
end
|
56
|
-
register_sass_function :e, []
|
57
|
-
|
58
|
-
def logarithm(number, base = e )
|
59
|
-
assert_type number, :Number
|
60
|
-
assert_type base, :Number
|
61
|
-
raise Sass::SyntaxError, "base to logarithm must be unitless." unless base.unitless?
|
62
|
-
|
63
|
-
result = Math.log(number.value, base.value) rescue Math.log(number.value) / Math.log(base.value)
|
64
|
-
Sass::Script::Number.new(result, number.numerator_units, number.denominator_units)
|
65
|
-
end
|
66
|
-
register_sass_function :logarithm, [:number]
|
67
|
-
register_sass_function :logarithm, [:number, :base]
|
68
|
-
|
69
|
-
def sqrt(number)
|
70
|
-
numeric_transformation(number) { |n| Math.sqrt(n) }
|
71
|
-
end
|
72
|
-
register_sass_function :sqrt, [:number]
|
73
|
-
|
74
|
-
alias square_root sqrt
|
75
|
-
register_sass_function :square_root, [:number]
|
76
|
-
|
77
|
-
def pow(number, exponent)
|
78
|
-
assert_type number, :Number
|
79
|
-
assert_type exponent, :Number
|
80
|
-
raise Sass::SyntaxError, "exponent to pow must be unitless." unless exponent.unitless?
|
81
|
-
Sass::Script::Number.new(number.value**exponent.value, number.numerator_units, number.denominator_units)
|
82
|
-
end
|
83
|
-
register_sass_function :pow, [:number, :exponent]
|
84
|
-
|
85
|
-
private
|
86
|
-
def trig(operation, number)
|
87
|
-
if number.numerator_units == ["deg"] && number.denominator_units == []
|
88
|
-
Sass::Script::Number.new(Math.send(operation, Math::PI * number.value / 180))
|
89
|
-
else
|
90
|
-
Sass::Script::Number.new(Math.send(operation, number.value), number.numerator_units, number.denominator_units)
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::Selectors
|
2
|
-
COMMA_SEPARATOR = /\s*,\s*/
|
3
|
-
|
4
|
-
# Permute multiple selectors each of which may be comma delimited, the end result is
|
5
|
-
# a new selector that is the equivalent of nesting each under the previous selector.
|
6
|
-
# To illustrate, the following mixins are equivalent:
|
7
|
-
# =mixin-a(!selector1, !selector2, !selector3)
|
8
|
-
# #{!selector1}
|
9
|
-
# #{selector2}
|
10
|
-
# #{selector3}
|
11
|
-
# width: 2px
|
12
|
-
# =mixin-b(!selector1, !selector2)
|
13
|
-
# #{nest(!selector, !selector2, !selector3)}
|
14
|
-
# width: 2px
|
15
|
-
def nest(*arguments)
|
16
|
-
nested = arguments.map{|a| a.value}.inject do |memo,arg|
|
17
|
-
ancestors = memo.split(COMMA_SEPARATOR)
|
18
|
-
descendants = arg.split(COMMA_SEPARATOR)
|
19
|
-
ancestors.map{|a| descendants.map{|d| "#{a} #{d}"}.join(", ")}.join(", ")
|
20
|
-
end
|
21
|
-
Sass::Script::String.new(nested)
|
22
|
-
end
|
23
|
-
|
24
|
-
# Permute two selectors, the first may be comma delimited.
|
25
|
-
# The end result is a new selector that is the equivalent of nesting the second
|
26
|
-
# selector under the first one in a sass file and preceding it with an &.
|
27
|
-
# To illustrate, the following mixins are equivalent:
|
28
|
-
# =mixin-a(!selector, !to_append)
|
29
|
-
# #{!selector}
|
30
|
-
# &#{!to_append}
|
31
|
-
# width: 2px
|
32
|
-
# =mixin-b(!selector, !to_append)
|
33
|
-
# #{append_selector(!selector, !to_append)}
|
34
|
-
# width: 2px
|
35
|
-
def append_selector(selector, to_append)
|
36
|
-
ancestors = selector.value.split(COMMA_SEPARATOR)
|
37
|
-
descendants = to_append.value.split(COMMA_SEPARATOR)
|
38
|
-
nested = ancestors.map{|a| descendants.map{|d| "#{a}#{d}"}.join(", ")}.join(", ")
|
39
|
-
Sass::Script::String.new(nested)
|
40
|
-
end
|
41
|
-
|
42
|
-
# Return the header selectors for the levels indicated
|
43
|
-
# Defaults to all headers h1 through h6
|
44
|
-
# For example:
|
45
|
-
# headers(all) => h1, h2, h3, h4, h5, h6
|
46
|
-
# headers(4) => h1, h2, h3, h4
|
47
|
-
# headers(2,4) => h2, h3, h4
|
48
|
-
def headers(from = nil, to = nil)
|
49
|
-
if from && !to
|
50
|
-
if from.is_a?(Sass::Script::String) && from.value == "all"
|
51
|
-
from = Sass::Script::Number.new(1)
|
52
|
-
to = Sass::Script::Number.new(6)
|
53
|
-
else
|
54
|
-
to = from
|
55
|
-
from = Sass::Script::Number.new(1)
|
56
|
-
end
|
57
|
-
else
|
58
|
-
from ||= Sass::Script::Number.new(1)
|
59
|
-
to ||= Sass::Script::Number.new(6)
|
60
|
-
end
|
61
|
-
Sass::Script::String.new((from.value..to.value).map{|n| "h#{n}"}.join(", "))
|
62
|
-
end
|
63
|
-
alias headings headers
|
64
|
-
end
|
@@ -1,297 +0,0 @@
|
|
1
|
-
module Compass::SassExtensions::Functions::Urls
|
2
|
-
|
3
|
-
|
4
|
-
def self.has?(base, instance_method)
|
5
|
-
Sass::Util.has?(:instance_method, base, instance_method)
|
6
|
-
end
|
7
|
-
|
8
|
-
def self.included(base)
|
9
|
-
base.send(:include, StylesheetUrl) unless has?(base, :stylesheet_url)
|
10
|
-
base.send(:include, FontUrl) unless has?(base, :font_url)
|
11
|
-
base.send(:include, ImageUrl) unless has?(base, :image_url)
|
12
|
-
base.send(:include, GeneratedImageUrl) unless has?(base, :generated_image_url)
|
13
|
-
end
|
14
|
-
|
15
|
-
module StylesheetUrl
|
16
|
-
def self.included(base)
|
17
|
-
if base.respond_to?(:declare)
|
18
|
-
base.declare :stylesheet_url, [:path]
|
19
|
-
base.declare :stylesheet_url, [:path, :only_path]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
def stylesheet_url(path, only_path = Sass::Script::Bool.new(false))
|
23
|
-
# Compute the path to the stylesheet, either root relative or stylesheet relative
|
24
|
-
# or nil if the http_images_path is not set in the configuration.
|
25
|
-
http_stylesheets_path = if relative?
|
26
|
-
compute_relative_path(Compass.configuration.css_path)
|
27
|
-
elsif Compass.configuration.http_stylesheets_path
|
28
|
-
Compass.configuration.http_stylesheets_path
|
29
|
-
else
|
30
|
-
Compass.configuration.http_root_relative(Compass.configuration.css_dir)
|
31
|
-
end
|
32
|
-
|
33
|
-
path = "#{http_stylesheets_path}/#{path.value}"
|
34
|
-
if only_path.to_bool
|
35
|
-
Sass::Script::String.new(clean_path(path))
|
36
|
-
else
|
37
|
-
clean_url(path)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
module FontUrl
|
43
|
-
def self.included(base)
|
44
|
-
if base.respond_to?(:declare)
|
45
|
-
base.declare :font_url, [:path]
|
46
|
-
base.declare :font_url, [:path, :only_path]
|
47
|
-
base.declare :font_url, [:path, :only_path, :cache_buster]
|
48
|
-
end
|
49
|
-
end
|
50
|
-
def font_url(path, only_path = Sass::Script::Bool.new(false), cache_buster = Sass::Script::Bool.new(false))
|
51
|
-
path = path.value # get to the string value of the literal.
|
52
|
-
|
53
|
-
# Short curcuit if they have provided an absolute url.
|
54
|
-
if absolute_path?(path)
|
55
|
-
return Sass::Script::String.new("url(#{path})")
|
56
|
-
end
|
57
|
-
|
58
|
-
# Compute the path to the font file, either root relative or stylesheet relative
|
59
|
-
# or nil if the http_fonts_path cannot be determined from the configuration.
|
60
|
-
http_fonts_path = if relative?
|
61
|
-
compute_relative_path(Compass.configuration.fonts_path)
|
62
|
-
else
|
63
|
-
Compass.configuration.http_fonts_path
|
64
|
-
end
|
65
|
-
|
66
|
-
# Compute the real path to the font on the file system if the fonts_dir is set.
|
67
|
-
real_path = if Compass.configuration.fonts_dir
|
68
|
-
File.join(Compass.configuration.project_path, Compass.configuration.fonts_dir, path)
|
69
|
-
end
|
70
|
-
|
71
|
-
# prepend the path to the font if there's one
|
72
|
-
if http_fonts_path
|
73
|
-
http_fonts_path = "#{http_fonts_path}/" unless http_fonts_path[-1..-1] == "/"
|
74
|
-
path = "#{http_fonts_path}#{path}"
|
75
|
-
end
|
76
|
-
|
77
|
-
# Compute the asset host unless in relative mode.
|
78
|
-
asset_host = if !relative? && Compass.configuration.asset_host
|
79
|
-
Compass.configuration.asset_host.call(path)
|
80
|
-
end
|
81
|
-
|
82
|
-
# Compute and append the cache buster if there is one.
|
83
|
-
if cache_buster.to_bool
|
84
|
-
if cache_buster.is_a?(Sass::Script::String)
|
85
|
-
path += "?#{cache_buster.value}"
|
86
|
-
else
|
87
|
-
path = cache_busted_path(path, real_path)
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
# prepend the asset host if there is one.
|
92
|
-
path = "#{asset_host}#{'/' unless path[0..0] == "/"}#{path}" if asset_host
|
93
|
-
|
94
|
-
if only_path.to_bool
|
95
|
-
Sass::Script::String.new(clean_path(path))
|
96
|
-
else
|
97
|
-
clean_url(path)
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
module ImageUrl
|
103
|
-
def self.included(base)
|
104
|
-
if base.respond_to?(:declare)
|
105
|
-
base.declare :image_url, [:path]
|
106
|
-
base.declare :image_url, [:path, :only_path]
|
107
|
-
base.declare :image_url, [:path, :only_path, :cache_buster]
|
108
|
-
end
|
109
|
-
end
|
110
|
-
def image_url(path, only_path = Sass::Script::Bool.new(false), cache_buster = Sass::Script::Bool.new(true))
|
111
|
-
path = path.value # get to the string value of the literal.
|
112
|
-
|
113
|
-
if path =~ %r{^#{Regexp.escape(Compass.configuration.http_images_path)}/(.*)}
|
114
|
-
# Treat root relative urls (without a protocol) like normal if they start with
|
115
|
-
# the images path.
|
116
|
-
path = $1
|
117
|
-
elsif absolute_path?(path)
|
118
|
-
# Short curcuit if they have provided an absolute url.
|
119
|
-
return Sass::Script::String.new("url(#{path})")
|
120
|
-
end
|
121
|
-
|
122
|
-
# Compute the path to the image, either root relative or stylesheet relative
|
123
|
-
# or nil if the http_images_path is not set in the configuration.
|
124
|
-
http_images_path = if relative?
|
125
|
-
compute_relative_path(Compass.configuration.images_path)
|
126
|
-
elsif Compass.configuration.http_images_path
|
127
|
-
Compass.configuration.http_images_path
|
128
|
-
else
|
129
|
-
Compass.configuration.http_root_relative(Compass.configuration.images_dir)
|
130
|
-
end
|
131
|
-
|
132
|
-
# Compute the real path to the image on the file stystem if the images_dir is set.
|
133
|
-
real_path = if Compass.configuration.images_path
|
134
|
-
File.join(Compass.configuration.images_path, path)
|
135
|
-
else
|
136
|
-
File.join(Compass.configuration.project_path, path)
|
137
|
-
end
|
138
|
-
|
139
|
-
# prepend the path to the image if there's one
|
140
|
-
if http_images_path
|
141
|
-
http_images_path = "#{http_images_path}/" unless http_images_path[-1..-1] == "/"
|
142
|
-
path = "#{http_images_path}#{path}"
|
143
|
-
end
|
144
|
-
|
145
|
-
# Compute the asset host unless in relative mode.
|
146
|
-
asset_host = if !relative? && Compass.configuration.asset_host
|
147
|
-
Compass.configuration.asset_host.call(path)
|
148
|
-
end
|
149
|
-
|
150
|
-
# Compute and append the cache buster if there is one.
|
151
|
-
if cache_buster.to_bool
|
152
|
-
if cache_buster.is_a?(Sass::Script::String)
|
153
|
-
path += "?#{cache_buster.value}"
|
154
|
-
else
|
155
|
-
path = cache_busted_path(path, real_path)
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
# prepend the asset host if there is one.
|
160
|
-
path = "#{asset_host}#{'/' unless path[0..0] == "/"}#{path}" if asset_host
|
161
|
-
|
162
|
-
if only_path.to_bool
|
163
|
-
Sass::Script::String.new(clean_path(path))
|
164
|
-
else
|
165
|
-
clean_url(path)
|
166
|
-
end
|
167
|
-
end
|
168
|
-
end
|
169
|
-
|
170
|
-
module GeneratedImageUrl
|
171
|
-
def self.included(base)
|
172
|
-
if base.respond_to?(:declare)
|
173
|
-
base.declare :generated_image_url, [:path]
|
174
|
-
base.declare :generated_image_url, [:path, :cache_buster]
|
175
|
-
end
|
176
|
-
end
|
177
|
-
def generated_image_url(path, cache_buster = Sass::Script::Bool.new(false))
|
178
|
-
path = path.value # get to the string value of the literal.
|
179
|
-
|
180
|
-
if path =~ %r{^#{Regexp.escape(Compass.configuration.http_generated_images_path)}/(.*)}
|
181
|
-
# Treat root relative urls (without a protocol) like normal if they start with
|
182
|
-
# the generated_images path.
|
183
|
-
path = $1
|
184
|
-
elsif absolute_path?(path)
|
185
|
-
# Short curcuit if they have provided an absolute url.
|
186
|
-
return Sass::Script::String.new("url(#{path})")
|
187
|
-
end
|
188
|
-
|
189
|
-
# Compute the path to the image, either root relative or stylesheet relative
|
190
|
-
# or nil if the http_generated_images_path is not set in the configuration.
|
191
|
-
http_generated_images_path = if relative?
|
192
|
-
compute_relative_path(Compass.configuration.generated_images_path)
|
193
|
-
elsif Compass.configuration.http_generated_images_path
|
194
|
-
Compass.configuration.http_generated_images_path
|
195
|
-
else
|
196
|
-
Compass.configuration.http_root_relative(Compass.configuration.generated_images_dir)
|
197
|
-
end
|
198
|
-
|
199
|
-
# Compute the real path to the image on the file stystem if the generated_images_dir is set.
|
200
|
-
real_path = if Compass.configuration.images_path
|
201
|
-
File.join(Compass.configuration.images_path, path)
|
202
|
-
else
|
203
|
-
File.join(Compass.configuration.project_path, path)
|
204
|
-
end
|
205
|
-
|
206
|
-
# prepend the path to the image if there's one
|
207
|
-
if http_generated_images_path
|
208
|
-
http_generated_images_path = "#{http_generated_images_path}/" unless http_generated_images_path[-1..-1] == "/"
|
209
|
-
path = "#{http_generated_images_path}#{path}"
|
210
|
-
end
|
211
|
-
|
212
|
-
# Compute the asset host unless in relative mode.
|
213
|
-
asset_host = if !relative? && Compass.configuration.asset_host
|
214
|
-
Compass.configuration.asset_host.call(path)
|
215
|
-
end
|
216
|
-
|
217
|
-
# Compute and append the cache buster if there is one.
|
218
|
-
if cache_buster.to_bool
|
219
|
-
if cache_buster.is_a?(Sass::Script::String)
|
220
|
-
path += "?#{cache_buster.value}"
|
221
|
-
else
|
222
|
-
path = cache_busted_path(path, real_path)
|
223
|
-
end
|
224
|
-
end
|
225
|
-
|
226
|
-
# prepend the asset host if there is one.
|
227
|
-
path = "#{asset_host}#{'/' unless path[0..0] == "/"}#{path}" if asset_host
|
228
|
-
|
229
|
-
clean_url(path)
|
230
|
-
end
|
231
|
-
end
|
232
|
-
|
233
|
-
private
|
234
|
-
|
235
|
-
# Emits a path, taking off any leading "./"
|
236
|
-
def clean_path(url)
|
237
|
-
url = url.to_s
|
238
|
-
url = url[0..1] == "./" ? url[2..-1] : url
|
239
|
-
end
|
240
|
-
|
241
|
-
# Emits a url, taking off any leading "./"
|
242
|
-
def clean_url(url)
|
243
|
-
Sass::Script::String.new("url('#{clean_path(url)}')")
|
244
|
-
end
|
245
|
-
|
246
|
-
def relative?
|
247
|
-
Compass.configuration.relative_assets?
|
248
|
-
end
|
249
|
-
|
250
|
-
def absolute_path?(path)
|
251
|
-
path[0..0] == "/" || path[0..3] == "http"
|
252
|
-
end
|
253
|
-
|
254
|
-
def compute_relative_path(path)
|
255
|
-
if (target_css_file = options[:css_filename])
|
256
|
-
Pathname.new(path).relative_path_from(Pathname.new(File.dirname(target_css_file))).to_s
|
257
|
-
end
|
258
|
-
end
|
259
|
-
|
260
|
-
def cache_busted_path(path, real_path)
|
261
|
-
cache_buster = compute_cache_buster(path, real_path)
|
262
|
-
if cache_buster.nil?
|
263
|
-
return path
|
264
|
-
elsif cache_buster.is_a?(String)
|
265
|
-
cache_buster = {:query => cache_buster}
|
266
|
-
else
|
267
|
-
path = cache_buster[:path] if cache_buster[:path]
|
268
|
-
end
|
269
|
-
|
270
|
-
if cache_buster[:query]
|
271
|
-
"%s?%s" % [path, cache_buster[:query]]
|
272
|
-
else
|
273
|
-
path
|
274
|
-
end
|
275
|
-
end
|
276
|
-
|
277
|
-
def compute_cache_buster(path, real_path)
|
278
|
-
if Compass.configuration.asset_cache_buster
|
279
|
-
args = [path]
|
280
|
-
if Compass.configuration.asset_cache_buster.arity > 1
|
281
|
-
args << (File.new(real_path) if real_path)
|
282
|
-
end
|
283
|
-
Compass.configuration.asset_cache_buster.call(*args)
|
284
|
-
elsif real_path
|
285
|
-
default_cache_buster(path, real_path)
|
286
|
-
end
|
287
|
-
end
|
288
|
-
|
289
|
-
def default_cache_buster(path, real_path)
|
290
|
-
if File.readable?(real_path)
|
291
|
-
File.mtime(real_path).to_i.to_s
|
292
|
-
else
|
293
|
-
$stderr.puts "WARNING: '#{File.basename(path)}' was not found (or cannot be read) in #{File.dirname(real_path)}"
|
294
|
-
end
|
295
|
-
end
|
296
|
-
|
297
|
-
end
|