compass 0.12.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (781) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.markdown +1 -1
  3. data/Rakefile +159 -79
  4. data/features/command_line.feature +44 -141
  5. data/features/step_definitions/command_line_steps.rb +7 -7
  6. data/lib/compass.rb +19 -17
  7. data/lib/compass/actions.rb +7 -4
  8. data/lib/compass/commands.rb +3 -1
  9. data/lib/compass/commands/print_version.rb +1 -12
  10. data/lib/compass/commands/project_stats.rb +5 -5
  11. data/lib/compass/commands/update_project.rb +55 -46
  12. data/lib/compass/commands/watch_project.rb +53 -106
  13. data/lib/compass/compiler.rb +87 -26
  14. data/lib/compass/configuration/comments.rb +4 -1
  15. data/lib/compass/configuration/helpers.rb +11 -58
  16. data/lib/compass/configuration/serialization.rb +10 -3
  17. data/lib/compass/deprecation.rb +19 -0
  18. data/lib/compass/errors.rb +1 -3
  19. data/lib/compass/exec/global_options_parser.rb +0 -4
  20. data/lib/compass/exec/project_options_parser.rb +8 -0
  21. data/lib/compass/generated_version.rb +4 -0
  22. data/lib/compass/logger.rb +55 -18
  23. data/lib/compass/sass_compiler.rb +151 -0
  24. data/lib/compass/sass_extensions.rb +0 -1
  25. data/lib/compass/sass_extensions/functions.rb +6 -25
  26. data/lib/compass/sass_extensions/functions/sprites.rb +143 -56
  27. data/lib/compass/sass_extensions/sprites.rb +2 -0
  28. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +11 -9
  29. data/lib/compass/sass_extensions/sprites/image.rb +47 -36
  30. data/lib/compass/sass_extensions/sprites/image_methods.rb +25 -5
  31. data/lib/compass/sass_extensions/sprites/images.rb +29 -0
  32. data/lib/compass/sass_extensions/sprites/layout.rb +39 -0
  33. data/lib/compass/sass_extensions/sprites/layout/diagonal.rb +42 -0
  34. data/lib/compass/sass_extensions/sprites/layout/horizontal.rb +66 -0
  35. data/lib/compass/sass_extensions/sprites/layout/smart.rb +33 -0
  36. data/lib/compass/sass_extensions/sprites/layout/vertical.rb +68 -0
  37. data/lib/compass/sass_extensions/sprites/layout_methods.rb +9 -115
  38. data/lib/compass/sass_extensions/sprites/sprite_map.rb +14 -8
  39. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +8 -14
  40. data/lib/compass/sprite_importer.rb +12 -11
  41. data/lib/compass/sprite_importer/content.erb +30 -24
  42. data/lib/compass/stats.rb +1 -1
  43. data/lib/compass/version.rb +27 -45
  44. data/test/fixtures/sprites/public/images/focus/ten-by-ten.png +0 -0
  45. data/test/fixtures/sprites/public/images/focus/ten-by-ten_active.png +0 -0
  46. data/test/fixtures/sprites/public/images/focus/ten-by-ten_focus.png +0 -0
  47. data/test/fixtures/sprites/public/images/focus/ten-by-ten_hover.png +0 -0
  48. data/test/fixtures/sprites/public/images/focus/ten-by-ten_target.png +0 -0
  49. data/test/fixtures/sprites/public/images/numeric/200.png +0 -0
  50. data/test/fixtures/stylesheets/busted_font_urls/config.rb +32 -0
  51. data/test/fixtures/stylesheets/busted_font_urls/css/screen.css +9 -0
  52. data/test/fixtures/stylesheets/busted_font_urls/fonts/feed.ttf +0 -0
  53. data/test/fixtures/stylesheets/busted_font_urls/fonts/grid.ttf +0 -0
  54. data/test/fixtures/stylesheets/busted_font_urls/fonts/sub/dk.ttf +0 -0
  55. data/test/fixtures/stylesheets/busted_font_urls/sass/screen.sass +14 -0
  56. data/test/fixtures/stylesheets/compass/config.rb +2 -0
  57. data/test/fixtures/stylesheets/compass/css/animation-with-legacy-ie.css +22 -0
  58. data/test/fixtures/stylesheets/compass/css/animation.css +22 -0
  59. data/test/fixtures/stylesheets/compass/css/appearance.css +3 -0
  60. data/test/fixtures/stylesheets/compass/css/background-clip.css +7 -6
  61. data/test/fixtures/stylesheets/compass/css/background-origin.css +11 -0
  62. data/test/fixtures/stylesheets/compass/css/background-size.css +17 -0
  63. data/test/fixtures/stylesheets/compass/css/border_radius.css +3 -3
  64. data/test/fixtures/stylesheets/compass/css/{box-sizeing.css → box-sizing.css} +7 -2
  65. data/test/fixtures/stylesheets/compass/css/box_shadow.css +15 -5
  66. data/test/fixtures/stylesheets/compass/css/brightness.css +14 -0
  67. data/test/fixtures/stylesheets/compass/css/browser-support.css +335 -0
  68. data/test/fixtures/stylesheets/compass/css/color.css +18 -0
  69. data/test/fixtures/stylesheets/compass/css/columns.css +48 -75
  70. data/test/fixtures/stylesheets/compass/css/filters.css +30 -6
  71. data/test/fixtures/stylesheets/compass/css/flexbox.css +94 -0
  72. data/test/fixtures/stylesheets/compass/css/fonts.css +6 -2
  73. data/test/fixtures/stylesheets/compass/css/gradients.css +106 -86
  74. data/test/fixtures/stylesheets/compass/css/grid_background.css +42 -35
  75. data/test/fixtures/stylesheets/compass/css/hyphenation.css +4 -4
  76. data/test/fixtures/stylesheets/compass/css/lists.css +9 -15
  77. data/test/fixtures/stylesheets/compass/css/opacity.css +4 -0
  78. data/test/fixtures/stylesheets/compass/css/print.css +1 -1
  79. data/test/fixtures/stylesheets/compass/css/regions.css +4 -2
  80. data/test/fixtures/stylesheets/compass/css/replacement.css +7 -0
  81. data/test/fixtures/stylesheets/compass/css/reset.css +3 -3
  82. data/test/fixtures/stylesheets/compass/css/selection.css +50 -0
  83. data/test/fixtures/stylesheets/compass/css/sprites_with_explicit_separator.css +19 -0
  84. data/test/fixtures/stylesheets/compass/css/support.css +69 -0
  85. data/test/fixtures/stylesheets/compass/css/text_shadow.css +6 -6
  86. data/test/fixtures/stylesheets/compass/css/transform.css +64 -164
  87. data/test/fixtures/stylesheets/compass/css/transition.css +26 -38
  88. data/test/fixtures/stylesheets/compass/css/typography/links/hover-link.css +4 -0
  89. data/test/fixtures/stylesheets/compass/css/units.css +34 -0
  90. data/test/fixtures/stylesheets/compass/css/user-interface.css +49 -1
  91. data/test/fixtures/stylesheets/compass/css/utilities.css +21 -6
  92. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +5 -8
  93. data/test/fixtures/stylesheets/compass/css/vertical_rhythm_with_ems.css +53 -0
  94. data/test/fixtures/stylesheets/compass/css/vertical_rhythm_with_px.css +52 -0
  95. data/test/fixtures/stylesheets/compass/css/vertical_rhythm_with_rems.css +67 -0
  96. data/test/fixtures/stylesheets/compass/images/flag-s5b4f509715.png +0 -0
  97. data/test/fixtures/stylesheets/compass/images/flag_states-sc42d7bf926.png +0 -0
  98. data/{examples/compass/images/flag/ad.png → test/fixtures/stylesheets/compass/images/flag_states/foo.png} +0 -0
  99. data/{examples/compass/images/flag/fo.png → test/fixtures/stylesheets/compass/images/flag_states/foo_active.png} +0 -0
  100. data/{examples/compass/images/flag/hu.png → test/fixtures/stylesheets/compass/images/flag_states/foo_focus.png} +0 -0
  101. data/{examples/compass/images/flag/bm.png → test/fixtures/stylesheets/compass/images/flag_states/foo_hover.png} +0 -0
  102. data/{examples/compass/images/flag/cu.png → test/fixtures/stylesheets/compass/images/flag_states/foo_target.png} +0 -0
  103. data/test/fixtures/stylesheets/compass/sass/animation-with-legacy-ie.scss +17 -0
  104. data/test/fixtures/stylesheets/compass/sass/animation.scss +13 -0
  105. data/test/fixtures/stylesheets/compass/sass/appearance.scss +5 -0
  106. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +1 -4
  107. data/test/fixtures/stylesheets/compass/sass/background-origin.scss +5 -0
  108. data/test/fixtures/stylesheets/compass/sass/background-size.scss +7 -0
  109. data/test/fixtures/stylesheets/compass/sass/{box-sizeing.scss → box-sizing.scss} +4 -1
  110. data/test/fixtures/stylesheets/compass/sass/box_shadow.scss +4 -2
  111. data/test/fixtures/stylesheets/compass/sass/brightness.scss +12 -0
  112. data/test/fixtures/stylesheets/compass/sass/browser-support.scss +30 -0
  113. data/test/fixtures/stylesheets/compass/sass/color.scss +25 -0
  114. data/test/fixtures/stylesheets/compass/sass/columns.scss +9 -9
  115. data/test/fixtures/stylesheets/compass/sass/filters.scss +1 -0
  116. data/test/fixtures/stylesheets/compass/sass/flexbox.scss +88 -0
  117. data/test/fixtures/stylesheets/compass/sass/fonts.sass +6 -1
  118. data/test/fixtures/stylesheets/compass/sass/gradients.sass +40 -8
  119. data/test/fixtures/stylesheets/compass/sass/opacity.scss +4 -0
  120. data/test/fixtures/stylesheets/compass/sass/selection.scss +41 -0
  121. data/test/fixtures/stylesheets/compass/sass/sprites_with_explicit_separator.scss +11 -0
  122. data/test/fixtures/stylesheets/compass/sass/support.scss +174 -0
  123. data/test/fixtures/stylesheets/compass/sass/text_shadow.scss +7 -6
  124. data/test/fixtures/stylesheets/compass/sass/transition.scss +1 -4
  125. data/test/fixtures/stylesheets/compass/sass/typography/links/hover-link.scss +3 -0
  126. data/test/fixtures/stylesheets/compass/sass/units.scss +50 -0
  127. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +24 -1
  128. data/test/fixtures/stylesheets/compass/sass/utilities.scss +17 -4
  129. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +51 -7
  130. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm_with_ems.scss +52 -0
  131. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm_with_px.scss +50 -0
  132. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm_with_rems.scss +50 -0
  133. data/test/fixtures/stylesheets/envtest/css/env.css +8 -0
  134. data/test/fixtures/stylesheets/envtest/sass/env.scss +16 -0
  135. data/test/fixtures/stylesheets/sourcemaps/config.rb +10 -0
  136. data/test/fixtures/stylesheets/sourcemaps/css/another_simple.css +2 -0
  137. data/test/fixtures/stylesheets/sourcemaps/css/another_simple.css.map +7 -0
  138. data/test/fixtures/stylesheets/sourcemaps/css/simple.css +2 -0
  139. data/test/fixtures/stylesheets/sourcemaps/css/simple.css.map +7 -0
  140. data/test/fixtures/stylesheets/sourcemaps/css/with_libraries.css +2 -0
  141. data/test/fixtures/stylesheets/sourcemaps/css/with_libraries.css.map +7 -0
  142. data/test/fixtures/stylesheets/sourcemaps/sass/another_simple.scss +3 -0
  143. data/test/fixtures/stylesheets/sourcemaps/sass/simple.sass +2 -0
  144. data/test/fixtures/stylesheets/sourcemaps/sass/with_libraries.scss +5 -0
  145. data/test/fixtures/stylesheets/valid/sass/another_simple.scss +3 -0
  146. data/test/fixtures/stylesheets/with_sass_globbing/config.rb +26 -0
  147. data/test/fixtures/stylesheets/with_sass_globbing/css/screen.css +19 -0
  148. data/test/fixtures/stylesheets/with_sass_globbing/sass/partials/_1.scss +3 -0
  149. data/test/fixtures/stylesheets/with_sass_globbing/sass/partials/_2.scss +3 -0
  150. data/test/fixtures/stylesheets/with_sass_globbing/sass/partials/_3.scss +4 -0
  151. data/test/fixtures/stylesheets/with_sass_globbing/sass/screen.scss +3 -0
  152. data/test/helpers/diff.rb +1 -1
  153. data/test/integrations/compass_test.rb +49 -14
  154. data/test/integrations/sprites_test.rb +380 -100
  155. data/test/test_helper.rb +12 -20
  156. data/test/units/caniuse_test.rb +194 -0
  157. data/test/units/command_line_test.rb +9 -9
  158. data/test/units/compass_util_test.rb +11 -0
  159. data/test/units/compiler_test.rb +7 -2
  160. data/test/units/configuration_test.rb +187 -9
  161. data/test/units/regressions_test.rb +8 -8
  162. data/test/units/sass_extensions_test.rb +37 -3
  163. data/test/units/sass_extenstions/gradients_test.rb +30 -0
  164. data/test/units/sprites/image_test.rb +17 -0
  165. data/test/units/sprites/images_test.rb +46 -0
  166. data/test/units/sprites/layout_test.rb +29 -4
  167. data/test/units/sprites/sprite_map_test.rb +40 -2
  168. metadata +243 -713
  169. data/README.markdown +0 -31
  170. data/VERSION.yml +0 -5
  171. data/examples/README.markdown +0 -4
  172. data/examples/blueprint_default/config.rb +0 -7
  173. data/examples/blueprint_default/images/grid.png +0 -0
  174. data/examples/blueprint_default/index.html.haml +0 -85
  175. data/examples/blueprint_default/parts/elements.html.haml +0 -282
  176. data/examples/blueprint_default/parts/forms.html.haml +0 -200
  177. data/examples/blueprint_default/parts/grid.html.haml +0 -274
  178. data/examples/blueprint_default/parts/test-small.jpg +0 -0
  179. data/examples/blueprint_default/parts/test.jpg +0 -0
  180. data/examples/blueprint_default/parts/valid.png +0 -0
  181. data/examples/blueprint_default/src/ie.scss +0 -3
  182. data/examples/blueprint_default/src/images/grid.png +0 -0
  183. data/examples/blueprint_default/src/print.scss +0 -3
  184. data/examples/blueprint_default/src/screen.scss +0 -9
  185. data/examples/blueprint_plugins/config.rb +0 -8
  186. data/examples/blueprint_plugins/images/buttons/cross.png +0 -0
  187. data/examples/blueprint_plugins/images/buttons/key.png +0 -0
  188. data/examples/blueprint_plugins/images/buttons/tick.png +0 -0
  189. data/examples/blueprint_plugins/images/grid.png +0 -0
  190. data/examples/blueprint_plugins/images/link_icons/doc.png +0 -0
  191. data/examples/blueprint_plugins/images/link_icons/email.png +0 -0
  192. data/examples/blueprint_plugins/images/link_icons/external.png +0 -0
  193. data/examples/blueprint_plugins/images/link_icons/feed.png +0 -0
  194. data/examples/blueprint_plugins/images/link_icons/im.png +0 -0
  195. data/examples/blueprint_plugins/images/link_icons/pdf.png +0 -0
  196. data/examples/blueprint_plugins/images/link_icons/visited.png +0 -0
  197. data/examples/blueprint_plugins/images/link_icons/xls.png +0 -0
  198. data/examples/blueprint_plugins/images/test-small.jpg +0 -0
  199. data/examples/blueprint_plugins/images/test.jpg +0 -0
  200. data/examples/blueprint_plugins/images/valid.png +0 -0
  201. data/examples/blueprint_plugins/index.html.haml +0 -96
  202. data/examples/blueprint_plugins/plugins/buttons.html.haml +0 -67
  203. data/examples/blueprint_plugins/plugins/fancy_type.html.haml +0 -100
  204. data/examples/blueprint_plugins/plugins/link_icons.html.haml +0 -61
  205. data/examples/blueprint_plugins/plugins/rtl.html.haml +0 -100
  206. data/examples/blueprint_plugins/src/buttons.scss +0 -47
  207. data/examples/blueprint_plugins/src/ie.scss +0 -3
  208. data/examples/blueprint_plugins/src/images/grid.png +0 -0
  209. data/examples/blueprint_plugins/src/link_icons.scss +0 -13
  210. data/examples/blueprint_plugins/src/print.scss +0 -3
  211. data/examples/blueprint_plugins/src/rtl_screen.scss +0 -15
  212. data/examples/blueprint_plugins/src/screen.scss +0 -12
  213. data/examples/blueprint_scoped/images/grid.png +0 -0
  214. data/examples/blueprint_scoped/src/ie.scss +0 -4
  215. data/examples/blueprint_scoped/src/print.scss +0 -4
  216. data/examples/blueprint_scoped/src/screen.scss +0 -5
  217. data/examples/blueprint_scoped_form/images/grid.png +0 -0
  218. data/examples/blueprint_scoped_form/src/ie.scss +0 -3
  219. data/examples/blueprint_scoped_form/src/print.scss +0 -3
  220. data/examples/blueprint_scoped_form/src/screen.scss +0 -15
  221. data/examples/blueprint_semantic/config.rb +0 -7
  222. data/examples/blueprint_semantic/images/grid.png +0 -0
  223. data/examples/blueprint_semantic/index.html.haml +0 -86
  224. data/examples/blueprint_semantic/parts/fancy_type.html.haml +0 -100
  225. data/examples/blueprint_semantic/parts/liquid.html.haml +0 -100
  226. data/examples/blueprint_semantic/parts/test-small.jpg +0 -0
  227. data/examples/blueprint_semantic/parts/test.jpg +0 -0
  228. data/examples/blueprint_semantic/parts/valid.png +0 -0
  229. data/examples/blueprint_semantic/src/ie.scss +0 -3
  230. data/examples/blueprint_semantic/src/images/grid.png +0 -0
  231. data/examples/blueprint_semantic/src/liquid.scss +0 -69
  232. data/examples/blueprint_semantic/src/print.scss +0 -3
  233. data/examples/blueprint_semantic/src/screen.scss +0 -69
  234. data/examples/compass/bootstrap.rb +0 -4
  235. data/examples/compass/clean.rb +0 -2
  236. data/examples/compass/compass.html.haml +0 -39
  237. data/examples/compass/config.rb +0 -8
  238. data/examples/compass/headers.txt +0 -7
  239. data/examples/compass/images/blue_arrow.gif +0 -0
  240. data/examples/compass/images/border2.png +0 -0
  241. data/examples/compass/images/emblem/favorite.png +0 -0
  242. data/examples/compass/images/emblem/important.png +0 -0
  243. data/examples/compass/images/emblem/photos.png +0 -0
  244. data/examples/compass/images/emblem/readonly.png +0 -0
  245. data/examples/compass/images/emblem/symbolic-link.png +0 -0
  246. data/examples/compass/images/emblem/system.png +0 -0
  247. data/examples/compass/images/emblem/unreadable.png +0 -0
  248. data/examples/compass/images/flag/ae.png +0 -0
  249. data/examples/compass/images/flag/af.png +0 -0
  250. data/examples/compass/images/flag/ag.png +0 -0
  251. data/examples/compass/images/flag/ai.png +0 -0
  252. data/examples/compass/images/flag/al.png +0 -0
  253. data/examples/compass/images/flag/am.png +0 -0
  254. data/examples/compass/images/flag/an.png +0 -0
  255. data/examples/compass/images/flag/ao.png +0 -0
  256. data/examples/compass/images/flag/ar.png +0 -0
  257. data/examples/compass/images/flag/as.png +0 -0
  258. data/examples/compass/images/flag/at.png +0 -0
  259. data/examples/compass/images/flag/au.png +0 -0
  260. data/examples/compass/images/flag/aw.png +0 -0
  261. data/examples/compass/images/flag/ax.png +0 -0
  262. data/examples/compass/images/flag/az.png +0 -0
  263. data/examples/compass/images/flag/ba.png +0 -0
  264. data/examples/compass/images/flag/bb.png +0 -0
  265. data/examples/compass/images/flag/bd.png +0 -0
  266. data/examples/compass/images/flag/be.png +0 -0
  267. data/examples/compass/images/flag/bf.png +0 -0
  268. data/examples/compass/images/flag/bg.png +0 -0
  269. data/examples/compass/images/flag/bh.png +0 -0
  270. data/examples/compass/images/flag/bi.png +0 -0
  271. data/examples/compass/images/flag/bj.png +0 -0
  272. data/examples/compass/images/flag/bn.png +0 -0
  273. data/examples/compass/images/flag/bo.png +0 -0
  274. data/examples/compass/images/flag/br.png +0 -0
  275. data/examples/compass/images/flag/bs.png +0 -0
  276. data/examples/compass/images/flag/bt.png +0 -0
  277. data/examples/compass/images/flag/bv.png +0 -0
  278. data/examples/compass/images/flag/bw.png +0 -0
  279. data/examples/compass/images/flag/by.png +0 -0
  280. data/examples/compass/images/flag/bz.png +0 -0
  281. data/examples/compass/images/flag/ca.png +0 -0
  282. data/examples/compass/images/flag/catalonia.png +0 -0
  283. data/examples/compass/images/flag/cc.png +0 -0
  284. data/examples/compass/images/flag/cd.png +0 -0
  285. data/examples/compass/images/flag/cf.png +0 -0
  286. data/examples/compass/images/flag/cg.png +0 -0
  287. data/examples/compass/images/flag/ch.png +0 -0
  288. data/examples/compass/images/flag/ci.png +0 -0
  289. data/examples/compass/images/flag/ck.png +0 -0
  290. data/examples/compass/images/flag/cl.png +0 -0
  291. data/examples/compass/images/flag/cm.png +0 -0
  292. data/examples/compass/images/flag/cn.png +0 -0
  293. data/examples/compass/images/flag/co.png +0 -0
  294. data/examples/compass/images/flag/cr.png +0 -0
  295. data/examples/compass/images/flag/cs.png +0 -0
  296. data/examples/compass/images/flag/cv.png +0 -0
  297. data/examples/compass/images/flag/cx.png +0 -0
  298. data/examples/compass/images/flag/cy.png +0 -0
  299. data/examples/compass/images/flag/cz.png +0 -0
  300. data/examples/compass/images/flag/de.png +0 -0
  301. data/examples/compass/images/flag/dj.png +0 -0
  302. data/examples/compass/images/flag/dk.png +0 -0
  303. data/examples/compass/images/flag/dm.png +0 -0
  304. data/examples/compass/images/flag/do.png +0 -0
  305. data/examples/compass/images/flag/dz.png +0 -0
  306. data/examples/compass/images/flag/ec.png +0 -0
  307. data/examples/compass/images/flag/ee.png +0 -0
  308. data/examples/compass/images/flag/eg.png +0 -0
  309. data/examples/compass/images/flag/eh.png +0 -0
  310. data/examples/compass/images/flag/england.png +0 -0
  311. data/examples/compass/images/flag/er.png +0 -0
  312. data/examples/compass/images/flag/es.png +0 -0
  313. data/examples/compass/images/flag/et.png +0 -0
  314. data/examples/compass/images/flag/europeanunion.png +0 -0
  315. data/examples/compass/images/flag/fam.png +0 -0
  316. data/examples/compass/images/flag/fi.png +0 -0
  317. data/examples/compass/images/flag/fj.png +0 -0
  318. data/examples/compass/images/flag/fk.png +0 -0
  319. data/examples/compass/images/flag/fm.png +0 -0
  320. data/examples/compass/images/flag/fr.png +0 -0
  321. data/examples/compass/images/flag/ga.png +0 -0
  322. data/examples/compass/images/flag/gb.png +0 -0
  323. data/examples/compass/images/flag/gd.png +0 -0
  324. data/examples/compass/images/flag/ge.png +0 -0
  325. data/examples/compass/images/flag/gf.png +0 -0
  326. data/examples/compass/images/flag/gh.png +0 -0
  327. data/examples/compass/images/flag/gi.png +0 -0
  328. data/examples/compass/images/flag/gl.png +0 -0
  329. data/examples/compass/images/flag/gm.png +0 -0
  330. data/examples/compass/images/flag/gn.png +0 -0
  331. data/examples/compass/images/flag/gp.png +0 -0
  332. data/examples/compass/images/flag/gq.png +0 -0
  333. data/examples/compass/images/flag/gr.png +0 -0
  334. data/examples/compass/images/flag/gs.png +0 -0
  335. data/examples/compass/images/flag/gt.png +0 -0
  336. data/examples/compass/images/flag/gu.png +0 -0
  337. data/examples/compass/images/flag/gw.png +0 -0
  338. data/examples/compass/images/flag/gy.png +0 -0
  339. data/examples/compass/images/flag/hk.png +0 -0
  340. data/examples/compass/images/flag/hm.png +0 -0
  341. data/examples/compass/images/flag/hn.png +0 -0
  342. data/examples/compass/images/flag/hr.png +0 -0
  343. data/examples/compass/images/flag/ht.png +0 -0
  344. data/examples/compass/images/flag/id-2.png +0 -0
  345. data/examples/compass/images/flag/ie.png +0 -0
  346. data/examples/compass/images/flag/il.png +0 -0
  347. data/examples/compass/images/flag/in.png +0 -0
  348. data/examples/compass/images/flag/io.png +0 -0
  349. data/examples/compass/images/flag/iq.png +0 -0
  350. data/examples/compass/images/flag/ir.png +0 -0
  351. data/examples/compass/images/flag/is.png +0 -0
  352. data/examples/compass/images/flag/it.png +0 -0
  353. data/examples/compass/images/flag/jm.png +0 -0
  354. data/examples/compass/images/flag/jo.png +0 -0
  355. data/examples/compass/images/flag/jp.png +0 -0
  356. data/examples/compass/images/flag/ke.png +0 -0
  357. data/examples/compass/images/flag/kg.png +0 -0
  358. data/examples/compass/images/flag/kh.png +0 -0
  359. data/examples/compass/images/flag/ki.png +0 -0
  360. data/examples/compass/images/flag/km.png +0 -0
  361. data/examples/compass/images/flag/kn.png +0 -0
  362. data/examples/compass/images/flag/kp.png +0 -0
  363. data/examples/compass/images/flag/kr.png +0 -0
  364. data/examples/compass/images/flag/kw.png +0 -0
  365. data/examples/compass/images/flag/ky.png +0 -0
  366. data/examples/compass/images/flag/kz.png +0 -0
  367. data/examples/compass/images/flag/la.png +0 -0
  368. data/examples/compass/images/flag/lb.png +0 -0
  369. data/examples/compass/images/flag/lc.png +0 -0
  370. data/examples/compass/images/flag/li.png +0 -0
  371. data/examples/compass/images/flag/lk.png +0 -0
  372. data/examples/compass/images/flag/lr.png +0 -0
  373. data/examples/compass/images/flag/ls.png +0 -0
  374. data/examples/compass/images/flag/lt.png +0 -0
  375. data/examples/compass/images/flag/lu.png +0 -0
  376. data/examples/compass/images/flag/lv.png +0 -0
  377. data/examples/compass/images/flag/ly.png +0 -0
  378. data/examples/compass/images/flag/ma.png +0 -0
  379. data/examples/compass/images/flag/mc.png +0 -0
  380. data/examples/compass/images/flag/md.png +0 -0
  381. data/examples/compass/images/flag/me.png +0 -0
  382. data/examples/compass/images/flag/mg.png +0 -0
  383. data/examples/compass/images/flag/mh.png +0 -0
  384. data/examples/compass/images/flag/mk.png +0 -0
  385. data/examples/compass/images/flag/ml.png +0 -0
  386. data/examples/compass/images/flag/mm.png +0 -0
  387. data/examples/compass/images/flag/mn.png +0 -0
  388. data/examples/compass/images/flag/mo.png +0 -0
  389. data/examples/compass/images/flag/mp.png +0 -0
  390. data/examples/compass/images/flag/mq.png +0 -0
  391. data/examples/compass/images/flag/mr.png +0 -0
  392. data/examples/compass/images/flag/ms.png +0 -0
  393. data/examples/compass/images/flag/mt.png +0 -0
  394. data/examples/compass/images/flag/mu.png +0 -0
  395. data/examples/compass/images/flag/mv.png +0 -0
  396. data/examples/compass/images/flag/mw.png +0 -0
  397. data/examples/compass/images/flag/mx.png +0 -0
  398. data/examples/compass/images/flag/my.png +0 -0
  399. data/examples/compass/images/flag/mz.png +0 -0
  400. data/examples/compass/images/flag/na.png +0 -0
  401. data/examples/compass/images/flag/nc.png +0 -0
  402. data/examples/compass/images/flag/ne.png +0 -0
  403. data/examples/compass/images/flag/nf.png +0 -0
  404. data/examples/compass/images/flag/ng.png +0 -0
  405. data/examples/compass/images/flag/ni.png +0 -0
  406. data/examples/compass/images/flag/nl.png +0 -0
  407. data/examples/compass/images/flag/no.png +0 -0
  408. data/examples/compass/images/flag/np.png +0 -0
  409. data/examples/compass/images/flag/nr.png +0 -0
  410. data/examples/compass/images/flag/nu.png +0 -0
  411. data/examples/compass/images/flag/nz.png +0 -0
  412. data/examples/compass/images/flag/om.png +0 -0
  413. data/examples/compass/images/flag/pa.png +0 -0
  414. data/examples/compass/images/flag/pe.png +0 -0
  415. data/examples/compass/images/flag/pf.png +0 -0
  416. data/examples/compass/images/flag/pg.png +0 -0
  417. data/examples/compass/images/flag/ph.png +0 -0
  418. data/examples/compass/images/flag/pk.png +0 -0
  419. data/examples/compass/images/flag/pl.png +0 -0
  420. data/examples/compass/images/flag/pm.png +0 -0
  421. data/examples/compass/images/flag/pn.png +0 -0
  422. data/examples/compass/images/flag/pr.png +0 -0
  423. data/examples/compass/images/flag/ps.png +0 -0
  424. data/examples/compass/images/flag/pt.png +0 -0
  425. data/examples/compass/images/flag/pw.png +0 -0
  426. data/examples/compass/images/flag/py.png +0 -0
  427. data/examples/compass/images/flag/qa.png +0 -0
  428. data/examples/compass/images/flag/re.png +0 -0
  429. data/examples/compass/images/flag/ro.png +0 -0
  430. data/examples/compass/images/flag/rs.png +0 -0
  431. data/examples/compass/images/flag/ru.png +0 -0
  432. data/examples/compass/images/flag/rw.png +0 -0
  433. data/examples/compass/images/flag/sa.png +0 -0
  434. data/examples/compass/images/flag/sb.png +0 -0
  435. data/examples/compass/images/flag/sc.png +0 -0
  436. data/examples/compass/images/flag/scotland.png +0 -0
  437. data/examples/compass/images/flag/sd.png +0 -0
  438. data/examples/compass/images/flag/se.png +0 -0
  439. data/examples/compass/images/flag/sg.png +0 -0
  440. data/examples/compass/images/flag/sh.png +0 -0
  441. data/examples/compass/images/flag/si.png +0 -0
  442. data/examples/compass/images/flag/sj.png +0 -0
  443. data/examples/compass/images/flag/sk.png +0 -0
  444. data/examples/compass/images/flag/sl.png +0 -0
  445. data/examples/compass/images/flag/sm.png +0 -0
  446. data/examples/compass/images/flag/sn.png +0 -0
  447. data/examples/compass/images/flag/so.png +0 -0
  448. data/examples/compass/images/flag/sr.png +0 -0
  449. data/examples/compass/images/flag/st.png +0 -0
  450. data/examples/compass/images/flag/sv.png +0 -0
  451. data/examples/compass/images/flag/sy.png +0 -0
  452. data/examples/compass/images/flag/sz.png +0 -0
  453. data/examples/compass/images/flag/tc.png +0 -0
  454. data/examples/compass/images/flag/td.png +0 -0
  455. data/examples/compass/images/flag/tf.png +0 -0
  456. data/examples/compass/images/flag/tg.png +0 -0
  457. data/examples/compass/images/flag/th.png +0 -0
  458. data/examples/compass/images/flag/tj.png +0 -0
  459. data/examples/compass/images/flag/tk.png +0 -0
  460. data/examples/compass/images/flag/tl.png +0 -0
  461. data/examples/compass/images/flag/tm.png +0 -0
  462. data/examples/compass/images/flag/tn.png +0 -0
  463. data/examples/compass/images/flag/to.png +0 -0
  464. data/examples/compass/images/flag/tr.png +0 -0
  465. data/examples/compass/images/flag/tt.png +0 -0
  466. data/examples/compass/images/flag/tv.png +0 -0
  467. data/examples/compass/images/flag/tw.png +0 -0
  468. data/examples/compass/images/flag/tz.png +0 -0
  469. data/examples/compass/images/flag/ua.png +0 -0
  470. data/examples/compass/images/flag/ug.png +0 -0
  471. data/examples/compass/images/flag/um.png +0 -0
  472. data/examples/compass/images/flag/us.png +0 -0
  473. data/examples/compass/images/flag/uy.png +0 -0
  474. data/examples/compass/images/flag/uz.png +0 -0
  475. data/examples/compass/images/flag/va.png +0 -0
  476. data/examples/compass/images/flag/vc.png +0 -0
  477. data/examples/compass/images/flag/ve.png +0 -0
  478. data/examples/compass/images/flag/vg.png +0 -0
  479. data/examples/compass/images/flag/vi.png +0 -0
  480. data/examples/compass/images/flag/vn.png +0 -0
  481. data/examples/compass/images/flag/vu.png +0 -0
  482. data/examples/compass/images/flag/wales.png +0 -0
  483. data/examples/compass/images/flag/wf.png +0 -0
  484. data/examples/compass/images/flag/ws.png +0 -0
  485. data/examples/compass/images/flag/ye.png +0 -0
  486. data/examples/compass/images/flag/yt.png +0 -0
  487. data/examples/compass/images/flag/za.png +0 -0
  488. data/examples/compass/images/flag/zm.png +0 -0
  489. data/examples/compass/images/flag/zw.png +0 -0
  490. data/examples/compass/images/icon-chrome.png +0 -0
  491. data/examples/compass/images/icon-firefox.png +0 -0
  492. data/examples/compass/images/icon-ie.png +0 -0
  493. data/examples/compass/images/icon-opera.png +0 -0
  494. data/examples/compass/images/icon-safari.png +0 -0
  495. data/examples/compass/pie.html.haml +0 -73
  496. data/examples/compass/sprites.html.haml +0 -37
  497. data/examples/compass/src/bp_layout.scss +0 -18
  498. data/examples/compass/src/compass.scss +0 -46
  499. data/examples/compass/src/images/blue_arrow.gif +0 -0
  500. data/examples/compass/src/pie.scss +0 -110
  501. data/examples/compass/src/sprites.scss +0 -25
  502. data/examples/compass/src/sticky_footer.scss +0 -11
  503. data/examples/compass/src/utilities.scss +0 -108
  504. data/examples/compass/sticky_footer.html.haml +0 -14
  505. data/examples/compass/utilities.html.haml +0 -189
  506. data/examples/css3/bootstrap.rb +0 -3
  507. data/examples/css3/clean.rb +0 -2
  508. data/examples/css3/config.rb +0 -6
  509. data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +0 -10
  510. data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +0 -6
  511. data/examples/css3/gradients.html.haml +0 -68
  512. data/examples/css3/images/button_bg.png +0 -0
  513. data/examples/css3/images/example.png +0 -0
  514. data/examples/css3/index.html.haml +0 -57
  515. data/examples/css3/src/_base.scss +0 -13
  516. data/examples/css3/src/fancy-fonts.scss +0 -13
  517. data/examples/css3/src/gradients.scss +0 -86
  518. data/examples/css3/src/main.scss +0 -108
  519. data/examples/downloader.rb +0 -58
  520. data/examples/ninesixty/bootstrap.rb +0 -4
  521. data/examples/ninesixty/clean.rb +0 -2
  522. data/examples/ninesixty/config.rb +0 -10
  523. data/examples/ninesixty/src/grid.scss +0 -15
  524. data/examples/ninesixty/src/text.scss +0 -8
  525. data/examples/susy/bootstrap.rb +0 -3
  526. data/examples/susy/clean.rb +0 -2
  527. data/examples/susy/config.rb +0 -10
  528. data/examples/susy/src/_base.scss +0 -61
  529. data/examples/susy/src/_defaults.scss +0 -140
  530. data/examples/susy/src/screen.scss +0 -100
  531. data/examples/yui/bootstrap.rb +0 -3
  532. data/examples/yui/clean.rb +0 -2
  533. data/examples/yui/config.rb +0 -1
  534. data/examples/yui/divisions.html.haml +0 -179
  535. data/examples/yui/index.html.haml +0 -19
  536. data/examples/yui/src/screen.scss +0 -13
  537. data/examples/yui/sub_divisions.html.haml +0 -169
  538. data/examples/yui/templates.html.haml +0 -54
  539. data/examples/yui/test.jpg +0 -0
  540. data/examples/yui/typography.html.haml +0 -132
  541. data/frameworks/blueprint/stylesheets/_blueprint.scss +0 -37
  542. data/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +0 -101
  543. data/frameworks/blueprint/stylesheets/blueprint/_colors.scss +0 -36
  544. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +0 -28
  545. data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +0 -88
  546. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +0 -66
  547. data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +0 -258
  548. data/frameworks/blueprint/stylesheets/blueprint/_ie.scss +0 -111
  549. data/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +0 -66
  550. data/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +0 -37
  551. data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +0 -152
  552. data/frameworks/blueprint/stylesheets/blueprint/_print.scss +0 -86
  553. data/frameworks/blueprint/stylesheets/blueprint/_reset.scss +0 -3
  554. data/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +0 -121
  555. data/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +0 -52
  556. data/frameworks/blueprint/stylesheets/blueprint/_typography.scss +0 -90
  557. data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +0 -37
  558. data/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +0 -83
  559. data/frameworks/blueprint/templates/basic/grid.png +0 -0
  560. data/frameworks/blueprint/templates/basic/ie.sass +0 -4
  561. data/frameworks/blueprint/templates/basic/manifest.rb +0 -30
  562. data/frameworks/blueprint/templates/basic/partials/_base.sass +0 -10
  563. data/frameworks/blueprint/templates/basic/print.sass +0 -4
  564. data/frameworks/blueprint/templates/basic/screen.sass +0 -12
  565. data/frameworks/blueprint/templates/buttons/buttons.sass +0 -49
  566. data/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  567. data/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  568. data/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  569. data/frameworks/blueprint/templates/buttons/manifest.rb +0 -17
  570. data/frameworks/blueprint/templates/link_icons/link_icons.sass +0 -13
  571. data/frameworks/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  572. data/frameworks/blueprint/templates/link_icons/link_icons/email.png +0 -0
  573. data/frameworks/blueprint/templates/link_icons/link_icons/external.png +0 -0
  574. data/frameworks/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  575. data/frameworks/blueprint/templates/link_icons/link_icons/im.png +0 -0
  576. data/frameworks/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  577. data/frameworks/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  578. data/frameworks/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  579. data/frameworks/blueprint/templates/link_icons/manifest.rb +0 -23
  580. data/frameworks/blueprint/templates/project/grid.png +0 -0
  581. data/frameworks/blueprint/templates/project/ie.sass +0 -16
  582. data/frameworks/blueprint/templates/project/manifest.rb +0 -30
  583. data/frameworks/blueprint/templates/project/partials/_base.sass +0 -11
  584. data/frameworks/blueprint/templates/project/print.sass +0 -8
  585. data/frameworks/blueprint/templates/project/screen.sass +0 -46
  586. data/frameworks/blueprint/templates/semantic/grid.png +0 -0
  587. data/frameworks/blueprint/templates/semantic/ie.sass +0 -16
  588. data/frameworks/blueprint/templates/semantic/manifest.rb +0 -33
  589. data/frameworks/blueprint/templates/semantic/partials/_base.sass +0 -10
  590. data/frameworks/blueprint/templates/semantic/partials/_form.sass +0 -6
  591. data/frameworks/blueprint/templates/semantic/partials/_page.sass +0 -17
  592. data/frameworks/blueprint/templates/semantic/partials/_two_col.sass +0 -38
  593. data/frameworks/blueprint/templates/semantic/print.sass +0 -5
  594. data/frameworks/blueprint/templates/semantic/screen.sass +0 -14
  595. data/frameworks/compass/stylesheets/_compass.scss +0 -3
  596. data/frameworks/compass/stylesheets/_lemonade.scss +0 -38
  597. data/frameworks/compass/stylesheets/compass/_css3.scss +0 -20
  598. data/frameworks/compass/stylesheets/compass/_layout.scss +0 -3
  599. data/frameworks/compass/stylesheets/compass/_reset-legacy.scss +0 -3
  600. data/frameworks/compass/stylesheets/compass/_reset.scss +0 -3
  601. data/frameworks/compass/stylesheets/compass/_support.scss +0 -40
  602. data/frameworks/compass/stylesheets/compass/_typography.scss +0 -4
  603. data/frameworks/compass/stylesheets/compass/_utilities.scss +0 -9
  604. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +0 -17
  605. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +0 -43
  606. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +0 -42
  607. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +0 -26
  608. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +0 -130
  609. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +0 -76
  610. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +0 -13
  611. data/frameworks/compass/stylesheets/compass/css3/_box.scss +0 -111
  612. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +0 -157
  613. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +0 -23
  614. data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +0 -48
  615. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +0 -77
  616. data/frameworks/compass/stylesheets/compass/css3/_images.scss +0 -132
  617. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +0 -22
  618. data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +0 -19
  619. data/frameworks/compass/stylesheets/compass/css3/_pie.scss +0 -73
  620. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +0 -22
  621. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +0 -38
  622. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +0 -87
  623. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +0 -87
  624. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +0 -598
  625. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +0 -221
  626. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +0 -17
  627. data/frameworks/compass/stylesheets/compass/layout/_grid-background.scss +0 -178
  628. data/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +0 -23
  629. data/frameworks/compass/stylesheets/compass/layout/_stretching.scss +0 -24
  630. data/frameworks/compass/stylesheets/compass/reset/_utilities-legacy.scss +0 -135
  631. data/frameworks/compass/stylesheets/compass/reset/_utilities.scss +0 -142
  632. data/frameworks/compass/stylesheets/compass/typography/_links.scss +0 -3
  633. data/frameworks/compass/stylesheets/compass/typography/_lists.scss +0 -4
  634. data/frameworks/compass/stylesheets/compass/typography/_text.scss +0 -4
  635. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +0 -221
  636. data/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss +0 -5
  637. data/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss +0 -28
  638. data/frameworks/compass/stylesheets/compass/typography/links/_unstyled-link.scss +0 -7
  639. data/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss +0 -34
  640. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +0 -61
  641. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-block-list.scss +0 -50
  642. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +0 -44
  643. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +0 -25
  644. data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +0 -12
  645. data/frameworks/compass/stylesheets/compass/typography/text/_nowrap.scss +0 -2
  646. data/frameworks/compass/stylesheets/compass/typography/text/_replacement.scss +0 -68
  647. data/frameworks/compass/stylesheets/compass/utilities/_color.scss +0 -1
  648. data/frameworks/compass/stylesheets/compass/utilities/_general.scss +0 -6
  649. data/frameworks/compass/stylesheets/compass/utilities/_links.scss +0 -5
  650. data/frameworks/compass/stylesheets/compass/utilities/_lists.scss +0 -6
  651. data/frameworks/compass/stylesheets/compass/utilities/_print.scss +0 -17
  652. data/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +0 -2
  653. data/frameworks/compass/stylesheets/compass/utilities/_tables.scss +0 -3
  654. data/frameworks/compass/stylesheets/compass/utilities/_text.scss +0 -5
  655. data/frameworks/compass/stylesheets/compass/utilities/color/_contrast.scss +0 -28
  656. data/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +0 -44
  657. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +0 -30
  658. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +0 -46
  659. data/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +0 -16
  660. data/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +0 -2
  661. data/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +0 -1
  662. data/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +0 -18
  663. data/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +0 -3
  664. data/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +0 -3
  665. data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +0 -3
  666. data/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +0 -3
  667. data/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +0 -3
  668. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +0 -3
  669. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +0 -3
  670. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +0 -66
  671. data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +0 -79
  672. data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +0 -22
  673. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +0 -33
  674. data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +0 -9
  675. data/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +0 -3
  676. data/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +0 -3
  677. data/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +0 -3
  678. data/frameworks/compass/templates/ellipsis/ellipsis.sass +0 -9
  679. data/frameworks/compass/templates/ellipsis/manifest.rb +0 -27
  680. data/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +0 -14
  681. data/frameworks/compass/templates/extension/manifest.rb +0 -26
  682. data/frameworks/compass/templates/extension/stylesheets/main.sass +0 -1
  683. data/frameworks/compass/templates/extension/templates/project/manifest.rb +0 -2
  684. data/frameworks/compass/templates/extension/templates/project/screen.sass +0 -2
  685. data/frameworks/compass/templates/pie/LICENSE +0 -12
  686. data/frameworks/compass/templates/pie/LICENSE-APACHE2.txt +0 -13
  687. data/frameworks/compass/templates/pie/LICENSE-GPL2.txt +0 -278
  688. data/frameworks/compass/templates/pie/PIE.htc +0 -96
  689. data/frameworks/compass/templates/pie/manifest.rb +0 -39
  690. data/frameworks/compass/templates/pie/pie.scss +0 -74
  691. data/frameworks/compass/templates/project/USAGE.markdown +0 -32
  692. data/frameworks/compass/templates/project/ie.sass +0 -6
  693. data/frameworks/compass/templates/project/manifest.rb +0 -4
  694. data/frameworks/compass/templates/project/print.sass +0 -6
  695. data/frameworks/compass/templates/project/screen.sass +0 -7
  696. data/lib/compass/app_integration/rails.rb +0 -18
  697. data/lib/compass/browser_support.rb +0 -62
  698. data/lib/compass/commands/generate_grid_background.rb +0 -96
  699. data/lib/compass/configuration.rb +0 -91
  700. data/lib/compass/configuration/adapters.rb +0 -77
  701. data/lib/compass/configuration/data.rb +0 -193
  702. data/lib/compass/configuration/defaults.rb +0 -187
  703. data/lib/compass/configuration/inheritance.rb +0 -304
  704. data/lib/compass/configuration/paths.rb +0 -19
  705. data/lib/compass/exec/switch_ui.rb +0 -179
  706. data/lib/compass/frameworks.rb +0 -133
  707. data/lib/compass/grid_builder.rb +0 -102
  708. data/lib/compass/sass_extensions/functions/colors.rb +0 -67
  709. data/lib/compass/sass_extensions/functions/constants.rb +0 -74
  710. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +0 -70
  711. data/lib/compass/sass_extensions/functions/display.rb +0 -27
  712. data/lib/compass/sass_extensions/functions/enumerate.rb +0 -7
  713. data/lib/compass/sass_extensions/functions/env.rb +0 -5
  714. data/lib/compass/sass_extensions/functions/font_files.rb +0 -41
  715. data/lib/compass/sass_extensions/functions/gradient_support.rb +0 -540
  716. data/lib/compass/sass_extensions/functions/image_size.rb +0 -113
  717. data/lib/compass/sass_extensions/functions/inline_image.rb +0 -64
  718. data/lib/compass/sass_extensions/functions/lists.rb +0 -101
  719. data/lib/compass/sass_extensions/functions/math.rb +0 -63
  720. data/lib/compass/sass_extensions/functions/selectors.rb +0 -64
  721. data/lib/compass/sass_extensions/functions/urls.rb +0 -266
  722. data/lib/compass/sass_extensions/monkey_patches.rb +0 -3
  723. data/lib/compass/sass_extensions/monkey_patches/browser_support.rb +0 -95
  724. data/lib/compass/sass_extensions/monkey_patches/traversal.rb +0 -23
  725. data/lib/compass/util.rb +0 -29
  726. data/test/fixtures/stylesheets/blueprint/config.rb +0 -14
  727. data/test/fixtures/stylesheets/blueprint/css/ie.css +0 -76
  728. data/test/fixtures/stylesheets/blueprint/css/print.css +0 -56
  729. data/test/fixtures/stylesheets/blueprint/css/screen.css +0 -815
  730. data/test/fixtures/stylesheets/blueprint/css/single-imports/buttons.css +0 -56
  731. data/test/fixtures/stylesheets/blueprint/css/single-imports/colors.css +0 -80
  732. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +0 -11
  733. data/test/fixtures/stylesheets/blueprint/css/single-imports/fancy-type.css +0 -30
  734. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +0 -42
  735. data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +0 -435
  736. data/test/fixtures/stylesheets/blueprint/css/single-imports/ie.css +0 -76
  737. data/test/fixtures/stylesheets/blueprint/css/single-imports/interaction.css +0 -46
  738. data/test/fixtures/stylesheets/blueprint/css/single-imports/link-icons.css +0 -40
  739. data/test/fixtures/stylesheets/blueprint/css/single-imports/liquid.css +0 -651
  740. data/test/fixtures/stylesheets/blueprint/css/single-imports/print.css +0 -60
  741. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset-utilities.css +0 -75
  742. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset.css +0 -42
  743. data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +0 -437
  744. data/test/fixtures/stylesheets/blueprint/css/single-imports/scaffolding.css +0 -45
  745. data/test/fixtures/stylesheets/blueprint/css/single-imports/typography.css +0 -146
  746. data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +0 -35
  747. data/test/fixtures/stylesheets/blueprint/images/grid.png +0 -0
  748. data/test/fixtures/stylesheets/blueprint/images/link_icons/doc.png +0 -0
  749. data/test/fixtures/stylesheets/blueprint/images/link_icons/email.png +0 -0
  750. data/test/fixtures/stylesheets/blueprint/images/link_icons/external.png +0 -0
  751. data/test/fixtures/stylesheets/blueprint/images/link_icons/feed.png +0 -0
  752. data/test/fixtures/stylesheets/blueprint/images/link_icons/im.png +0 -0
  753. data/test/fixtures/stylesheets/blueprint/images/link_icons/pdf.png +0 -0
  754. data/test/fixtures/stylesheets/blueprint/images/link_icons/visited.png +0 -0
  755. data/test/fixtures/stylesheets/blueprint/images/link_icons/xls.png +0 -0
  756. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +0 -3
  757. data/test/fixtures/stylesheets/blueprint/sass/print.sass +0 -3
  758. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +0 -18
  759. data/test/fixtures/stylesheets/blueprint/sass/single-imports/buttons.scss +0 -4
  760. data/test/fixtures/stylesheets/blueprint/sass/single-imports/colors.scss +0 -34
  761. data/test/fixtures/stylesheets/blueprint/sass/single-imports/debug.scss +0 -3
  762. data/test/fixtures/stylesheets/blueprint/sass/single-imports/fancy-type.scss +0 -3
  763. data/test/fixtures/stylesheets/blueprint/sass/single-imports/form.scss +0 -5
  764. data/test/fixtures/stylesheets/blueprint/sass/single-imports/grid.scss +0 -3
  765. data/test/fixtures/stylesheets/blueprint/sass/single-imports/ie.scss +0 -3
  766. data/test/fixtures/stylesheets/blueprint/sass/single-imports/interaction.scss +0 -3
  767. data/test/fixtures/stylesheets/blueprint/sass/single-imports/link-icons.scss +0 -13
  768. data/test/fixtures/stylesheets/blueprint/sass/single-imports/liquid.scss +0 -3
  769. data/test/fixtures/stylesheets/blueprint/sass/single-imports/print.scss +0 -5
  770. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset-utilities.scss +0 -5
  771. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset.scss +0 -1
  772. data/test/fixtures/stylesheets/blueprint/sass/single-imports/rtl.scss +0 -3
  773. data/test/fixtures/stylesheets/blueprint/sass/single-imports/scaffolding.scss +0 -5
  774. data/test/fixtures/stylesheets/blueprint/sass/single-imports/typography.scss +0 -3
  775. data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.scss +0 -3
  776. data/test/fixtures/stylesheets/compass/css/pie.css +0 -26
  777. data/test/fixtures/stylesheets/compass/css/sprites.css +0 -1262
  778. data/test/fixtures/stylesheets/compass/sass/pie.scss +0 -47
  779. data/test/fixtures/stylesheets/compass/sass/sprites.scss +0 -13
  780. data/test/units/compass_module_test.rb +0 -36
  781. data/test/units/compass_png_test.rb +0 -46
