compass 0.13.alpha.12 → 1.0.0.alpha.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (538) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +61 -89
  3. data/VERSION +1 -0
  4. data/features/command_line.feature +1 -1
  5. data/features/step_definitions/command_line_steps.rb +0 -2
  6. data/lib/compass.rb +21 -2
  7. data/lib/compass/commands.rb +2 -0
  8. data/lib/compass/commands/print_version.rb +1 -12
  9. data/lib/compass/compiler.rb +1 -0
  10. data/lib/compass/configuration/adapters.rb +3 -0
  11. data/lib/compass/configuration/comments.rb +4 -1
  12. data/lib/compass/configuration/helpers.rb +1 -58
  13. data/lib/compass/configuration/serialization.rb +3 -0
  14. data/lib/compass/errors.rb +1 -3
  15. data/lib/compass/frameworks.rb +26 -4
  16. data/lib/compass/sass_extensions.rb +0 -1
  17. data/lib/compass/sass_extensions/functions.rb +2 -26
  18. data/lib/compass/sass_extensions/functions/sprites.rb +23 -23
  19. data/lib/compass/sass_extensions/sprites/image.rb +24 -29
  20. data/lib/compass/sprite_importer/content.erb +1 -1
  21. data/lib/compass/util.rb +1 -1
  22. data/lib/compass/version.rb +18 -35
  23. data/test/fixtures/stylesheets/compass/css/fonts.css +2 -2
  24. data/test/fixtures/stylesheets/envtest/tmp/env.css +2 -2
  25. data/test/fixtures/stylesheets/valid/css/another_simple.css +4 -0
  26. data/test/fixtures/stylesheets/valid/css/simple.css +4 -0
  27. data/test/integrations/sprites_test.rb +86 -79
  28. data/test/test_helper.rb +7 -5
  29. data/test/units/caniuse_test.rb +4 -4
  30. data/test/units/command_line_test.rb +5 -4
  31. data/test/units/configuration_test.rb +35 -2
  32. data/test/units/sass_extensions_test.rb +2 -2
  33. data/test/units/sass_extenstions/gradients_test.rb +3 -3
  34. data/test/units/sprites/sprite_map_test.rb +5 -2
  35. metadata +21 -506
  36. data/README.markdown +0 -30
  37. data/VERSION.yml +0 -6
  38. data/data/caniuse.json +0 -1
  39. data/data/caniuse_extras/css-placeholder.json +0 -171
  40. data/examples/README.markdown +0 -4
  41. data/examples/blueprint_default/config.rb +0 -7
  42. data/examples/blueprint_default/images/grid.png +0 -0
  43. data/examples/blueprint_default/index.html.haml +0 -85
  44. data/examples/blueprint_default/parts/elements.html.haml +0 -282
  45. data/examples/blueprint_default/parts/forms.html.haml +0 -200
  46. data/examples/blueprint_default/parts/grid.html.haml +0 -274
  47. data/examples/blueprint_default/parts/test-small.jpg +0 -0
  48. data/examples/blueprint_default/parts/test.jpg +0 -0
  49. data/examples/blueprint_default/parts/valid.png +0 -0
  50. data/examples/blueprint_default/src/ie.scss +0 -3
  51. data/examples/blueprint_default/src/images/grid.png +0 -0
  52. data/examples/blueprint_default/src/print.scss +0 -3
  53. data/examples/blueprint_default/src/screen.scss +0 -9
  54. data/examples/blueprint_plugins/config.rb +0 -8
  55. data/examples/blueprint_plugins/images/buttons/cross.png +0 -0
  56. data/examples/blueprint_plugins/images/buttons/key.png +0 -0
  57. data/examples/blueprint_plugins/images/buttons/tick.png +0 -0
  58. data/examples/blueprint_plugins/images/grid.png +0 -0
  59. data/examples/blueprint_plugins/images/link_icons/doc.png +0 -0
  60. data/examples/blueprint_plugins/images/link_icons/email.png +0 -0
  61. data/examples/blueprint_plugins/images/link_icons/external.png +0 -0
  62. data/examples/blueprint_plugins/images/link_icons/feed.png +0 -0
  63. data/examples/blueprint_plugins/images/link_icons/im.png +0 -0
  64. data/examples/blueprint_plugins/images/link_icons/pdf.png +0 -0
  65. data/examples/blueprint_plugins/images/link_icons/visited.png +0 -0
  66. data/examples/blueprint_plugins/images/link_icons/xls.png +0 -0
  67. data/examples/blueprint_plugins/images/test-small.jpg +0 -0
  68. data/examples/blueprint_plugins/images/test.jpg +0 -0
  69. data/examples/blueprint_plugins/images/valid.png +0 -0
  70. data/examples/blueprint_plugins/index.html.haml +0 -96
  71. data/examples/blueprint_plugins/plugins/buttons.html.haml +0 -67
  72. data/examples/blueprint_plugins/plugins/fancy_type.html.haml +0 -100
  73. data/examples/blueprint_plugins/plugins/link_icons.html.haml +0 -61
  74. data/examples/blueprint_plugins/plugins/rtl.html.haml +0 -100
  75. data/examples/blueprint_plugins/src/buttons.scss +0 -47
  76. data/examples/blueprint_plugins/src/ie.scss +0 -3
  77. data/examples/blueprint_plugins/src/images/grid.png +0 -0
  78. data/examples/blueprint_plugins/src/link_icons.scss +0 -13
  79. data/examples/blueprint_plugins/src/print.scss +0 -3
  80. data/examples/blueprint_plugins/src/rtl_screen.scss +0 -15
  81. data/examples/blueprint_plugins/src/screen.scss +0 -12
  82. data/examples/blueprint_scoped/images/grid.png +0 -0
  83. data/examples/blueprint_scoped/src/ie.scss +0 -4
  84. data/examples/blueprint_scoped/src/print.scss +0 -4
  85. data/examples/blueprint_scoped/src/screen.scss +0 -5
  86. data/examples/blueprint_scoped_form/images/grid.png +0 -0
  87. data/examples/blueprint_scoped_form/src/ie.scss +0 -3
  88. data/examples/blueprint_scoped_form/src/print.scss +0 -3
  89. data/examples/blueprint_scoped_form/src/screen.scss +0 -15
  90. data/examples/blueprint_semantic/config.rb +0 -7
  91. data/examples/blueprint_semantic/images/grid.png +0 -0
  92. data/examples/blueprint_semantic/index.html.haml +0 -86
  93. data/examples/blueprint_semantic/parts/fancy_type.html.haml +0 -100
  94. data/examples/blueprint_semantic/parts/liquid.html.haml +0 -100
  95. data/examples/blueprint_semantic/parts/test-small.jpg +0 -0
  96. data/examples/blueprint_semantic/parts/test.jpg +0 -0
  97. data/examples/blueprint_semantic/parts/valid.png +0 -0
  98. data/examples/blueprint_semantic/src/ie.scss +0 -3
  99. data/examples/blueprint_semantic/src/images/grid.png +0 -0
  100. data/examples/blueprint_semantic/src/liquid.scss +0 -69
  101. data/examples/blueprint_semantic/src/print.scss +0 -3
  102. data/examples/blueprint_semantic/src/screen.scss +0 -69
  103. data/examples/compass/bootstrap.rb +0 -4
  104. data/examples/compass/clean.rb +0 -2
  105. data/examples/compass/compass.html.haml +0 -39
  106. data/examples/compass/config.rb +0 -8
  107. data/examples/compass/headers.txt +0 -7
  108. data/examples/compass/images/blue_arrow.gif +0 -0
  109. data/examples/compass/images/border2.png +0 -0
  110. data/examples/compass/images/emblem/favorite.png +0 -0
  111. data/examples/compass/images/emblem/important.png +0 -0
  112. data/examples/compass/images/emblem/photos.png +0 -0
  113. data/examples/compass/images/emblem/readonly.png +0 -0
  114. data/examples/compass/images/emblem/symbolic-link.png +0 -0
  115. data/examples/compass/images/emblem/system.png +0 -0
  116. data/examples/compass/images/emblem/unreadable.png +0 -0
  117. data/examples/compass/images/flag/ad.png +0 -0
  118. data/examples/compass/images/flag/ae.png +0 -0
  119. data/examples/compass/images/flag/af.png +0 -0
  120. data/examples/compass/images/flag/ag.png +0 -0
  121. data/examples/compass/images/flag/ai.png +0 -0
  122. data/examples/compass/images/flag/al.png +0 -0
  123. data/examples/compass/images/flag/am.png +0 -0
  124. data/examples/compass/images/flag/an.png +0 -0
  125. data/examples/compass/images/flag/ao.png +0 -0
  126. data/examples/compass/images/flag/ar.png +0 -0
  127. data/examples/compass/images/flag/as.png +0 -0
  128. data/examples/compass/images/flag/at.png +0 -0
  129. data/examples/compass/images/flag/au.png +0 -0
  130. data/examples/compass/images/flag/aw.png +0 -0
  131. data/examples/compass/images/flag/ax.png +0 -0
  132. data/examples/compass/images/flag/az.png +0 -0
  133. data/examples/compass/images/flag/ba.png +0 -0
  134. data/examples/compass/images/flag/bb.png +0 -0
  135. data/examples/compass/images/flag/bd.png +0 -0
  136. data/examples/compass/images/flag/be.png +0 -0
  137. data/examples/compass/images/flag/bf.png +0 -0
  138. data/examples/compass/images/flag/bg.png +0 -0
  139. data/examples/compass/images/flag/bh.png +0 -0
  140. data/examples/compass/images/flag/bi.png +0 -0
  141. data/examples/compass/images/flag/bj.png +0 -0
  142. data/examples/compass/images/flag/bm.png +0 -0
  143. data/examples/compass/images/flag/bn.png +0 -0
  144. data/examples/compass/images/flag/bo.png +0 -0
  145. data/examples/compass/images/flag/br.png +0 -0
  146. data/examples/compass/images/flag/bs.png +0 -0
  147. data/examples/compass/images/flag/bt.png +0 -0
  148. data/examples/compass/images/flag/bv.png +0 -0
  149. data/examples/compass/images/flag/bw.png +0 -0
  150. data/examples/compass/images/flag/by.png +0 -0
  151. data/examples/compass/images/flag/bz.png +0 -0
  152. data/examples/compass/images/flag/ca.png +0 -0
  153. data/examples/compass/images/flag/catalonia.png +0 -0
  154. data/examples/compass/images/flag/cc.png +0 -0
  155. data/examples/compass/images/flag/cd.png +0 -0
  156. data/examples/compass/images/flag/cf.png +0 -0
  157. data/examples/compass/images/flag/cg.png +0 -0
  158. data/examples/compass/images/flag/ch.png +0 -0
  159. data/examples/compass/images/flag/ci.png +0 -0
  160. data/examples/compass/images/flag/ck.png +0 -0
  161. data/examples/compass/images/flag/cl.png +0 -0
  162. data/examples/compass/images/flag/cm.png +0 -0
  163. data/examples/compass/images/flag/cn.png +0 -0
  164. data/examples/compass/images/flag/co.png +0 -0
  165. data/examples/compass/images/flag/cr.png +0 -0
  166. data/examples/compass/images/flag/cs.png +0 -0
  167. data/examples/compass/images/flag/cu.png +0 -0
  168. data/examples/compass/images/flag/cv.png +0 -0
  169. data/examples/compass/images/flag/cx.png +0 -0
  170. data/examples/compass/images/flag/cy.png +0 -0
  171. data/examples/compass/images/flag/cz.png +0 -0
  172. data/examples/compass/images/flag/de.png +0 -0
  173. data/examples/compass/images/flag/dj.png +0 -0
  174. data/examples/compass/images/flag/dk.png +0 -0
  175. data/examples/compass/images/flag/dm.png +0 -0
  176. data/examples/compass/images/flag/do.png +0 -0
  177. data/examples/compass/images/flag/dz.png +0 -0
  178. data/examples/compass/images/flag/ec.png +0 -0
  179. data/examples/compass/images/flag/ee.png +0 -0
  180. data/examples/compass/images/flag/eg.png +0 -0
  181. data/examples/compass/images/flag/eh.png +0 -0
  182. data/examples/compass/images/flag/england.png +0 -0
  183. data/examples/compass/images/flag/er.png +0 -0
  184. data/examples/compass/images/flag/es.png +0 -0
  185. data/examples/compass/images/flag/et.png +0 -0
  186. data/examples/compass/images/flag/europeanunion.png +0 -0
  187. data/examples/compass/images/flag/fam.png +0 -0
  188. data/examples/compass/images/flag/fi.png +0 -0
  189. data/examples/compass/images/flag/fj.png +0 -0
  190. data/examples/compass/images/flag/fk.png +0 -0
  191. data/examples/compass/images/flag/fm.png +0 -0
  192. data/examples/compass/images/flag/fo.png +0 -0
  193. data/examples/compass/images/flag/fr.png +0 -0
  194. data/examples/compass/images/flag/ga.png +0 -0
  195. data/examples/compass/images/flag/gb.png +0 -0
  196. data/examples/compass/images/flag/gd.png +0 -0
  197. data/examples/compass/images/flag/ge.png +0 -0
  198. data/examples/compass/images/flag/gf.png +0 -0
  199. data/examples/compass/images/flag/gh.png +0 -0
  200. data/examples/compass/images/flag/gi.png +0 -0
  201. data/examples/compass/images/flag/gl.png +0 -0
  202. data/examples/compass/images/flag/gm.png +0 -0
  203. data/examples/compass/images/flag/gn.png +0 -0
  204. data/examples/compass/images/flag/gp.png +0 -0
  205. data/examples/compass/images/flag/gq.png +0 -0
  206. data/examples/compass/images/flag/gr.png +0 -0
  207. data/examples/compass/images/flag/gs.png +0 -0
  208. data/examples/compass/images/flag/gt.png +0 -0
  209. data/examples/compass/images/flag/gu.png +0 -0
  210. data/examples/compass/images/flag/gw.png +0 -0
  211. data/examples/compass/images/flag/gy.png +0 -0
  212. data/examples/compass/images/flag/hk.png +0 -0
  213. data/examples/compass/images/flag/hm.png +0 -0
  214. data/examples/compass/images/flag/hn.png +0 -0
  215. data/examples/compass/images/flag/hr.png +0 -0
  216. data/examples/compass/images/flag/ht.png +0 -0
  217. data/examples/compass/images/flag/hu.png +0 -0
  218. data/examples/compass/images/flag/id-2.png +0 -0
  219. data/examples/compass/images/flag/ie.png +0 -0
  220. data/examples/compass/images/flag/il.png +0 -0
  221. data/examples/compass/images/flag/in.png +0 -0
  222. data/examples/compass/images/flag/io.png +0 -0
  223. data/examples/compass/images/flag/iq.png +0 -0
  224. data/examples/compass/images/flag/ir.png +0 -0
  225. data/examples/compass/images/flag/is.png +0 -0
  226. data/examples/compass/images/flag/it.png +0 -0
  227. data/examples/compass/images/flag/jm.png +0 -0
  228. data/examples/compass/images/flag/jo.png +0 -0
  229. data/examples/compass/images/flag/jp.png +0 -0
  230. data/examples/compass/images/flag/ke.png +0 -0
  231. data/examples/compass/images/flag/kg.png +0 -0
  232. data/examples/compass/images/flag/kh.png +0 -0
  233. data/examples/compass/images/flag/ki.png +0 -0
  234. data/examples/compass/images/flag/km.png +0 -0
  235. data/examples/compass/images/flag/kn.png +0 -0
  236. data/examples/compass/images/flag/kp.png +0 -0
  237. data/examples/compass/images/flag/kr.png +0 -0
  238. data/examples/compass/images/flag/kw.png +0 -0
  239. data/examples/compass/images/flag/ky.png +0 -0
  240. data/examples/compass/images/flag/kz.png +0 -0
  241. data/examples/compass/images/flag/la.png +0 -0
  242. data/examples/compass/images/flag/lb.png +0 -0
  243. data/examples/compass/images/flag/lc.png +0 -0
  244. data/examples/compass/images/flag/li.png +0 -0
  245. data/examples/compass/images/flag/lk.png +0 -0
  246. data/examples/compass/images/flag/lr.png +0 -0
  247. data/examples/compass/images/flag/ls.png +0 -0
  248. data/examples/compass/images/flag/lt.png +0 -0
  249. data/examples/compass/images/flag/lu.png +0 -0
  250. data/examples/compass/images/flag/lv.png +0 -0
  251. data/examples/compass/images/flag/ly.png +0 -0
  252. data/examples/compass/images/flag/ma.png +0 -0
  253. data/examples/compass/images/flag/mc.png +0 -0
  254. data/examples/compass/images/flag/md.png +0 -0
  255. data/examples/compass/images/flag/me.png +0 -0
  256. data/examples/compass/images/flag/mg.png +0 -0
  257. data/examples/compass/images/flag/mh.png +0 -0
  258. data/examples/compass/images/flag/mk.png +0 -0
  259. data/examples/compass/images/flag/ml.png +0 -0
  260. data/examples/compass/images/flag/mm.png +0 -0
  261. data/examples/compass/images/flag/mn.png +0 -0
  262. data/examples/compass/images/flag/mo.png +0 -0
  263. data/examples/compass/images/flag/mp.png +0 -0
  264. data/examples/compass/images/flag/mq.png +0 -0
  265. data/examples/compass/images/flag/mr.png +0 -0
  266. data/examples/compass/images/flag/ms.png +0 -0
  267. data/examples/compass/images/flag/mt.png +0 -0
  268. data/examples/compass/images/flag/mu.png +0 -0
  269. data/examples/compass/images/flag/mv.png +0 -0
  270. data/examples/compass/images/flag/mw.png +0 -0
  271. data/examples/compass/images/flag/mx.png +0 -0
  272. data/examples/compass/images/flag/my.png +0 -0
  273. data/examples/compass/images/flag/mz.png +0 -0
  274. data/examples/compass/images/flag/na.png +0 -0
  275. data/examples/compass/images/flag/nc.png +0 -0
  276. data/examples/compass/images/flag/ne.png +0 -0
  277. data/examples/compass/images/flag/nf.png +0 -0
  278. data/examples/compass/images/flag/ng.png +0 -0
  279. data/examples/compass/images/flag/ni.png +0 -0
  280. data/examples/compass/images/flag/nl.png +0 -0
  281. data/examples/compass/images/flag/no.png +0 -0
  282. data/examples/compass/images/flag/np.png +0 -0
  283. data/examples/compass/images/flag/nr.png +0 -0
  284. data/examples/compass/images/flag/nu.png +0 -0
  285. data/examples/compass/images/flag/nz.png +0 -0
  286. data/examples/compass/images/flag/om.png +0 -0
  287. data/examples/compass/images/flag/pa.png +0 -0
  288. data/examples/compass/images/flag/pe.png +0 -0
  289. data/examples/compass/images/flag/pf.png +0 -0
  290. data/examples/compass/images/flag/pg.png +0 -0
  291. data/examples/compass/images/flag/ph.png +0 -0
  292. data/examples/compass/images/flag/pk.png +0 -0
  293. data/examples/compass/images/flag/pl.png +0 -0
  294. data/examples/compass/images/flag/pm.png +0 -0
  295. data/examples/compass/images/flag/pn.png +0 -0
  296. data/examples/compass/images/flag/pr.png +0 -0
  297. data/examples/compass/images/flag/ps.png +0 -0
  298. data/examples/compass/images/flag/pt.png +0 -0
  299. data/examples/compass/images/flag/pw.png +0 -0
  300. data/examples/compass/images/flag/py.png +0 -0
  301. data/examples/compass/images/flag/qa.png +0 -0
  302. data/examples/compass/images/flag/re.png +0 -0
  303. data/examples/compass/images/flag/ro.png +0 -0
  304. data/examples/compass/images/flag/rs.png +0 -0
  305. data/examples/compass/images/flag/ru.png +0 -0
  306. data/examples/compass/images/flag/rw.png +0 -0
  307. data/examples/compass/images/flag/sa.png +0 -0
  308. data/examples/compass/images/flag/sb.png +0 -0
  309. data/examples/compass/images/flag/sc.png +0 -0
  310. data/examples/compass/images/flag/scotland.png +0 -0
  311. data/examples/compass/images/flag/sd.png +0 -0
  312. data/examples/compass/images/flag/se.png +0 -0
  313. data/examples/compass/images/flag/sg.png +0 -0
  314. data/examples/compass/images/flag/sh.png +0 -0
  315. data/examples/compass/images/flag/si.png +0 -0
  316. data/examples/compass/images/flag/sj.png +0 -0
  317. data/examples/compass/images/flag/sk.png +0 -0
  318. data/examples/compass/images/flag/sl.png +0 -0
  319. data/examples/compass/images/flag/sm.png +0 -0
  320. data/examples/compass/images/flag/sn.png +0 -0
  321. data/examples/compass/images/flag/so.png +0 -0
  322. data/examples/compass/images/flag/sr.png +0 -0
  323. data/examples/compass/images/flag/st.png +0 -0
  324. data/examples/compass/images/flag/sv.png +0 -0
  325. data/examples/compass/images/flag/sy.png +0 -0
  326. data/examples/compass/images/flag/sz.png +0 -0
  327. data/examples/compass/images/flag/tc.png +0 -0
  328. data/examples/compass/images/flag/td.png +0 -0
  329. data/examples/compass/images/flag/tf.png +0 -0
  330. data/examples/compass/images/flag/tg.png +0 -0
  331. data/examples/compass/images/flag/th.png +0 -0
  332. data/examples/compass/images/flag/tj.png +0 -0
  333. data/examples/compass/images/flag/tk.png +0 -0
  334. data/examples/compass/images/flag/tl.png +0 -0
  335. data/examples/compass/images/flag/tm.png +0 -0
  336. data/examples/compass/images/flag/tn.png +0 -0
  337. data/examples/compass/images/flag/to.png +0 -0
  338. data/examples/compass/images/flag/tr.png +0 -0
  339. data/examples/compass/images/flag/tt.png +0 -0
  340. data/examples/compass/images/flag/tv.png +0 -0
  341. data/examples/compass/images/flag/tw.png +0 -0
  342. data/examples/compass/images/flag/tz.png +0 -0
  343. data/examples/compass/images/flag/ua.png +0 -0
  344. data/examples/compass/images/flag/ug.png +0 -0
  345. data/examples/compass/images/flag/um.png +0 -0
  346. data/examples/compass/images/flag/us.png +0 -0
  347. data/examples/compass/images/flag/uy.png +0 -0
  348. data/examples/compass/images/flag/uz.png +0 -0
  349. data/examples/compass/images/flag/va.png +0 -0
  350. data/examples/compass/images/flag/vc.png +0 -0
  351. data/examples/compass/images/flag/ve.png +0 -0
  352. data/examples/compass/images/flag/vg.png +0 -0
  353. data/examples/compass/images/flag/vi.png +0 -0
  354. data/examples/compass/images/flag/vn.png +0 -0
  355. data/examples/compass/images/flag/vu.png +0 -0
  356. data/examples/compass/images/flag/wales.png +0 -0
  357. data/examples/compass/images/flag/wf.png +0 -0
  358. data/examples/compass/images/flag/ws.png +0 -0
  359. data/examples/compass/images/flag/ye.png +0 -0
  360. data/examples/compass/images/flag/yt.png +0 -0
  361. data/examples/compass/images/flag/za.png +0 -0
  362. data/examples/compass/images/flag/zm.png +0 -0
  363. data/examples/compass/images/flag/zw.png +0 -0
  364. data/examples/compass/images/icon-chrome.png +0 -0
  365. data/examples/compass/images/icon-firefox.png +0 -0
  366. data/examples/compass/images/icon-ie.png +0 -0
  367. data/examples/compass/images/icon-opera.png +0 -0
  368. data/examples/compass/images/icon-safari.png +0 -0
  369. data/examples/compass/pie.html.haml +0 -73
  370. data/examples/compass/sprites.html.haml +0 -37
  371. data/examples/compass/src/bp_layout.scss +0 -18
  372. data/examples/compass/src/compass.scss +0 -46
  373. data/examples/compass/src/images/blue_arrow.gif +0 -0
  374. data/examples/compass/src/sprites.scss +0 -25
  375. data/examples/compass/src/sticky_footer.scss +0 -11
  376. data/examples/compass/src/utilities.scss +0 -108
  377. data/examples/compass/sticky_footer.html.haml +0 -14
  378. data/examples/compass/utilities.html.haml +0 -189
  379. data/examples/css3/bootstrap.rb +0 -3
  380. data/examples/css3/clean.rb +0 -2
  381. data/examples/css3/config.rb +0 -6
  382. data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +0 -10
  383. data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +0 -6
  384. data/examples/css3/gradients.html.haml +0 -68
  385. data/examples/css3/images/button_bg.png +0 -0
  386. data/examples/css3/images/example.png +0 -0
  387. data/examples/css3/index.html.haml +0 -57
  388. data/examples/css3/src/_base.scss +0 -13
  389. data/examples/css3/src/fancy-fonts.scss +0 -13
  390. data/examples/css3/src/gradients.scss +0 -86
  391. data/examples/css3/src/main.scss +0 -108
  392. data/examples/downloader.rb +0 -58
  393. data/examples/ninesixty/bootstrap.rb +0 -4
  394. data/examples/ninesixty/clean.rb +0 -2
  395. data/examples/ninesixty/config.rb +0 -10
  396. data/examples/ninesixty/src/grid.scss +0 -15
  397. data/examples/ninesixty/src/text.scss +0 -8
  398. data/examples/susy/bootstrap.rb +0 -3
  399. data/examples/susy/clean.rb +0 -2
  400. data/examples/susy/config.rb +0 -10
  401. data/examples/susy/src/_base.scss +0 -61
  402. data/examples/susy/src/_defaults.scss +0 -140
  403. data/examples/susy/src/screen.scss +0 -100
  404. data/examples/yui/bootstrap.rb +0 -3
  405. data/examples/yui/clean.rb +0 -2
  406. data/examples/yui/config.rb +0 -1
  407. data/examples/yui/divisions.html.haml +0 -179
  408. data/examples/yui/index.html.haml +0 -19
  409. data/examples/yui/src/screen.scss +0 -13
  410. data/examples/yui/sub_divisions.html.haml +0 -169
  411. data/examples/yui/templates.html.haml +0 -54
  412. data/examples/yui/test.jpg +0 -0
  413. data/examples/yui/typography.html.haml +0 -132
  414. data/frameworks/compass/stylesheets/_compass.scss +0 -3
  415. data/frameworks/compass/stylesheets/_lemonade.scss +0 -38
  416. data/frameworks/compass/stylesheets/compass/_css3.scss +0 -21
  417. data/frameworks/compass/stylesheets/compass/_layout.scss +0 -3
  418. data/frameworks/compass/stylesheets/compass/_reset-legacy.scss +0 -3
  419. data/frameworks/compass/stylesheets/compass/_reset.scss +0 -3
  420. data/frameworks/compass/stylesheets/compass/_support.scss +0 -432
  421. data/frameworks/compass/stylesheets/compass/_typography.scss +0 -4
  422. data/frameworks/compass/stylesheets/compass/_utilities.scss +0 -9
  423. data/frameworks/compass/stylesheets/compass/css3/_animation.scss +0 -122
  424. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +0 -17
  425. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +0 -35
  426. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +0 -37
  427. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +0 -19
  428. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +0 -107
  429. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +0 -88
  430. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +0 -15
  431. data/frameworks/compass/stylesheets/compass/css3/_box.scss +0 -85
  432. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +0 -210
  433. data/frameworks/compass/stylesheets/compass/css3/_deprecated-support.scss +0 -272
  434. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +0 -50
  435. data/frameworks/compass/stylesheets/compass/css3/_flexbox.scss +0 -156
  436. data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +0 -48
  437. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +0 -71
  438. data/frameworks/compass/stylesheets/compass/css3/_images.scss +0 -139
  439. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +0 -31
  440. data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +0 -23
  441. data/frameworks/compass/stylesheets/compass/css3/_pie.scss +0 -1
  442. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +0 -27
  443. data/frameworks/compass/stylesheets/compass/css3/_selection.scss +0 -59
  444. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +0 -5
  445. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +0 -82
  446. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +0 -590
  447. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +0 -171
  448. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +0 -71
  449. data/frameworks/compass/stylesheets/compass/layout/_grid-background.scss +0 -178
  450. data/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +0 -23
  451. data/frameworks/compass/stylesheets/compass/layout/_stretching.scss +0 -24
  452. data/frameworks/compass/stylesheets/compass/reset/_utilities-legacy.scss +0 -135
  453. data/frameworks/compass/stylesheets/compass/reset/_utilities.scss +0 -142
  454. data/frameworks/compass/stylesheets/compass/typography/_links.scss +0 -3
  455. data/frameworks/compass/stylesheets/compass/typography/_lists.scss +0 -4
  456. data/frameworks/compass/stylesheets/compass/typography/_text.scss +0 -4
  457. data/frameworks/compass/stylesheets/compass/typography/_units.scss +0 -152
  458. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +0 -300
  459. data/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss +0 -5
  460. data/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss +0 -28
  461. data/frameworks/compass/stylesheets/compass/typography/links/_unstyled-link.scss +0 -7
  462. data/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss +0 -34
  463. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +0 -63
  464. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-block-list.scss +0 -50
  465. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +0 -47
  466. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +0 -25
  467. data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +0 -12
  468. data/frameworks/compass/stylesheets/compass/typography/text/_nowrap.scss +0 -2
  469. data/frameworks/compass/stylesheets/compass/typography/text/_replacement.scss +0 -68
  470. data/frameworks/compass/stylesheets/compass/utilities/_color.scss +0 -1
  471. data/frameworks/compass/stylesheets/compass/utilities/_general.scss +0 -6
  472. data/frameworks/compass/stylesheets/compass/utilities/_links.scss +0 -5
  473. data/frameworks/compass/stylesheets/compass/utilities/_lists.scss +0 -6
  474. data/frameworks/compass/stylesheets/compass/utilities/_print.scss +0 -17
  475. data/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +0 -2
  476. data/frameworks/compass/stylesheets/compass/utilities/_tables.scss +0 -3
  477. data/frameworks/compass/stylesheets/compass/utilities/_text.scss +0 -5
  478. data/frameworks/compass/stylesheets/compass/utilities/color/_brightness.scss +0 -12
  479. data/frameworks/compass/stylesheets/compass/utilities/color/_contrast.scss +0 -52
  480. data/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +0 -44
  481. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +0 -38
  482. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +0 -65
  483. data/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +0 -16
  484. data/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +0 -2
  485. data/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +0 -1
  486. data/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +0 -18
  487. data/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +0 -3
  488. data/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +0 -3
  489. data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +0 -3
  490. data/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +0 -3
  491. data/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +0 -3
  492. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +0 -3
  493. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +0 -3
  494. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +0 -92
  495. data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +0 -81
  496. data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +0 -22
  497. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +0 -38
  498. data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +0 -9
  499. data/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +0 -3
  500. data/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +0 -3
  501. data/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +0 -3
  502. data/frameworks/compass/templates/ellipsis/ellipsis.sass +0 -9
  503. data/frameworks/compass/templates/ellipsis/manifest.rb +0 -27
  504. data/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +0 -14
  505. data/frameworks/compass/templates/extension/manifest.rb +0 -26
  506. data/frameworks/compass/templates/extension/stylesheets/main.sass +0 -1
  507. data/frameworks/compass/templates/extension/templates/project/manifest.rb +0 -2
  508. data/frameworks/compass/templates/extension/templates/project/screen.sass +0 -2
  509. data/frameworks/compass/templates/project/USAGE.markdown +0 -32
  510. data/frameworks/compass/templates/project/ie.sass +0 -6
  511. data/frameworks/compass/templates/project/manifest.rb +0 -4
  512. data/frameworks/compass/templates/project/print.sass +0 -6
  513. data/frameworks/compass/templates/project/screen.sass +0 -7
  514. data/lib/compass/browser_support.rb +0 -62
  515. data/lib/compass/caniuse.rb +0 -283
  516. data/lib/compass/configuration.rb +0 -91
  517. data/lib/compass/configuration/data.rb +0 -193
  518. data/lib/compass/configuration/defaults.rb +0 -187
  519. data/lib/compass/configuration/inheritance.rb +0 -304
  520. data/lib/compass/configuration/paths.rb +0 -19
  521. data/lib/compass/exec/switch_ui.rb +0 -179
  522. data/lib/compass/sass_extensions/functions/colors.rb +0 -67
  523. data/lib/compass/sass_extensions/functions/constants.rb +0 -74
  524. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +0 -269
  525. data/lib/compass/sass_extensions/functions/display.rb +0 -32
  526. data/lib/compass/sass_extensions/functions/enumerate.rb +0 -7
  527. data/lib/compass/sass_extensions/functions/env.rb +0 -59
  528. data/lib/compass/sass_extensions/functions/font_files.rb +0 -41
  529. data/lib/compass/sass_extensions/functions/gradient_support.rb +0 -611
  530. data/lib/compass/sass_extensions/functions/image_size.rb +0 -114
  531. data/lib/compass/sass_extensions/functions/inline_image.rb +0 -64
  532. data/lib/compass/sass_extensions/functions/lists.rb +0 -101
  533. data/lib/compass/sass_extensions/functions/math.rb +0 -93
  534. data/lib/compass/sass_extensions/functions/selectors.rb +0 -64
  535. data/lib/compass/sass_extensions/functions/urls.rb +0 -297
  536. data/lib/compass/sass_extensions/monkey_patches.rb +0 -3
  537. data/lib/compass/sass_extensions/monkey_patches/browser_support.rb +0 -124
  538. 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