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
@@ -0,0 +1,151 @@
1
+ require 'sass/plugin'
2
+
3
+ class Compass::SassCompiler
4
+
5
+ include Compass::Actions
6
+
7
+ attr_writer :logger
8
+ attr_reader :quiet
9
+ attr_reader :error_count
10
+ attr_accessor :config
11
+ attr_accessor :display_compilation_times
12
+ attr_accessor :working_path
13
+ attr_accessor :only_sass_files
14
+
15
+ def initialize(options = {}, config = Compass.configuration)
16
+ options = options.dup
17
+ self.config = config
18
+ self.display_compilation_times = options.delete(:time)
19
+ self.working_path = options.delete(:working_path) || Dir.pwd
20
+ self.only_sass_files = options.delete(:only_sass_files) || []
21
+ @quiet = options[:quiet]
22
+ plugin_options = config.to_sass_plugin_options.merge(options)
23
+ if only_sass_files.any?
24
+ plugin_options[:template_location] = []
25
+ plugin_options[:load_paths] = config.sass_load_paths
26
+ end
27
+ plugin_options[:always_update] = true if options.delete(:force)
28
+ plugin_options[:compass] ||= {}
29
+ plugin_options[:compass][:logger] = logger
30
+ @compiler = Sass::Plugin::Compiler.new(plugin_options)
31
+ @start_times = {}
32
+ @error_count = 0
33
+
34
+ public_methods(true).grep(/^when_/).each do |callback|
35
+ @compiler.send(callback.to_s.sub(/^when_/, 'on_')) {|*args| send(callback, *args) }
36
+ end
37
+ end
38
+
39
+ def compile!
40
+ @compiler.update_stylesheets(individual_files)
41
+ end
42
+
43
+ def watch!(options = {}, &block)
44
+ skip_initial_update = options.fetch(:skip_initial_update, false)
45
+ begin
46
+ @compiler.watch(individual_files, options.merge(:skip_initial_update => skip_initial_update), &block)
47
+ rescue Sass::SyntaxError => e
48
+ skip_initial_update = true
49
+ retry
50
+ end
51
+ end
52
+
53
+ def individual_files
54
+ only_sass_files.map {|sass_file| [sass_file, corresponding_css_file(sass_file)]}
55
+ end
56
+
57
+ def clean!
58
+ @compiler.clean(individual_files)
59
+ end
60
+
61
+ def file_list
62
+ @compiler.file_list(individual_files)
63
+ end
64
+
65
+ def when_updating_stylesheets(individual_files)
66
+ @start_times = {}
67
+ @error_count = 0
68
+ end
69
+
70
+ def when_compilation_starting(sass_file, css, sourcemap)
71
+ @start_times[sass_file] = Time.now
72
+ end
73
+
74
+ def when_template_created(sass_file)
75
+ logger.record :created, relativize(sass_file)
76
+ end
77
+
78
+ def when_template_deleted(sass_file)
79
+ logger.record :deleted, relativize(sass_file)
80
+ end
81
+
82
+ def when_template_modified(sass_file)
83
+ logger.record :modified, relativize(sass_file)
84
+ end
85
+
86
+ def when_updated_stylesheet(sass_file, css, sourcemap)
87
+ if css && display_compilation_times && @start_times[sass_file]
88
+ duration = ((Time.now - @start_times[sass_file]) * 1000).round / 1000.0
89
+ logger.record :write, "#{relativize(css)} (#{duration}s)"
90
+ else
91
+ logger.record :write, relativize(css) if css
92
+ end
93
+ config.run_stylesheet_saved(css) if css
94
+
95
+ logger.record :write, relativize(sourcemap) if sourcemap
96
+ config.run_sourcemap_saved(sourcemap) if sourcemap
97
+ end
98
+
99
+ def when_creating_directory(dirname)
100
+ logger.record :directory, relativize(dirname)
101
+ end
102
+
103
+ def when_deleting_css(filename)
104
+ logger.record :delete, relativize(filename)
105
+ config.run_stylesheet_removed(filename) if filename
106
+ end
107
+
108
+ def when_deleting_sourcemap(filename)
109
+ logger.record :delete, relativize(filename)
110
+ config.run_sourcemap_removed(filename) if filename
111
+ end
112
+
113
+ def when_compilation_error(error, sass_file, css_file, sourcemap_file)
114
+ @error_count += 1
115
+ if error.respond_to?(:sass_filename)
116
+ if relativize(error.sass_filename) == relativize(sass_file)
117
+ logger.record :error, "#{relativize(error.sass_filename)} (Line #{error.sass_line}: #{error.message})"
118
+ else
119
+ logger.record :error, "#{relativize(sass_file)} (Line #{error.sass_line} of #{relativize(error.sass_filename)}: #{error.message})"
120
+ end
121
+ else
122
+ logger.record :error, "#{relativize(sass_file)} (#{error.backtrace.first}: #{error.message})"
123
+ end
124
+ config.run_stylesheet_error(sass_file, error.message)
125
+ end
126
+
127
+ def logger
128
+ @logger ||= Compass::Logger.new(:quiet => quiet)
129
+ end
130
+
131
+ def corresponding_css_file(sass_file)
132
+ "#{config.css_path}/#{stylesheet_name(sass_file)}.css"
133
+ end
134
+
135
+ def stylesheet_name(sass_file)
136
+ if sass_file.index(config.sass_path) == 0
137
+ sass_file[(config.sass_path.length + 1)..-6].sub(/\.css$/,'')
138
+ else
139
+ raise Compass::Error, "Individual stylesheets must be in the sass directory."
140
+ end
141
+ end
142
+
143
+ def sass_files(options = {})
144
+ @compiler.template_location_array.map do |(sass_dir, css_dir)|
145
+ glob = options[:include_partials] ?
146
+ File.join("**","*.s[ac]ss*") :
147
+ File.join("**","[^_]*.s[ac]ss*")
148
+ Dir.glob(File.join(sass_dir, glob))
149
+ end.flatten
150
+ end
151
+ end
@@ -6,5 +6,4 @@ module Compass::SassExtensions
6
6
  end
