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.
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