compass 0.12.4 → 1.0.0

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