7
7
 
8
8
  require 'compass/sass_extensions/functions'
9
- require 'compass/sass_extensions/monkey_patches'
10
9
  require 'compass/sass_extensions/sprites'
@@ -1,34 +1,15 @@
1
1
  module Compass::SassExtensions::Functions
2
+ module SassDeclarationHelper
3
+ def declare(*args)
4
+ Sass::Script::Functions.declare(*args)
5
+ end
6
+ end
2
7
  end
3
8
 
4
- %w(
5
- selectors enumerate urls display
6
- inline_image image_size constants gradient_support
7
- font_files lists colors math
8
- sprites env cross_browser_support
9
- ).each do |func|
9
+ %w(sprites).each do |func|
10
10
  require "compass/sass_extensions/functions/#{func}"
11
11
  end
12
12
 
13
13
  module Sass::Script::Functions
14
- include Compass::SassExtensions::Functions::Selectors
15
- include Compass::SassExtensions::Functions::Enumerate
16
- include Compass::SassExtensions::Functions::Urls
17
- include Compass::SassExtensions::Functions::Display
18
- include Compass::SassExtensions::Functions::InlineImage
19
- include Compass::SassExtensions::Functions::ImageSize
20
- include Compass::SassExtensions::Functions::GradientSupport::Functions
21
- include Compass::SassExtensions::Functions::FontFiles
22
- include Compass::SassExtensions::Functions::Constants
23
- include Compass::SassExtensions::Functions::Lists
24
- include Compass::SassExtensions::Functions::Colors
25
- include Compass::SassExtensions::Functions::Math
26
14
  include Compass::SassExtensions::Functions::Sprites
27
- include Compass::SassExtensions::Functions::CrossBrowserSupport
28
- include Compass::SassExtensions::Functions::Env
29
- end
30
-
31
- # Wierd that this has to be re-included to pick up sub-modules. Ruby bug?
32
- class Sass::Script::Functions::EvaluationContext
33
- include Sass::Script::Functions
34
15
  end