@@ -1,27 +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 section summary},
19
- :"html5-inline" => %w{audio canvas command datalist embed keygen mark meter output progress rp rt ruby time video wbr},
20
- }
21
- DEFAULT_DISPLAY[:html5] = (DEFAULT_DISPLAY[:"html5-block"] + DEFAULT_DISPLAY[:"html5-inline"]).sort
22
- # returns a comma delimited string for all the
23
- # elements according to their default css3 display value.
24
- def elements_of_type(display)
25
- Sass::Script::String.new(DEFAULT_DISPLAY.fetch(display.value.to_sym).join(", "))
26
- end
27
- 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
@@ -1,5 +0,0 @@
1
- module Compass::SassExtensions::Functions::Env
2
- def compass_env
3
- Sass::Script::String.new((options[:compass][:environment] || "development").to_s)
4
- end
5
- end
@@ -1,41 +0,0 @@
1
- module Compass::SassExtensions::Functions::FontFiles
2
- FONT_TYPES = {
3
- :woff => 'woff',
4
- :otf => 'opentype',
5
- :opentype => 'opentype',
6
- :ttf => 'truetype',
7
- :truetype => 'truetype',
8
- :svg => 'svg',
9
- :eot => 'embedded-opentype'
10
- }
11
-
12
- def font_files(*args)
13
- files = []
14
- args_length = args.length
15
- skip_next = false
16
-
17
- args.each_with_index do |arg, index|
18
- if skip_next
19
- skip_next = false
20
- next
21
- end
22
-
23
- type = (args_length > (index + 1)) ? args[index + 1].value.to_sym : :wrong
24
-
25
- if FONT_TYPES.key? type
26
- skip_next = true
27
- else
28
- # let pass url like font.type?thing#stuff
29
- type = arg.to_s.split('.').last.gsub(/(\?(.*))?(#(.*))?"/, '').to_sym
30
- end
31
-
32
- if FONT_TYPES.key? type
33
- files << "#{font_url(arg)} format('#{FONT_TYPES[type]}')"
34
- else
35
- raise Sass::SyntaxError, "Could not determine font type for #{arg}"
36
- end
37
- end
38
-
39
- Sass::Script::String.new(files.join(", "))
40
- end
41
- end
@@ -1,540 +0,0 @@
1
- module Compass::SassExtensions::Functions::GradientSupport
2
-
3
- GRADIENT_ASPECTS = %w(webkit moz svg pie css2 o owg).freeze
4
-
5
- class ColorStop < Sass::Script::Literal
6
- attr_accessor :color, :stop
7
- def children
8
- [color, stop].compact
9
- end
10
- def initialize(color, stop = nil)
11
- unless Sass::Script::Color === color ||
12
- Sass::Script::Funcall === color ||
13
- (Sass::Script::String === color && color.value == "transparent")
14
- raise Sass::SyntaxError, "Expected a color. Got: #{color}"
15
- end
16
- if stop && !stop.is_a?(Sass::Script::Number)
17
- raise Sass::SyntaxError, "Expected a number. Got: #{stop}"
18
- end
19
- self.color, self.stop = color, stop
20
- end
21
- def inspect
22
- to_s
23
- end
24
- def self.color_to_s(c)
25
- if c.is_a?(Sass::Script::String)
26
- c.value.dup
27
- else
28
- c.inspect.dup
29
- end
30
- end
31
-
32
- def to_s(options = self.options)
33
- s = self.class.color_to_s(color)
34
- if stop
35
- s << " "
36
- if stop.unitless?
37
- s << stop.times(Sass::Script::Number.new(100, ["%"])).inspect
38
- else
39
- s << stop.inspect
40
- end
41
- end
42
- s
43
- end
44
- end
45
-
46
- module Gradient
47
-
48
- def self.included(base)
49
- base.extend ClassMethods
50
- end
51
-
52
- module ClassMethods
53
- def standardized_prefix(prefix)
54
- class_eval %Q{
55
- def to_#{prefix}(options = self.options)
56
- Sass::Script::String.new("-#{prefix}-\#{to_s(options)}")
57
- end
58
- }
59
- end
60
- end
61
-
62
- def inspect
63
- to_s
64
- end
65
-
66
- def supports?(aspect)
67
- GRADIENT_ASPECTS.include?(aspect)
68
- end
69
-
70
- def has_aspect?
71
- true
72
- end
73
-
74
- def angle?(value)
75
- value.is_a?(Sass::Script::Number) &&
76
- value.numerator_units.size == 1 &&
77
- value.numerator_units.first == "deg" &&
78
- value.denominator_units.empty?
79
- end
80
-
81
- end
82
-
83
- class RadialGradient < Sass::Script::Literal
84
- include Gradient
85
-
86
- attr_accessor :position, :shape_and_size, :color_stops
87
-
88
- def children
89
- [color_stops, position, shape_and_size].compact
90
- end
91
-
92
- def initialize(position, shape_and_size, color_stops)
93
- unless color_stops.value.size >= 2
94
- raise Sass::SyntaxError, "At least two color stops are required for a radial-gradient"
95
- end
96
- if angle?(position)
97
- raise Sass::SyntaxError, "CSS no longer allows angles in radial-gradients."
98
- end
99
- self.position = position
100
- self.shape_and_size = shape_and_size
101
- self.color_stops = color_stops
102
- end
103
-
104
- def to_s(options = self.options)
105
- s = "radial-gradient("
106
- s << position.to_s(options) << ", " if position
107
- s << shape_and_size.to_s(options) << ", " if shape_and_size
108
- s << color_stops.to_s(options)
109
- s << ")"
110
- end
111
-
112
- standardized_prefix :webkit
113
- standardized_prefix :moz
114
- standardized_prefix :o
115
-
116
- def to_owg(options = self.options)
117
- args = [
118
- grad_point(position || _center_position),
119
- Sass::Script::String.new("0"),
120
- grad_point(position || _center_position),
121
- grad_end_position(color_stops, Sass::Script::Bool.new(true)),
122
- grad_color_stops(color_stops)
123
- ]
124
- args.each {|a| a.options = options}
125
- Sass::Script::String.new("-webkit-gradient(radial, #{args.join(', ')})")
126
- end
127
-
128
- def to_svg(options = self.options)
129
- # XXX Add shape support if possible
130
- radial_svg_gradient(color_stops, position || _center_position)
131
- end
132
-
133
- def to_pie(options = self.options)
134
- Compass::Logger.new.record(:warning, "PIE does not support radial-gradient.")
135
- Sass::Script::String.new("-pie-radial-gradient(unsupported)")
136
- end
137
-
138
- def to_css2(options = self.options)
139
- Sass::Script::String.new("")
140
- end
141
- end
142
-
143
- class LinearGradient < Sass::Script::Literal
144
- include Gradient
145
-
146
- attr_accessor :color_stops, :position_or_angle
147
-
148
- def children
149
- [color_stops, position_or_angle].compact
150
- end
151
-
152
- def initialize(position_or_angle, color_stops)
153
- unless color_stops.value.size >= 2
154
- raise Sass::SyntaxError, "At least two color stops are required for a linear-gradient"
155
- end
156
- self.position_or_angle = position_or_angle
157
- self.color_stops = color_stops
158
- end
159
-
160
- def to_s(options = self.options)
161
- s = "linear-gradient("
162
- s << position_or_angle.to_s(options) << ", " if position_or_angle
163
- s << color_stops.to_s(options)
164
- s << ")"
165
- end
166
-
167
- standardized_prefix :webkit
168
- standardized_prefix :moz
169
- standardized_prefix :o
170
-
171
- def supports?(aspect)
172
- # I don't know how to support degree-based gradients in old webkit gradients (owg) or svg so we just disable them.
173
- if %w(owg svg).include?(aspect) && position_or_angle.is_a?(Sass::Script::Number) && position_or_angle.numerator_units.include?("deg")
174
- false
175
- else
176
- super
177
- end
178
- end
179
-
180
- # Output the original webkit gradient syntax
181
- def to_owg(options = self.options)
182
- args = []
183
- args << grad_point(position_or_angle || Sass::Script::String.new("top"))
184
- args << linear_end_position(position_or_angle, color_stops)
185
- args << grad_color_stops(color_stops)
186
- args.each{|a| a.options = options}
187
- Sass::Script::String.new("-webkit-gradient(linear, #{args.join(', ')})")
188
- end
189
-
190
- def to_svg(options = self.options)
191
- linear_svg_gradient(color_stops, position_or_angle || Sass::Script::String.new("top"))
192
- end
193
-
194
- def to_pie(options = self.options)
195
- # PIE just uses the standard rep, but the property is prefixed so
196
- # the presence of this attribute helps flag when to render a special rule.
197
- Sass::Script::String.new to_s(options)
198
- end
199
-
200
- def to_css2(options = self.options)
201
- Sass::Script::String.new("")
202
- end
203
- end
204
-
205
- module Functions
206
- # given a position list, return a corresponding position in percents
207
- # otherwise, returns the original argument
208
- def grad_point(position)
209
- original_value = position
210
- position = unless position.is_a?(Sass::Script::List)
211
- Sass::Script::List.new([position], :space)
212
- else
213
- Sass::Script::List.new(position.value.dup, position.separator)
214
- end
215
- # Handle unknown arguments by passing them along untouched.
216
- unless position.value.all?{|p| is_position(p).to_bool }
217
- return original_value
218
- end
219
- if (position.value.first.value =~ /top|bottom/) or (position.value.last.value =~ /left|right/)
220
- # browsers are pretty forgiving of reversed positions so we are too.
221
- position.value.reverse!
222
- end
223
- if position.value.size == 1
224
- if position.value.first.value =~ /top|bottom/
225
- position.value.unshift Sass::Script::String.new("center")
226
- elsif position.value.first.value =~ /left|right/
227
- position.value.push Sass::Script::String.new("center")
228
- end
229
- end
230
- position.value.map! do |p|
231
- case p.value
232
- when /top|left/
233
- Sass::Script::Number.new(0, ["%"])
234
- when /bottom|right/
235
- Sass::Script::Number.new(100, ["%"])
236
- when /center/
237
- Sass::Script::Number.new(50, ["%"])
238
- else
239
- p
240
- end
241
- end
242
- position
243
- end
244
-
245
- def color_stops(*args)
246
- Sass::Script::List.new(args.map do |arg|
247
- if ColorStop === arg
248
- arg
249
- elsif Sass::Script::Color === arg
250
- ColorStop.new(arg)
251
- elsif Sass::Script::List === arg
252
- ColorStop.new(*arg.value)
253
- elsif Sass::Script::String === arg && arg.value == "transparent"
254
- ColorStop.new(arg)
255
- else
256
- raise Sass::SyntaxError, "Not a valid color stop: #{arg.class.name}: #{arg}"
257
- end
258
- end, :comma)
259
- end
260
-
261
- def radial_gradient(position_or_angle, shape_and_size, *color_stops)
262
- # Have to deal with variable length/meaning arguments.
263
- if color_stop?(shape_and_size)
264
- color_stops.unshift(shape_and_size)
265
- shape_and_size = nil
266
- elsif list_of_color_stops?(shape_and_size)
267
- # Support legacy use of the color-stops() function
268
- color_stops = shape_and_size.value + color_stops
269
- shape_and_size = nil
270
- end
271
- shape_and_size = nil if shape_and_size && !shape_and_size.to_bool # nil out explictly passed falses
272
- # ditto for position_or_angle
273
- if color_stop?(position_or_angle)
274
- color_stops.unshift(position_or_angle)
275
- position_or_angle = nil
276
- elsif list_of_color_stops?(position_or_angle)
277
- color_stops = position_or_angle.value + color_stops
278
- position_or_angle = nil
279
- end
280
- position_or_angle = nil if position_or_angle && !position_or_angle.to_bool
281
-
282
- # Support legacy use of the color-stops() function
283
- if color_stops.size == 1 && list_of_color_stops?(color_stops.first)
284
- color_stops = color_stops.first.value
285
- end
286
- RadialGradient.new(position_or_angle, shape_and_size, send(:color_stops, *color_stops))
287
- end
288
-
289
- def linear_gradient(position_or_angle, *color_stops)
290
- if color_stop?(position_or_angle)
291
- color_stops.unshift(position_or_angle)
292
- position_or_angle = nil
293
- elsif list_of_color_stops?(position_or_angle)
294
- color_stops = position_or_angle.value + color_stops
295
- position_or_angle = nil
296
- end
297
- position_or_angle = nil if position_or_angle && !position_or_angle.to_bool
298
-
299
- # Support legacy use of the color-stops() function
300
- if color_stops.size == 1 && (stops = list_of_color_stops?(color_stops.first))
301
- color_stops = stops
302
- end
303
- LinearGradient.new(position_or_angle, send(:color_stops, *color_stops))
304
- end
305
-
306
- # returns color-stop() calls for use in webkit.
307
- def grad_color_stops(color_list)
308
- stops = color_stops_in_percentages(color_list).map do |stop, color|
309
- "color-stop(#{stop.inspect}, #{ColorStop.color_to_s(color)})"
310
- end
311
- Sass::Script::String.new(stops.join(", "))
312
- end
313
-
314
- def color_stops_in_percentages(color_list)
315
- assert_type color_list, :List
316
- color_list = normalize_stops(color_list)
317
- max = color_list.value.last.stop
318
- last_value = nil
319
- color_stops = color_list.value.map do |pos|
320
- # have to convert absolute units to percentages for use in color stop functions.
321
- stop = pos.stop
322
- stop = stop.div(max).times(Sass::Script::Number.new(100,["%"])) if stop.numerator_units == max.numerator_units && max.numerator_units != ["%"]
323
- # Make sure the color stops are specified in the right order.
324
- if last_value && stop.numerator_units == last_value.numerator_units && stop.denominator_units == last_value.denominator_units && (stop.value * 1000).round < (last_value.value * 1000).round
325
- raise Sass::SyntaxError.new("Color stops must be specified in increasing order. #{stop.value} came after #{last_value.value}.")
326
- end
327
- last_value = stop
328
- [stop, pos.color]
329
- end
330
- end
331
-
332
- # only used for webkit
333
- def linear_end_position(position_or_angle, color_list)
334
- start_point = grad_point(position_or_angle || Sass::Script::String.new("top"))
335
- end_point = grad_point(opposite_position(position_or_angle || Sass::Script::String.new("top")))
336
- end_target = color_list.value.last.stop
337
-
338
- if color_list.value.last.stop && color_list.value.last.stop.numerator_units == ["px"]
339
- new_end = color_list.value.last.stop.value
340
- if start_point.value.first == end_point.value.first && start_point.value.last.value == 0
341
- # this means top-to-bottom
342
- end_point.value[1] = Sass::Script::Number.new(end_target.value)
343
- elsif start_point.value.last == end_point.value.last && start_point.value.first.value == 0
344
- # this implies left-to-right
345
- end_point.value[0] = Sass::Script::Number.new(end_target.value)
346
- end
347
- end
348
- end_point
349
- end
350
-
351
- # returns the end position of the gradient from the color stop
352
- def grad_end_position(color_list, radial = Sass::Script::Bool.new(false))
353
- assert_type color_list, :List
354
- default = Sass::Script::Number.new(100)
355
- grad_position(color_list, Sass::Script::Number.new(color_list.value.size), default, radial)
356
- end
357
-
358
- def grad_position(color_list, index, default, radial = Sass::Script::Bool.new(false))
359
- assert_type color_list, :List
360
- stop = color_list.value[index.value - 1].stop
361
- if stop && radial.to_bool
362
- orig_stop = stop
363
- if stop.unitless?
364
- if stop.value <= 1
365
- # A unitless number is assumed to be a percentage when it's between 0 and 1
366
- stop = stop.times(Sass::Script::Number.new(100, ["%"]))
367
- else
368
- # Otherwise, a unitless number is assumed to be in pixels
369
- stop = stop.times(Sass::Script::Number.new(1, ["px"]))
370
- end
371
- end
372
- if stop.numerator_units == ["%"] && color_list.value.last.stop && color_list.value.last.stop.numerator_units == ["px"]
373
- stop = stop.times(color_list.value.last.stop).div(Sass::Script::Number.new(100, ["%"]))
374
- end
375
- Compass::Logger.new.record(:warning, "Webkit only supports pixels for the start and end stops for radial gradients. Got: #{orig_stop}") if stop.numerator_units != ["px"]
376
- stop.div(Sass::Script::Number.new(1, stop.numerator_units, stop.denominator_units))
377
- elsif stop
378
- stop
379
- else
380
- default
381
- end
382
- end
383
-
384
- def linear_svg_gradient(color_stops, start)
385
- x1, y1 = *grad_point(start).value
386
- x2, y2 = *grad_point(opposite_position(start)).value
387
- stops = color_stops_in_percentages(color_stops)
388
-
389
- svg = linear_svg(stops, x1, y1, x2, y2)
390
- inline_image_string(svg.gsub(/\s+/, ' '), 'image/svg+xml')
391
- end
392
-
393
- def radial_svg_gradient(color_stops, center)
394
- cx, cy = *grad_point(center).value
395
- r = grad_end_position(color_stops, Sass::Script::Bool.new(true))
396
- stops = color_stops_in_percentages(color_stops)
397
-
398
- svg = radial_svg(stops, cx, cy, r)
399
- inline_image_string(svg.gsub(/\s+/, ' '), 'image/svg+xml')
400
- end
401
-
402
- private
403
-
404
- def color_stop?(arg)
405
- arg.is_a?(ColorStop) ||
406
- (arg.is_a?(Sass::Script::List) && ColorStop.new(*arg.value)) ||
407
- ColorStop.new(arg)
408
- rescue
409
- nil
410
- end
411
-
412
- def normalize_stops(color_list)
413
- positions = color_list.value.map{|obj| obj.dup}
414
- # fill in the start and end positions, if unspecified
415
- positions.first.stop = Sass::Script::Number.new(0) unless positions.first.stop
416
- positions.last.stop = Sass::Script::Number.new(100, ["%"]) unless positions.last.stop
417
- # fill in empty values
418
- for i in 0...positions.size
419
- if positions[i].stop.nil?
420
- num = 2.0
421
- for j in (i+1)...positions.size
422
- if positions[j].stop
423
- positions[i].stop = positions[i-1].stop.plus((positions[j].stop.minus(positions[i-1].stop)).div(Sass::Script::Number.new(num)))
424
- break
425
- else
426
- num += 1
427
- end
428
- end
429
- end
430
- end
431
- # normalize unitless numbers
432
- positions.each do |pos|
433
- if pos.stop.unitless? && pos.stop.value <= 1
434
- pos.stop = pos.stop.times(Sass::Script::Number.new(100, ["%"]))
435
- elsif pos.stop.unitless?
436
- pos.stop = pos.stop.times(Sass::Script::Number.new(1, ["px"]))
437
- end
438
- end
439
- if (positions.last.stop.eq(Sass::Script::Number.new(0, ["px"])).to_bool ||
440
- positions.last.stop.eq(Sass::Script::Number.new(0, ["%"])).to_bool)
441
- raise Sass::SyntaxError.new("Color stops must be specified in increasing order")
442
- end
443
- if defined?(Sass::Script::List)
444
- Sass::Script::List.new(positions, color_list.separator)
445
- else
446
- color_list.class.new(*positions)
447
- end
448
- end
449
-
450
- def parse_color_stop(arg)
451
- return ColorStop.new(arg) if arg.is_a?(Sass::Script::Color)
452
- return nil unless arg.is_a?(Sass::Script::String)
453
- color = stop = nil
454
- expr = Sass::Script::Parser.parse(arg.value, 0, 0)
455
- case expr
456
- when Sass::Script::Color
457
- color = expr
458
- when Sass::Script::Funcall
459
- color = expr
460
- when Sass::Script::Operation
461
- unless [:concat, :space].include?(expr.instance_variable_get("@operator"))
462
- # This should never happen.
463
- raise Sass::SyntaxError, "Couldn't parse a color stop from: #{arg.value}"
464
- end
465
- color = expr.instance_variable_get("@operand1")
466
- stop = expr.instance_variable_get("@operand2")
467
- else
468
- raise Sass::SyntaxError, "Couldn't parse a color stop from: #{arg.value}"
469
- end
470
- ColorStop.new(color, stop)
471
- end
472
-
473
- def list_of_color_stops?(arg)
474
- if arg.respond_to?(:value)
475
- arg.value.is_a?(Array) && arg.value.all?{|a| color_stop?(a)} ? arg.value : nil
476
- elsif arg.is_a?(Array)
477
- arg.all?{|a| color_stop?(a)} ? arg : nil
478
- end
479
- end
480
-
481
- def linear_svg(color_stops, x1, y1, x2, y2)
482
- transform = ''
483
- if angle?(position_or_angle)
484
- transform = %Q{ gradientTransform = "rotate(#{position_or_angle.value})"}
485
- end
486
- gradient = %Q{<linearGradient id="grad" gradientUnits="userSpaceOnUse" x1="#{x1}" y1="#{y1}" x2="#{x2}" y2="#{y2}"#{transform}>#{color_stops_svg(color_stops)}</linearGradient>}
487
- svg(gradient)
488
- end
489
-
490
- def radial_svg(color_stops, cx, cy, r)
491
- gradient = %Q{<radialGradient id="grad" gradientUnits="userSpaceOnUse" cx="#{cx}" cy="#{cy}" r="#{r}">#{color_stops_svg(color_stops)}</radialGradient>}
492
- svg(gradient)
493
- end
494
-
495
- # color_stops = array of: [stop, color]
496
- def color_stops_svg(color_stops)
497
- color_stops.each.map{ |stop, color|
498
- %{<stop offset="#{stop.to_s}" stop-color="#{color.inspect}"/>}
499
- }.join
500
- end
501
-
502
- def svg(gradient)
503
- svg = <<-EOS
504
- <?xml version="1.0" encoding="utf-8"?>
505
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><defs>#{gradient}</defs><rect x="0" y="0" width="100%" height="100%" fill="url(#grad)" /></svg>
506
- EOS
507
- end
508
-
509
- def _center_position
510
- Sass::Script::List.new([
511
- Sass::Script::String.new("center"),
512
- Sass::Script::String.new("center")
513
- ],:space)
514
- end
515
-
516
- end
517
-
518
- module Assertions
519
- def assert_type(value, type, name = nil)
520
- return if value.is_a?(Sass::Script.const_get(type))
521
- err = "#{value.inspect} is not a #{type.to_s.downcase}"
522
- err = "$#{name}: " + err if name
523
- raise ArgumentError.new(err)
524
- end
525
- end
526
-
527
- class LinearGradient < Sass::Script::Literal
528
- include Assertions
529
- include Functions
530
- include Compass::SassExtensions::Functions::Constants
531
- include Compass::SassExtensions::Functions::InlineImage
532
- end
533
-
534
- class RadialGradient < Sass::Script::Literal
535
- include Assertions
536
- include Functions
537
- include Compass::SassExtensions::Functions::Constants
538
- include Compass::SassExtensions::Functions::InlineImage
539
- end
540
- end