@@ -1,6 +1,13 @@
1
1
  module Compass::SassExtensions::Functions::Sprites
2
- ZERO = Sass::Script::Number::new(0)
3
- VALID_SELECTORS = %w(hover active target)
2
+
3
+ extend Compass::SassExtensions::Functions::SassDeclarationHelper
4
+ extend Sass::Script::Value::Helpers
5
+ include Sass::Script::Value::Helpers
6
+
7
+ ZERO = number(0)
8
+ BOOL_FALSE = bool(false)
9
+ VALID_SELECTORS = %w(hover active target focus)
10
+
4
11
  # Provides a consistent interface for getting a variable in ruby
5
12
  # from a keyword argument hash that accounts for underscores/dash equivalence
6
13
  # and allows the caller to pass a symbol instead of a string.
@@ -10,17 +17,39 @@ module Compass::SassExtensions::Functions::Sprites
10
17
  end
11
18
  end
12
19
 
13
- #Returns a list of all sprite names
20
+ # Returns the width of the generated sprite map
21
+ def sprite_width(map, sprite=nil)
22
+ verify_map(map, 'sprite-width')
23
+ file = get_sprite_file(map, sprite)
24
+ width, _ = image_dimensions(file)
25
+ number(width, "px")
26
+ end
27
+ declare :sprite_width, [:map]
28
+ declare :sprite_width, [:map, :sprite]
29
+
30
+ # Returns the height of the generated sprite map
31
+ def sprite_height(map, sprite=nil)
32
+ verify_map(map, 'sprite-height')
33
+ file = get_sprite_file(map, sprite)
34
+ _, height = image_dimensions(file)
35
+ number(height, "px")
36
+ end
37
+ declare :sprite_height, [:map]
38
+ declare :sprite_height, [:map, :sprite]
39
+
40
+ # Returns a list of all sprite names
14
41
  def sprite_names(map)
15
- Sass::Script::List.new(map.sprite_names.map { |f| Sass::Script::String.new(f) }, ' ')
42
+ verify_map(map, 'sprite-names')
43
+ list(map.sprite_names.map { |f| identifier(f) }, :comma)
16
44
  end
17
- Sass::Script::Functions.declare :sprite_names, [:map]
45
+ declare :sprite_names, [:map]
18
46
 
19
47
  # Returns the system path of the sprite file
20
48
  def sprite_path(map)
21
- Sass::Script::String.new(map.name_and_hash)
49
+ verify_map(map, 'sprite-path')
50
+ identifier(map.filename)
22
51
  end
23
- Sass::Script::Functions.declare :sprite_path, [:map]
52
+ declare :sprite_path, [:map]
24
53
 
25
54
  # Returns the sprite file as an inline image
26
55
  # @include "icon/*.png";
@@ -30,9 +59,10 @@ module Compass::SassExtensions::Functions::Sprites
30
59
  def inline_sprite(map)
31
60
  verify_map(map, "sprite-url")
32
61
  map.generate
33
- inline_image(sprite_path(map))
62
+ path = map.filename
63
+ inline_image_string(data(path), compute_mime_type(path))
34
64
  end
35
- Sass::Script::Functions.declare :inline_sprite, [:map]
65
+ declare :inline_sprite, [:map]
36
66
 
37
67
  # Creates a Compass::SassExtensions::Sprites::SpriteMap object. A sprite map, when used in a property is the same
38
68
  # as calling sprite-url. So the following background properties are equivalent:
@@ -47,7 +77,7 @@ module Compass::SassExtensions::Functions::Sprites
47
77
  kwargs.extend VariableReader
48
78
  Compass::SassExtensions::Sprites::SpriteMap.from_uri(glob, self, kwargs)
49
79
  end
50
- Sass::Script::Functions.declare :sprite_map, [:glob], :var_kwargs => true
80
+ declare :sprite_map, [:glob], :var_kwargs => true
51
81
 
52
82
  # Returns the image and background position for use in a single shorthand property:
53
83
  #
@@ -57,27 +87,32 @@ module Compass::SassExtensions::Functions::Sprites
57
87
  # Becomes:
58
88
  #
59
89
  # background: url('/images/icons.png?12345678') 0 -24px no-repeat;
60
- def sprite(map, sprite, offset_x = ZERO, offset_y = ZERO)
61
- sprite = convert_sprite_name(sprite)
90
+ #
91
+ # If the `use_percentages` parameter is passed as true, percentages will be
92
+ # used to position the sprite. Example output:
93
+ #
94
+ # background: url('/images/icons.png?12345678') 0 50% no-repeat;
95
+ #
96
+ def sprite(map, sprite, offset_x = ZERO, offset_y = ZERO, use_percentages = BOOL_FALSE)
97
+ sprite = convert_sprite_name(sprite)
62
98
  verify_map(map)
63
- unless sprite.is_a?(Sass::Script::String)
64
- raise Sass::SyntaxError, %Q(The second argument to sprite() must be a sprite name. See http://beta.compass-style.org/help/tutorials/spriting/ for more information.)
65
- end
99
+ verify_sprite(sprite)
66
100
  url = sprite_url(map)
67
- position = sprite_position(map, sprite, offset_x, offset_y)
68
- Sass::Script::List.new([url] + position.value, :space)
101
+ position = sprite_position(map, sprite, offset_x, offset_y, use_percentages)
102
+ list([url] + position.value, :space)
69
103
  end
70
- Sass::Script::Functions.declare :sprite, [:map, :sprite]
71
- Sass::Script::Functions.declare :sprite, [:map, :sprite, :offset_x]
72
- Sass::Script::Functions.declare :sprite, [:map, :sprite, :offset_x, :offset_y]
104
+ declare :sprite, [:map, :sprite]
105
+ declare :sprite, [:map, :sprite, :offset_x]
106
+ declare :sprite, [:map, :sprite, :offset_x, :offset_y]
107
+ declare :sprite, [:map, :sprite, :offset_x, :offset_y, :use_percentages]
73
108
 
74
109
  # Returns the name of a sprite map
75
110
  # The name is derived from the folder than contains the sprites.
76
111
  def sprite_map_name(map)
77
112
  verify_map(map, "sprite-map-name")
78
- Sass::Script::String.new(map.name)
113
+ identifier(map.name)
79
114
  end
80
- Sass::Script::Functions.declare :sprite_name, [:sprite]
115
+ declare :sprite_name, [:sprite]
81
116
 
82
117
  # Returns the path to the original image file for the sprite with the given name
83
118
  def sprite_file(map, sprite)
@@ -85,22 +120,36 @@ module Compass::SassExtensions::Functions::Sprites
85
120
  verify_map(map, "sprite")
86
121
  verify_sprite(sprite)
87
122
  if image = map.image_for(sprite.value)
88
- Sass::Script::String.new(image.file)
123
+ image_path = Pathname.new(File.expand_path(image.file))
124
+ images_path = Pathname.new(File.expand_path(Compass.configuration.images_path))
125
+ quoted_string(image_path.relative_path_from(images_path).to_s)
89
126
  else
90
127
  missing_image!(map, sprite)
91
128
  end
92
129
  end
93
- Sass::Script::Functions.declare :sprite_file, [:map, :sprite]
130
+ declare :sprite_file, [:map, :sprite]
94
131
 
95
132
  # Returns boolean if sprite has a parent
96
133
  def sprite_does_not_have_parent(map, sprite)
97
134
  sprite = convert_sprite_name(sprite)
98
135
  verify_map map
99
136
  verify_sprite sprite
100
- Sass::Script::Bool.new map.image_for(sprite.value).parent.nil?
137
+ bool(map.image_for(sprite.value).parent.nil?)
101
138
  end
102
-
103
- Sass::Script::Functions.declare :sprite_does_not_have_parent, [:map, :sprite]
139
+ declare :sprite_does_not_have_parent, [:map, :sprite]
140
+
141
+ #return the name of the selector file
142
+ def sprite_selector_file(map, sprite, selector)
143
+ sprite = convert_sprite_name(sprite)
144
+ image = map.image_for(sprite)
145
+ if map.send(:"has_#{selector.value}?", sprite.value)
146
+ return identifier(image.send(selector.value).name)
147
+ end
148
+
149
+ raise Sass::SyntaxError, "Sprite: #{sprite.value} does not have a #{selector} state"
150
+ end
151
+
152
+ declare :sprite_selector_file, [:map, :sprite, :selector]
104
153
 
105
154
  # Returns boolean if sprite has the selector
106
155
  def sprite_has_selector(map, sprite, selector)
@@ -110,19 +159,27 @@ module Compass::SassExtensions::Functions::Sprites
110
159
  unless VALID_SELECTORS.include?(selector.value)
111
160
  raise Sass::SyntaxError, "Invalid Selctor did you mean one of: #{VALID_SELECTORS.join(', ')}"
112
161
  end
113
- Sass::Script::Bool.new map.send(:"has_#{selector.value}?", sprite.value)
162
+ bool map.send(:"has_#{selector.value}?", sprite.value)
114
163
  end
115
164
 
116
- Sass::Script::Functions.declare :sprite_has_selector, [:map, :sprite, :selector]
165
+ declare :sprite_has_selector, [:map, :sprite, :selector]
117
166
 
167
+ # Determines if the CSS selector is valid
168
+ IDENTIFIER_RX = /\A#{Sass::SCSS::RX::IDENT}\Z/
169
+ def sprite_has_valid_selector(selector)
170
+ unless selector.value =~ IDENTIFIER_RX
171
+ raise Sass::SyntaxError, "#{selector} must be a legal css identifier"
172
+ end
173
+ bool true
174
+ end
118
175
 
119
176
  # Returns a url to the sprite image.
120
177
  def sprite_url(map)
121
178
  verify_map(map, "sprite-url")
122
179
  map.generate
123
- generated_image_url(Sass::Script::String.new("#{map.path}-s#{map.uniqueness_hash}.png"))
180
+ generated_image_url(identifier("#{map.path}-s#{map.uniqueness_hash}.png"))
124
181
  end
125
- Sass::Script::Functions.declare :sprite_url, [:map]
182
+ declare :sprite_url, [:map]
126
183
 
127
184
  # Returns the position for the original image in the sprite.
128
185
  # This is suitable for use as a value to background-position:
@@ -143,53 +200,83 @@ module Compass::SassExtensions::Functions::Sprites
143
200
  # Would change the above output to:
144
201
  #
145
202
  # background-position: 3px -36px;
146
- def sprite_position(map, sprite = nil, offset_x = ZERO, offset_y = ZERO)
203
+ #
204
+ # If you set the `use_percentages` parameter to true, the position will be
205
+ # expressed in percentages. An example:
206
+ #
207
+ # background-position: sprite-position($icons, new, 0, 0, true);
208
+ #
209
+ # Would result in something like this:
210
+ #
211
+ # background-position: 0 42%;
212
+ #
213
+ def sprite_position(map, sprite = nil, offset_x = ZERO, offset_y = ZERO, use_percentages = BOOL_FALSE)
147
214
  assert_type offset_x, :Number
148
215
  assert_type offset_y, :Number
149
216
  sprite = convert_sprite_name(sprite)
150
217
  verify_map(map, "sprite-position")
151
- unless sprite && sprite.is_a?(Sass::Script::String)
218
+ unless sprite.is_a?(Sass::Script::Value::String) || sprite.is_a?(Sass::Script::Value::Number)
152
219
  raise Sass::SyntaxError, %Q(The second argument to sprite-position must be a sprite name. See http://beta.compass-style.org/help/tutorials/spriting/ for more information.)
153
220
  end
154
221
  image = map.image_for(sprite.value)
155
222
  unless image
156
223
  missing_image!(map, sprite)
157
224
  end
158
- if offset_x.unit_str == "%"
159
- x = offset_x # CE: Shouldn't this be a percentage of the total width?
225
+ if use_percentages.value
226
+ xdivis = map.width - image.width;
227
+ x = (offset_x.value + image.left.to_f) / (xdivis.nonzero? || 1) * 100
228
+ x = x == 0 ? number(x) : number(x, "%")
229
+ ydivis = map.height - image.height;
230
+ y = (offset_y.value + image.top.to_f) / (ydivis.nonzero? || 1) * 100
231
+ y = y == 0 ? number(y) : number(y, "%")
160
232
  else
161
- x = offset_x.value - image.left
162
- x = Sass::Script::Number.new(x, x == 0 ? [] : ["px"])
233
+ if offset_x.unit_str == "%"
234
+ x = offset_x # CE: Shouldn't this be a percentage of the total width?
235
+ else
236
+ x = offset_x.value - image.left
237
+ x = x == 0 ? number(x) : number(x, "px")
238
+ end
239
+ y = offset_y.value - image.top
240
+ y = y == 0 ? number(y) : number(y, "px")
163
241
  end
164
- y = offset_y.value - image.top
165
- y = Sass::Script::Number.new(y, y == 0 ? [] : ["px"])
166
- Sass::Script::List.new([x, y],:space)
167
- end
168
- Sass::Script::Functions.declare :sprite_position, [:map]
169
- Sass::Script::Functions.declare :sprite_position, [:map, :sprite]
170
- Sass::Script::Functions.declare :sprite_position, [:map, :sprite, :offset_x]
171
- Sass::Script::Functions.declare :sprite_position, [:map, :sprite, :offset_x, :offset_y]
172
-
173
- def sprite_image(*args)
174
- raise Sass::SyntaxError, %Q(The sprite-image() function has been replaced by sprite(). See http://compass-style.org/help/tutorials/spriting/ for more information.)
242
+ list(x, y, :space)
175
243
  end
244
+ declare :sprite_position, [:map]
245
+ declare :sprite_position, [:map, :sprite]
246
+ declare :sprite_position, [:map, :sprite, :offset_x]
247
+ declare :sprite_position, [:map, :sprite, :offset_x, :offset_y]
248
+ declare :sprite_position, [:map, :sprite, :offset_x, :offset_y, :use_percentages]
176
249
 
177
250
  protected
178
251
 
252
+ def get_sprite_file(map, sprite=nil)
253
+ if sprite
254
+ map.image_for(sprite).file
255
+ else
256
+ map.filename
257
+ end
258
+ end
259
+
179
260
  def reversed_color_names
180
- if Sass::Script::Color.const_defined?(:HTML4_COLORS_REVERSE)
181
- Sass::Script::Color::HTML4_COLORS_REVERSE
261
+ if Sass::Script::Value::Color.const_defined?(:HTML4_COLORS_REVERSE)
262
+ Sass::Script::Value::Color::HTML4_COLORS_REVERSE
182
263
  else
183
- Sass::Script::Color::COLOR_NAMES_REVERSE
264
+ Sass::Script::Value::Color::COLOR_NAMES_REVERSE
184
265
  end
185
266
  end
186
267
 
187
268
  def convert_sprite_name(sprite)
188
269
  case sprite
189
- when Sass::Script::Color
190
- Sass::Script::String.new(reversed_color_names[sprite.rgb])
191
- when Sass::Script::Bool
192
- Sass::Script::String.new(sprite.to_s)
270
+ when Sass::Script::Value::Color
271
+ rgb = if reversed_color_names.keys.first.size == 3
272
+ sprite.rgb
273
+ else
274
+ # Sass 3.3 includes the alpha channel
275
+ sprite.rgba
276
+ end
277
+ identifier(reversed_color_names[rgb])
278
+ when Sass::Script::Value::Bool
279
+ identifier(sprite.to_s)
193
280
  else
194
281
  sprite
195
282
  end
@@ -202,7 +289,7 @@ protected
202
289
  end
203
290
 
204
291
  def verify_sprite(sprite)
205
- unless sprite.is_a?(Sass::Script::String)
292
+ unless sprite.is_a?(Sass::Script::Value::String) || sprite.is_a?(Sass::Script::Value::Number)
206
293
  raise Sass::SyntaxError, %Q(The second argument to sprite() must be a sprite name. See http://beta.compass-style.org/help/tutorials/spriting/ for more information.)
207
294
  end
208
295
  end