compass-sourcemaps 0.12.3.sourcemaps.a4836f1 → 0.12.4.sourcemaps.a4836f1

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 (495) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.markdown +29 -29
  3. data/README.markdown +39 -39
  4. data/Rakefile +157 -157
  5. data/VERSION.yml +5 -5
  6. data/bin/compass +45 -45
  7. data/examples/README.markdown +3 -3
  8. data/examples/blueprint_default/config.rb +7 -7
  9. data/examples/blueprint_default/index.html.haml +85 -85
  10. data/examples/blueprint_default/parts/elements.html.haml +282 -282
  11. data/examples/blueprint_default/parts/forms.html.haml +200 -200
  12. data/examples/blueprint_default/parts/grid.html.haml +274 -274
  13. data/examples/blueprint_default/src/ie.scss +3 -3
  14. data/examples/blueprint_default/src/print.scss +3 -3
  15. data/examples/blueprint_default/src/screen.scss +9 -9
  16. data/examples/blueprint_plugins/config.rb +8 -8
  17. data/examples/blueprint_plugins/index.html.haml +96 -96
  18. data/examples/blueprint_plugins/plugins/buttons.html.haml +67 -67
  19. data/examples/blueprint_plugins/plugins/fancy_type.html.haml +100 -100
  20. data/examples/blueprint_plugins/plugins/link_icons.html.haml +61 -61
  21. data/examples/blueprint_plugins/plugins/rtl.html.haml +100 -100
  22. data/examples/blueprint_plugins/src/buttons.scss +47 -47
  23. data/examples/blueprint_plugins/src/ie.scss +3 -3
  24. data/examples/blueprint_plugins/src/link_icons.scss +13 -13
  25. data/examples/blueprint_plugins/src/print.scss +3 -3
  26. data/examples/blueprint_plugins/src/rtl_screen.scss +15 -15
  27. data/examples/blueprint_plugins/src/screen.scss +12 -12
  28. data/examples/blueprint_scoped/src/ie.scss +4 -4
  29. data/examples/blueprint_scoped/src/print.scss +4 -4
  30. data/examples/blueprint_scoped/src/screen.scss +5 -5
  31. data/examples/blueprint_scoped_form/src/ie.scss +3 -3
  32. data/examples/blueprint_scoped_form/src/print.scss +3 -3
  33. data/examples/blueprint_scoped_form/src/screen.scss +15 -15
  34. data/examples/blueprint_semantic/config.rb +7 -7
  35. data/examples/blueprint_semantic/index.html.haml +86 -86
  36. data/examples/blueprint_semantic/parts/fancy_type.html.haml +100 -100
  37. data/examples/blueprint_semantic/parts/liquid.html.haml +100 -100
  38. data/examples/blueprint_semantic/src/ie.scss +3 -3
  39. data/examples/blueprint_semantic/src/liquid.scss +69 -69
  40. data/examples/blueprint_semantic/src/print.scss +3 -3
  41. data/examples/blueprint_semantic/src/screen.scss +69 -69
  42. data/examples/compass/bootstrap.rb +3 -3
  43. data/examples/compass/clean.rb +1 -1
  44. data/examples/compass/compass.html.haml +39 -39
  45. data/examples/compass/config.rb +8 -8
  46. data/examples/compass/pie.html.haml +73 -73
  47. data/examples/compass/sprites.html.haml +37 -37
  48. data/examples/compass/src/bp_layout.scss +18 -18
  49. data/examples/compass/src/compass.scss +46 -46
  50. data/examples/compass/src/pie.scss +110 -110
  51. data/examples/compass/src/sprites.scss +24 -24
  52. data/examples/compass/src/sticky_footer.scss +11 -11
  53. data/examples/compass/src/utilities.scss +108 -108
  54. data/examples/compass/sticky_footer.html.haml +13 -13
  55. data/examples/compass/utilities.html.haml +189 -189
  56. data/examples/css3/bootstrap.rb +3 -3
  57. data/examples/css3/clean.rb +2 -2
  58. data/examples/css3/config.rb +6 -6
  59. data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +10 -10
  60. data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +6 -6
  61. data/examples/css3/gradients.html.haml +68 -68
  62. data/examples/css3/index.html.haml +57 -57
  63. data/examples/css3/src/_base.scss +13 -13
  64. data/examples/css3/src/fancy-fonts.scss +13 -13
  65. data/examples/css3/src/gradients.scss +85 -85
  66. data/examples/css3/src/main.scss +108 -108
  67. data/examples/downloader.rb +58 -58
  68. data/examples/ninesixty/bootstrap.rb +4 -4
  69. data/examples/ninesixty/clean.rb +1 -1
  70. data/examples/ninesixty/config.rb +9 -9
  71. data/examples/ninesixty/src/grid.scss +15 -15
  72. data/examples/ninesixty/src/text.scss +8 -8
  73. data/examples/susy/bootstrap.rb +3 -3
  74. data/examples/susy/clean.rb +1 -1
  75. data/examples/susy/config.rb +9 -9
  76. data/examples/susy/src/_base.scss +61 -61
  77. data/examples/susy/src/_defaults.scss +140 -140
  78. data/examples/susy/src/screen.scss +100 -100
  79. data/examples/yui/bootstrap.rb +2 -2
  80. data/examples/yui/clean.rb +1 -1
  81. data/examples/yui/divisions.html.haml +179 -179
  82. data/examples/yui/index.html.haml +19 -19
  83. data/examples/yui/src/screen.scss +13 -13
  84. data/examples/yui/sub_divisions.html.haml +169 -169
  85. data/examples/yui/templates.html.haml +54 -54
  86. data/examples/yui/typography.html.haml +132 -132
  87. data/features/command_line.feature +292 -292
  88. data/features/extensions.feature +27 -27
  89. data/features/step_definitions/command_line_steps.rb +268 -268
  90. data/features/step_definitions/extension_steps.rb +24 -24
  91. data/frameworks/blueprint/stylesheets/_blueprint.scss +37 -37
  92. data/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +100 -100
  93. data/frameworks/blueprint/stylesheets/blueprint/_colors.scss +36 -36
  94. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +28 -28
  95. data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +88 -88
  96. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +66 -66
  97. data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +258 -258
  98. data/frameworks/blueprint/stylesheets/blueprint/_ie.scss +111 -111
  99. data/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +66 -66
  100. data/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +37 -37
  101. data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +152 -152
  102. data/frameworks/blueprint/stylesheets/blueprint/_print.scss +86 -86
  103. data/frameworks/blueprint/stylesheets/blueprint/_reset.scss +2 -2
  104. data/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +121 -121
  105. data/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +52 -52
  106. data/frameworks/blueprint/stylesheets/blueprint/_typography.scss +90 -90
  107. data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +37 -37
  108. data/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +83 -83
  109. data/frameworks/blueprint/templates/basic/ie.sass +4 -4
  110. data/frameworks/blueprint/templates/basic/manifest.rb +30 -30
  111. data/frameworks/blueprint/templates/basic/partials/_base.sass +10 -10
  112. data/frameworks/blueprint/templates/basic/print.sass +4 -4
  113. data/frameworks/blueprint/templates/basic/screen.sass +12 -12
  114. data/frameworks/blueprint/templates/buttons/buttons.sass +49 -49
  115. data/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  116. data/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  117. data/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  118. data/frameworks/blueprint/templates/buttons/manifest.rb +17 -17
  119. data/frameworks/blueprint/templates/link_icons/link_icons.sass +13 -13
  120. data/frameworks/blueprint/templates/link_icons/manifest.rb +23 -23
  121. data/frameworks/blueprint/templates/project/ie.sass +16 -16
  122. data/frameworks/blueprint/templates/project/manifest.rb +30 -30
  123. data/frameworks/blueprint/templates/project/partials/_base.sass +11 -11
  124. data/frameworks/blueprint/templates/project/print.sass +7 -7
  125. data/frameworks/blueprint/templates/project/screen.sass +46 -46
  126. data/frameworks/blueprint/templates/semantic/ie.sass +16 -16
  127. data/frameworks/blueprint/templates/semantic/manifest.rb +33 -33
  128. data/frameworks/blueprint/templates/semantic/partials/_base.sass +10 -10
  129. data/frameworks/blueprint/templates/semantic/partials/_form.sass +5 -5
  130. data/frameworks/blueprint/templates/semantic/partials/_page.sass +17 -17
  131. data/frameworks/blueprint/templates/semantic/partials/_two_col.sass +38 -38
  132. data/frameworks/blueprint/templates/semantic/print.sass +4 -4
  133. data/frameworks/blueprint/templates/semantic/screen.sass +14 -14
  134. data/frameworks/compass/stylesheets/_compass.scss +3 -3
  135. data/frameworks/compass/stylesheets/_lemonade.scss +37 -37
  136. data/frameworks/compass/stylesheets/compass/_css3.scss +20 -20
  137. data/frameworks/compass/stylesheets/compass/_layout.scss +3 -3
  138. data/frameworks/compass/stylesheets/compass/_reset-legacy.scss +3 -3
  139. data/frameworks/compass/stylesheets/compass/_reset.scss +3 -3
  140. data/frameworks/compass/stylesheets/compass/_support.scss +40 -40
  141. data/frameworks/compass/stylesheets/compass/_typography.scss +4 -4
  142. data/frameworks/compass/stylesheets/compass/_utilities.scss +9 -9
  143. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +17 -17
  144. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +43 -43
  145. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +42 -42
  146. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +26 -26
  147. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +130 -130
  148. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +76 -76
  149. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +13 -13
  150. data/frameworks/compass/stylesheets/compass/css3/_box.scss +111 -111
  151. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +156 -156
  152. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +23 -23
  153. data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +48 -48
  154. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +77 -77
  155. data/frameworks/compass/stylesheets/compass/css3/_images.scss +132 -132
  156. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +22 -22
  157. data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +19 -19
  158. data/frameworks/compass/stylesheets/compass/css3/_pie.scss +72 -72
  159. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +21 -21
  160. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +38 -38
  161. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +87 -87
  162. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +87 -87
  163. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +598 -598
  164. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +221 -221
  165. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +17 -17
  166. data/frameworks/compass/stylesheets/compass/layout/_grid-background.scss +178 -178
  167. data/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +23 -23
  168. data/frameworks/compass/stylesheets/compass/layout/_stretching.scss +23 -23
  169. data/frameworks/compass/stylesheets/compass/reset/_utilities-legacy.scss +135 -135
  170. data/frameworks/compass/stylesheets/compass/reset/_utilities.scss +142 -142
  171. data/frameworks/compass/stylesheets/compass/typography/_links.scss +3 -3
  172. data/frameworks/compass/stylesheets/compass/typography/_lists.scss +4 -4
  173. data/frameworks/compass/stylesheets/compass/typography/_text.scss +4 -4
  174. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +221 -221
  175. data/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss +5 -5
  176. data/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss +28 -28
  177. data/frameworks/compass/stylesheets/compass/typography/links/_unstyled-link.scss +7 -7
  178. data/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss +34 -34
  179. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +61 -61
  180. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -50
  181. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +44 -44
  182. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +25 -25
  183. data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +12 -12
  184. data/frameworks/compass/stylesheets/compass/typography/text/_nowrap.scss +2 -2
  185. data/frameworks/compass/stylesheets/compass/typography/text/_replacement.scss +68 -68
  186. data/frameworks/compass/stylesheets/compass/utilities/_general.scss +6 -6
  187. data/frameworks/compass/stylesheets/compass/utilities/_links.scss +5 -5
  188. data/frameworks/compass/stylesheets/compass/utilities/_lists.scss +6 -6
  189. data/frameworks/compass/stylesheets/compass/utilities/_print.scss +17 -17
  190. data/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +2 -2
  191. data/frameworks/compass/stylesheets/compass/utilities/_tables.scss +3 -3
  192. data/frameworks/compass/stylesheets/compass/utilities/_text.scss +5 -5
  193. data/frameworks/compass/stylesheets/compass/utilities/color/_contrast.scss +27 -27
  194. data/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +44 -44
  195. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +29 -29
  196. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +46 -46
  197. data/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +16 -16
  198. data/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +1 -1
  199. data/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +1 -1
  200. data/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -18
  201. data/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +3 -3
  202. data/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +3 -3
  203. data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -3
  204. data/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +3 -3
  205. data/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -3
  206. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -3
  207. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +3 -3
  208. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +65 -65
  209. data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +78 -78
  210. data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -22
  211. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +33 -33
  212. data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -9
  213. data/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +3 -3
  214. data/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +3 -3
  215. data/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +3 -3
  216. data/frameworks/compass/templates/ellipsis/ellipsis.sass +8 -8
  217. data/frameworks/compass/templates/ellipsis/manifest.rb +26 -26
  218. data/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +13 -13
  219. data/frameworks/compass/templates/extension/manifest.rb +26 -26
  220. data/frameworks/compass/templates/extension/stylesheets/main.sass +1 -1
  221. data/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -2
  222. data/frameworks/compass/templates/extension/templates/project/screen.sass +1 -1
  223. data/frameworks/compass/templates/pie/LICENSE +12 -12
  224. data/frameworks/compass/templates/pie/LICENSE-APACHE2.txt +13 -13
  225. data/frameworks/compass/templates/pie/LICENSE-GPL2.txt +277 -277
  226. data/frameworks/compass/templates/pie/PIE.htc +96 -96
  227. data/frameworks/compass/templates/pie/manifest.rb +39 -39
  228. data/frameworks/compass/templates/pie/pie.scss +73 -73
  229. data/frameworks/compass/templates/project/USAGE.markdown +32 -32
  230. data/frameworks/compass/templates/project/ie.sass +6 -6
  231. data/frameworks/compass/templates/project/manifest.rb +3 -3
  232. data/frameworks/compass/templates/project/print.sass +6 -6
  233. data/frameworks/compass/templates/project/screen.sass +7 -7
  234. data/lib/compass.rb +37 -37
  235. data/lib/compass/actions.rb +115 -115
  236. data/lib/compass/app_integration.rb +39 -39
  237. data/lib/compass/app_integration/rails.rb +18 -18
  238. data/lib/compass/app_integration/stand_alone.rb +22 -22
  239. data/lib/compass/app_integration/stand_alone/configuration_defaults.rb +32 -32
  240. data/lib/compass/app_integration/stand_alone/installer.rb +83 -83
  241. data/lib/compass/browser_support.rb +62 -62
  242. data/lib/compass/commands.rb +12 -12
  243. data/lib/compass/commands/base.rb +44 -44
  244. data/lib/compass/commands/clean_project.rb +79 -79
  245. data/lib/compass/commands/create_project.rb +131 -131
  246. data/lib/compass/commands/default.rb +50 -50
  247. data/lib/compass/commands/extension_command.rb +60 -60
  248. data/lib/compass/commands/generate_grid_background.rb +96 -96
  249. data/lib/compass/commands/help.rb +85 -85
  250. data/lib/compass/commands/imports.rb +35 -35
  251. data/lib/compass/commands/installer_command.rb +32 -32
  252. data/lib/compass/commands/interactive.rb +61 -61
  253. data/lib/compass/commands/list_frameworks.rb +38 -38
  254. data/lib/compass/commands/print_version.rb +99 -99
  255. data/lib/compass/commands/project_base.rb +103 -103
  256. data/lib/compass/commands/project_stats.rb +178 -178
  257. data/lib/compass/commands/project_structure.rb +93 -93
  258. data/lib/compass/commands/registry.rb +40 -40
  259. data/lib/compass/commands/sprite.rb +89 -89
  260. data/lib/compass/commands/stamp_pattern.rb +90 -90
  261. data/lib/compass/commands/unpack_extension.rb +120 -120
  262. data/lib/compass/commands/update_project.rb +139 -139
  263. data/lib/compass/commands/validate_project.rb +77 -77
  264. data/lib/compass/commands/watch_project.rb +170 -170
  265. data/lib/compass/commands/write_configuration.rb +125 -125
  266. data/lib/compass/compiler.rb +200 -200
  267. data/lib/compass/configuration.rb +91 -91
  268. data/lib/compass/configuration/adapters.rb +77 -77
  269. data/lib/compass/configuration/comments.rb +59 -59
  270. data/lib/compass/configuration/data.rb +193 -193
  271. data/lib/compass/configuration/defaults.rb +187 -187
  272. data/lib/compass/configuration/file_data.rb +21 -21
  273. data/lib/compass/configuration/helpers.rb +160 -160
  274. data/lib/compass/configuration/inheritance.rb +304 -304
  275. data/lib/compass/configuration/paths.rb +19 -19
  276. data/lib/compass/configuration/serialization.rb +88 -88
  277. data/lib/compass/dependencies.rb +12 -12
  278. data/lib/compass/errors.rb +11 -11
  279. data/lib/compass/exec.rb +23 -23
  280. data/lib/compass/exec/command_option_parser.rb +23 -23
  281. data/lib/compass/exec/global_options_parser.rb +63 -63
  282. data/lib/compass/exec/helpers.rb +21 -21
  283. data/lib/compass/exec/project_options_parser.rb +66 -66
  284. data/lib/compass/exec/sub_command_ui.rb +51 -51
  285. data/lib/compass/exec/switch_ui.rb +179 -179
  286. data/lib/compass/frameworks.rb +133 -133
  287. data/lib/compass/grid_builder.rb +102 -102
  288. data/lib/compass/installers.rb +3 -3
  289. data/lib/compass/installers/bare_installer.rb +58 -58
  290. data/lib/compass/installers/base.rb +187 -187
  291. data/lib/compass/installers/manifest.rb +161 -161
  292. data/lib/compass/installers/manifest_installer.rb +61 -61
  293. data/lib/compass/installers/template_context.rb +43 -43
  294. data/lib/compass/logger.rb +103 -103
  295. data/lib/compass/quick_cache.rb +15 -15
  296. data/lib/compass/rails.rb +2 -2
  297. data/lib/compass/sass_extensions.rb +10 -10
  298. data/lib/compass/sass_extensions/functions.rb +34 -34
  299. data/lib/compass/sass_extensions/functions/colors.rb +67 -67
  300. data/lib/compass/sass_extensions/functions/constants.rb +74 -74
  301. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +70 -70
  302. data/lib/compass/sass_extensions/functions/display.rb +27 -27
  303. data/lib/compass/sass_extensions/functions/enumerate.rb +6 -6
  304. data/lib/compass/sass_extensions/functions/env.rb +5 -5
  305. data/lib/compass/sass_extensions/functions/font_files.rb +41 -41
  306. data/lib/compass/sass_extensions/functions/gradient_support.rb +540 -540
  307. data/lib/compass/sass_extensions/functions/image_size.rb +113 -113
  308. data/lib/compass/sass_extensions/functions/inline_image.rb +64 -64
  309. data/lib/compass/sass_extensions/functions/lists.rb +101 -101
  310. data/lib/compass/sass_extensions/functions/math.rb +63 -63
  311. data/lib/compass/sass_extensions/functions/selectors.rb +63 -63
  312. data/lib/compass/sass_extensions/functions/sprites.rb +218 -218
  313. data/lib/compass/sass_extensions/functions/urls.rb +266 -266
  314. data/lib/compass/sass_extensions/monkey_patches.rb +3 -3
  315. data/lib/compass/sass_extensions/monkey_patches/browser_support.rb +95 -95
  316. data/lib/compass/sass_extensions/monkey_patches/traversal.rb +23 -23
  317. data/lib/compass/sass_extensions/sprites.rb +19 -19
  318. data/lib/compass/sass_extensions/sprites/engines.rb +25 -25
  319. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +30 -30
  320. data/lib/compass/sass_extensions/sprites/image.rb +151 -151
  321. data/lib/compass/sass_extensions/sprites/image_methods.rb +31 -31
  322. data/lib/compass/sass_extensions/sprites/image_row.rb +46 -46
  323. data/lib/compass/sass_extensions/sprites/layout_methods.rb +158 -158
  324. data/lib/compass/sass_extensions/sprites/row_fitter.rb +91 -91
  325. data/lib/compass/sass_extensions/sprites/sprite_map.rb +86 -86
  326. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +141 -141
  327. data/lib/compass/sprite_importer.rb +116 -116
  328. data/lib/compass/sprite_importer/binding.rb +10 -10
  329. data/lib/compass/sprite_importer/content.erb +80 -80
  330. data/lib/compass/stats.rb +99 -99
  331. data/lib/compass/test_case.rb +38 -38
  332. data/lib/compass/util.rb +29 -29
  333. data/lib/compass/validator.rb +16 -16
  334. data/lib/compass/version.rb +60 -60
  335. data/test/fixtures/extensions/only_stylesheets/compass_init.rb +1 -1
  336. data/test/fixtures/extensions/only_stylesheets/scss/only_stylesheets/foo.scss +3 -3
  337. data/test/fixtures/fonts/bgrove.base64.txt +1 -1
  338. data/test/fixtures/fonts/bgrove.ttf +0 -0
  339. data/test/fixtures/sprites/public/images/ko/starbg26x27.png +0 -0
  340. data/test/fixtures/stylesheets/blueprint/config.rb +14 -14
  341. data/test/fixtures/stylesheets/blueprint/css/ie.css +76 -76
  342. data/test/fixtures/stylesheets/blueprint/css/print.css +56 -56
  343. data/test/fixtures/stylesheets/blueprint/css/screen.css +815 -815
  344. data/test/fixtures/stylesheets/blueprint/css/single-imports/buttons.css +56 -56
  345. data/test/fixtures/stylesheets/blueprint/css/single-imports/colors.css +80 -80
  346. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +11 -11
  347. data/test/fixtures/stylesheets/blueprint/css/single-imports/fancy-type.css +30 -30
  348. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +42 -42
  349. data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +435 -435
  350. data/test/fixtures/stylesheets/blueprint/css/single-imports/ie.css +76 -76
  351. data/test/fixtures/stylesheets/blueprint/css/single-imports/interaction.css +46 -46
  352. data/test/fixtures/stylesheets/blueprint/css/single-imports/link-icons.css +40 -40
  353. data/test/fixtures/stylesheets/blueprint/css/single-imports/liquid.css +651 -651
  354. data/test/fixtures/stylesheets/blueprint/css/single-imports/print.css +60 -60
  355. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset-utilities.css +75 -75
  356. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset.css +42 -42
  357. data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +437 -437
  358. data/test/fixtures/stylesheets/blueprint/css/single-imports/scaffolding.css +45 -45
  359. data/test/fixtures/stylesheets/blueprint/css/single-imports/typography.css +146 -146
  360. data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +35 -35
  361. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +3 -3
  362. data/test/fixtures/stylesheets/blueprint/sass/print.sass +3 -3
  363. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +18 -18
  364. data/test/fixtures/stylesheets/blueprint/sass/single-imports/buttons.scss +3 -3
  365. data/test/fixtures/stylesheets/blueprint/sass/single-imports/colors.scss +34 -34
  366. data/test/fixtures/stylesheets/blueprint/sass/single-imports/debug.scss +3 -3
  367. data/test/fixtures/stylesheets/blueprint/sass/single-imports/fancy-type.scss +3 -3
  368. data/test/fixtures/stylesheets/blueprint/sass/single-imports/form.scss +4 -4
  369. data/test/fixtures/stylesheets/blueprint/sass/single-imports/grid.scss +2 -2
  370. data/test/fixtures/stylesheets/blueprint/sass/single-imports/ie.scss +2 -2
  371. data/test/fixtures/stylesheets/blueprint/sass/single-imports/interaction.scss +3 -3
  372. data/test/fixtures/stylesheets/blueprint/sass/single-imports/link-icons.scss +12 -12
  373. data/test/fixtures/stylesheets/blueprint/sass/single-imports/liquid.scss +2 -2
  374. data/test/fixtures/stylesheets/blueprint/sass/single-imports/print.scss +4 -4
  375. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset-utilities.scss +4 -4
  376. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset.scss +1 -1
  377. data/test/fixtures/stylesheets/blueprint/sass/single-imports/rtl.scss +2 -2
  378. data/test/fixtures/stylesheets/blueprint/sass/single-imports/scaffolding.scss +5 -5
  379. data/test/fixtures/stylesheets/blueprint/sass/single-imports/typography.scss +3 -3
  380. data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.scss +3 -3
  381. data/test/fixtures/stylesheets/busted_image_urls/config.rb +29 -29
  382. data/test/fixtures/stylesheets/busted_image_urls/css/screen.css +9 -9
  383. data/test/fixtures/stylesheets/busted_image_urls/sass/screen.sass +13 -13
  384. data/test/fixtures/stylesheets/compass/config.rb +16 -16
  385. data/test/fixtures/stylesheets/compass/css/background-clip.css +10 -10
  386. data/test/fixtures/stylesheets/compass/css/border_radius.css +14 -14
  387. data/test/fixtures/stylesheets/compass/css/box-sizeing.css +9 -9
  388. data/test/fixtures/stylesheets/compass/css/box.css +103 -103
  389. data/test/fixtures/stylesheets/compass/css/box_shadow.css +14 -14
  390. data/test/fixtures/stylesheets/compass/css/columns.css +161 -161
  391. data/test/fixtures/stylesheets/compass/css/filters.css +29 -29
  392. data/test/fixtures/stylesheets/compass/css/fonts.css +4 -4
  393. data/test/fixtures/stylesheets/compass/css/force-wrap.css +9 -9
  394. data/test/fixtures/stylesheets/compass/css/gradients.css +202 -202
  395. data/test/fixtures/stylesheets/compass/css/grid_background.css +71 -71
  396. data/test/fixtures/stylesheets/compass/css/hyphenation.css +16 -16
  397. data/test/fixtures/stylesheets/compass/css/image_size.css +15 -15
  398. data/test/fixtures/stylesheets/compass/css/images.css +8 -8
  399. data/test/fixtures/stylesheets/compass/css/layout.css +16 -16
  400. data/test/fixtures/stylesheets/compass/css/legacy_clearfix.css +26 -26
  401. data/test/fixtures/stylesheets/compass/css/lists.css +151 -151
  402. data/test/fixtures/stylesheets/compass/css/opacity.css +3 -3
  403. data/test/fixtures/stylesheets/compass/css/pie.css +26 -26
  404. data/test/fixtures/stylesheets/compass/css/print.css +11 -11
  405. data/test/fixtures/stylesheets/compass/css/regions.css +7 -7
  406. data/test/fixtures/stylesheets/compass/css/replacement.css +59 -59
  407. data/test/fixtures/stylesheets/compass/css/reset.css +59 -59
  408. data/test/fixtures/stylesheets/compass/css/sprites.css +1262 -1262
  409. data/test/fixtures/stylesheets/compass/css/stretching.css +66 -66
  410. data/test/fixtures/stylesheets/compass/css/text_shadow.css +29 -29
  411. data/test/fixtures/stylesheets/compass/css/transform.css +441 -441
  412. data/test/fixtures/stylesheets/compass/css/transition.css +128 -128
  413. data/test/fixtures/stylesheets/compass/css/user-interface.css +4 -4
  414. data/test/fixtures/stylesheets/compass/css/utilities.css +56 -56
  415. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +45 -45
  416. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +7 -7
  417. data/test/fixtures/stylesheets/compass/sass/border_radius.scss +5 -5
  418. data/test/fixtures/stylesheets/compass/sass/box-sizeing.scss +7 -7
  419. data/test/fixtures/stylesheets/compass/sass/box.sass +49 -49
  420. data/test/fixtures/stylesheets/compass/sass/box_shadow.scss +5 -5
  421. data/test/fixtures/stylesheets/compass/sass/columns.scss +28 -28
  422. data/test/fixtures/stylesheets/compass/sass/filters.scss +24 -24
  423. data/test/fixtures/stylesheets/compass/sass/fonts.sass +2 -2
  424. data/test/fixtures/stylesheets/compass/sass/force-wrap.scss +3 -3
  425. data/test/fixtures/stylesheets/compass/sass/gradients.sass +96 -96
  426. data/test/fixtures/stylesheets/compass/sass/grid_background.scss +33 -33
  427. data/test/fixtures/stylesheets/compass/sass/hyphenation.scss +10 -10
  428. data/test/fixtures/stylesheets/compass/sass/image_size.sass +15 -15
  429. data/test/fixtures/stylesheets/compass/sass/images.scss +8 -8
  430. data/test/fixtures/stylesheets/compass/sass/layout.sass +3 -3
  431. data/test/fixtures/stylesheets/compass/sass/legacy_clearfix.scss +14 -14
  432. data/test/fixtures/stylesheets/compass/sass/lists.scss +11 -11
  433. data/test/fixtures/stylesheets/compass/sass/opacity.scss +5 -5
  434. data/test/fixtures/stylesheets/compass/sass/pie.scss +47 -47
  435. data/test/fixtures/stylesheets/compass/sass/print.sass +5 -5
  436. data/test/fixtures/stylesheets/compass/sass/regions.scss +3 -3
  437. data/test/fixtures/stylesheets/compass/sass/replacement.scss +22 -22
  438. data/test/fixtures/stylesheets/compass/sass/reset.sass +12 -12
  439. data/test/fixtures/stylesheets/compass/sass/sprites.scss +13 -13
  440. data/test/fixtures/stylesheets/compass/sass/stretching.sass +33 -33
  441. data/test/fixtures/stylesheets/compass/sass/text_shadow.scss +11 -11
  442. data/test/fixtures/stylesheets/compass/sass/transform.scss +87 -87
  443. data/test/fixtures/stylesheets/compass/sass/transition.scss +24 -24
  444. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +4 -4
  445. data/test/fixtures/stylesheets/compass/sass/utilities.scss +20 -20
  446. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +15 -15
  447. data/test/fixtures/stylesheets/envtest/config.rb +9 -9
  448. data/test/fixtures/stylesheets/envtest/css/env.css +2 -2
  449. data/test/fixtures/stylesheets/envtest/sass/env.scss +3 -3
  450. data/test/fixtures/stylesheets/error/config.rb +10 -10
  451. data/test/fixtures/stylesheets/error/sass/screen.sass +2 -2
  452. data/test/fixtures/stylesheets/image_urls/config.rb +19 -19
  453. data/test/fixtures/stylesheets/image_urls/css/screen.css +5 -5
  454. data/test/fixtures/stylesheets/image_urls/sass/screen.sass +8 -8
  455. data/test/fixtures/stylesheets/relative/config.rb +10 -10
  456. data/test/fixtures/stylesheets/relative/css/ie.css +1 -1
  457. data/test/fixtures/stylesheets/relative/css/print.css +1 -1
  458. data/test/fixtures/stylesheets/relative/css/screen.css +1 -1
  459. data/test/fixtures/stylesheets/relative/sass/ie.sass +5 -5
  460. data/test/fixtures/stylesheets/relative/sass/print.sass +3 -3
  461. data/test/fixtures/stylesheets/relative/sass/screen.sass +2 -2
  462. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/config.rb +25 -25
  463. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/ie.scss +5 -5
  464. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/print.scss +3 -3
  465. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/screen.scss +6 -6
  466. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/ie.css +5 -5
  467. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/print.css +3 -3
  468. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/screen.css +68 -68
  469. data/test/fixtures/stylesheets/valid/config.rb +9 -9
  470. data/test/fixtures/stylesheets/valid/sass/simple.sass +1 -1
  471. data/test/helpers/command_line.rb +114 -114
  472. data/test/helpers/diff.rb +48 -48
  473. data/test/helpers/io.rb +36 -36
  474. data/test/helpers/rails.rb +55 -55
  475. data/test/helpers/test_case.rb +62 -62
  476. data/test/integrations/compass_test.rb +224 -224
  477. data/test/integrations/sprites_test.rb +843 -843
  478. data/test/test_helper.rb +73 -73
  479. data/test/units/actions_test.rb +23 -23
  480. data/test/units/command_line_test.rb +60 -60
  481. data/test/units/compass_module_test.rb +36 -36
  482. data/test/units/compass_png_test.rb +45 -45
  483. data/test/units/compiler_test.rb +10 -10
  484. data/test/units/configuration_test.rb +440 -440
  485. data/test/units/regressions_test.rb +35 -35
  486. data/test/units/sass_extensions_test.rb +198 -198
  487. data/test/units/sprites/engine_test.rb +47 -47
  488. data/test/units/sprites/image_row_test.rb +57 -57
  489. data/test/units/sprites/image_test.rb +99 -99
  490. data/test/units/sprites/importer_test.rb +90 -90
  491. data/test/units/sprites/layout_test.rb +154 -154
  492. data/test/units/sprites/row_fitter_test.rb +65 -65
  493. data/test/units/sprites/sprite_command_test.rb +54 -54
  494. data/test/units/sprites/sprite_map_test.rb +130 -130
  495. metadata +1304 -1310
@@ -1,3 +1,3 @@
1
- %w(traversal browser_support).each do |patch|
2
- require "compass/sass_extensions/monkey_patches/#{patch}"
3
- end
1
+ %w(traversal browser_support).each do |patch|
2
+ require "compass/sass_extensions/monkey_patches/#{patch}"
3
+ end
@@ -1,95 +1,95 @@
1
- require 'sass/script/node'
2
- require 'sass/script/literal'
3
- require 'sass/script/funcall'
4
-
5
- module Sass::Script
6
- module HasSimpleCrossBrowserFunctionSupport
7
- def supports?(aspect)
8
- return true if Compass::BrowserSupport.supports?(name, aspect)
9
- children.any? {|child| child.respond_to?(:supports?) && child.supports?(aspect) }
10
- end
11
-
12
- def has_aspect?(children = nil)
13
- children ||= self.children
14
- return true if Compass::BrowserSupport.has_aspect?(name)
15
- children.any? {|child| child.respond_to?(:has_aspect?) && child.has_aspect? }
16
- end
17
- end
18
-
19
- class CrossBrowserFunctionCall < Literal
20
-
21
- attr_accessor :name, :args
22
-
23
- include HasSimpleCrossBrowserFunctionSupport
24
-
25
- def initialize(name, args)
26
- self.name = name
27
- self.args = args
28
- end
29
-
30
- def children
31
- args
32
- end
33
-
34
- def inspect
35
- to_s
36
- end
37
-
38
- def to_s(options = self.options)
39
- s = "#{name}(#{args.join(", ")})"
40
- end
41
-
42
- %w(webkit moz o ms svg pie css2).each do |prefix|
43
- class_eval <<-RUBY, __FILE__, __LINE__ + 1
44
- def to_#{prefix}(options = self.options)
45
- prefixed_args = args.map do |arg|
46
- arg.respond_to?(:to_#{prefix}) ? arg.to_#{prefix}(options) : arg
47
- end
48
- prefixed_name = if Compass::BrowserSupport.supports?(name, "#{prefix}")
49
- "-#{prefix}-\#{name}"
50
- else
51
- name
52
- end
53
- contents = prefixed_args.join(', ')
54
- if contents.size > 0
55
- opts(Sass::Script::String.new("\#{prefixed_name}(\#{contents})"))
56
- else
57
- opts(Sass::Script::String.new(""))
58
- end
59
- end
60
- RUBY
61
- end
62
-
63
- end
64
-
65
- class Funcall < Node
66
- include HasSimpleCrossBrowserFunctionSupport
67
-
68
- if method_defined? :to_literal
69
- alias sass_to_literal to_literal
70
- else
71
- def sass_to_literal
72
- Script::String.new("#{name}(#{args.join(', ')})")
73
- end
74
- end
75
-
76
- def to_literal(args)
77
- if has_aspect?(args)
78
- CrossBrowserFunctionCall.new(name, args)
79
- else
80
- sass_to_literal(args)
81
- end
82
- end
83
- end
84
-
85
- class List < Literal
86
- def supports?(aspect)
87
- children.any? {|child| child.respond_to?(:supports?) && child.supports?(aspect) }
88
- end
89
-
90
- def has_aspect?
91
- children.any? {|child| child.respond_to?(:has_aspect?) && child.has_aspect? }
92
- end
93
- end
94
-
95
- end
1
+ require 'sass/script/node'
2
+ require 'sass/script/literal'
3
+ require 'sass/script/funcall'
4
+
5
+ module Sass::Script
6
+ module HasSimpleCrossBrowserFunctionSupport
7
+ def supports?(aspect)
8
+ return true if Compass::BrowserSupport.supports?(name, aspect)
9
+ children.any? {|child| child.respond_to?(:supports?) && child.supports?(aspect) }
10
+ end
11
+
12
+ def has_aspect?(children = nil)
13
+ children ||= self.children
14
+ return true if Compass::BrowserSupport.has_aspect?(name)
15
+ children.any? {|child| child.respond_to?(:has_aspect?) && child.has_aspect? }
16
+ end
17
+ end
18
+
19
+ class CrossBrowserFunctionCall < Literal
20
+
21
+ attr_accessor :name, :args
22
+
23
+ include HasSimpleCrossBrowserFunctionSupport
24
+
25
+ def initialize(name, args)
26
+ self.name = name
27
+ self.args = args
28
+ end
29
+
30
+ def children
31
+ args
32
+ end
33
+
34
+ def inspect
35
+ to_s
36
+ end
37
+
38
+ def to_s(options = self.options)
39
+ s = "#{name}(#{args.join(", ")})"
40
+ end
41
+
42
+ %w(webkit moz o ms svg pie css2).each do |prefix|
43
+ class_eval <<-RUBY, __FILE__, __LINE__ + 1
44
+ def to_#{prefix}(options = self.options)
45
+ prefixed_args = args.map do |arg|
46
+ arg.respond_to?(:to_#{prefix}) ? arg.to_#{prefix}(options) : arg
47
+ end
48
+ prefixed_name = if Compass::BrowserSupport.supports?(name, "#{prefix}")
49
+ "-#{prefix}-\#{name}"
50
+ else
51
+ name
52
+ end
53
+ contents = prefixed_args.join(', ')
54
+ if contents.size > 0
55
+ opts(Sass::Script::String.new("\#{prefixed_name}(\#{contents})"))
56
+ else
57
+ opts(Sass::Script::String.new(""))
58
+ end
59
+ end
60
+ RUBY
61
+ end
62
+
63
+ end
64
+
65
+ class Funcall < Node
66
+ include HasSimpleCrossBrowserFunctionSupport
67
+
68
+ if method_defined? :to_literal
69
+ alias sass_to_literal to_literal
70
+ else
71
+ def sass_to_literal
72
+ Script::String.new("#{name}(#{args.join(', ')})")
73
+ end
74
+ end
75
+
76
+ def to_literal(args)
77
+ if has_aspect?(args)
78
+ CrossBrowserFunctionCall.new(name, args)
79
+ else
80
+ sass_to_literal(args)
81
+ end
82
+ end
83
+ end
84
+
85
+ class List < Literal
86
+ def supports?(aspect)
87
+ children.any? {|child| child.respond_to?(:supports?) && child.supports?(aspect) }
88
+ end
89
+
90
+ def has_aspect?
91
+ children.any? {|child| child.respond_to?(:has_aspect?) && child.has_aspect? }
92
+ end
93
+ end
94
+
95
+ end
@@ -1,23 +1,23 @@
1
- module Sass
2
- module Tree
3
- class Node
4
- unless method_defined?(:visit_depth_first)
5
- def visit_depth_first(visitor)
6
- visitor.visit(self)
7
- visitor.down(self) if children.any? and visitor.respond_to?(:down)
8
- if is_a?(ImportNode) && visitor.import?(self)
9
- root = Sass::Engine.for_file(import, @options).to_tree
10
- imported_children = root.children
11
- end
12
-
13
- (imported_children || children).each do |child|
14
- break if visitor.respond_to?(:stop?) && visitor.stop?
15
- child.visit_depth_first(visitor)
16
- end
17
- visitor.up(self) if children.any?
18
- end
19
- end
20
- end
21
- end
22
- end
23
-
1
+ module Sass
2
+ module Tree
3
+ class Node
4
+ unless method_defined?(:visit_depth_first)
5
+ def visit_depth_first(visitor)
6
+ visitor.visit(self)
7
+ visitor.down(self) if children.any? and visitor.respond_to?(:down)
8
+ if is_a?(ImportNode) && visitor.import?(self)
9
+ root = Sass::Engine.for_file(import, @options).to_tree
10
+ imported_children = root.children
11
+ end
12
+
13
+ (imported_children || children).each do |child|
14
+ break if visitor.respond_to?(:stop?) && visitor.stop?
15
+ child.visit_depth_first(visitor)
16
+ end
17
+ visitor.up(self) if children.any?
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+
@@ -1,19 +1,19 @@
1
- require 'digest/md5'
2
- require 'compass/sprite_importer'
3
-
4
- module Compass
5
- module SassExtensions
6
- module Sprites
7
- end
8
- end
9
- end
10
-
11
- require 'compass/sass_extensions/sprites/image_row'
12
- require 'compass/sass_extensions/sprites/row_fitter'
13
- require 'compass/sass_extensions/sprites/image'
14
- require 'compass/sass_extensions/sprites/layout_methods'
15
- require 'compass/sass_extensions/sprites/sprite_methods'
16
- require 'compass/sass_extensions/sprites/image_methods'
17
- require 'compass/sass_extensions/sprites/sprite_map'
18
- require 'compass/sass_extensions/sprites/engines'
19
-
1
+ require 'digest/md5'
2
+ require 'compass/sprite_importer'
3
+
4
+ module Compass
5
+ module SassExtensions
6
+ module Sprites
7
+ end
8
+ end
9
+ end
10
+
11
+ require 'compass/sass_extensions/sprites/image_row'
12
+ require 'compass/sass_extensions/sprites/row_fitter'
13
+ require 'compass/sass_extensions/sprites/image'
14
+ require 'compass/sass_extensions/sprites/layout_methods'
15
+ require 'compass/sass_extensions/sprites/sprite_methods'
16
+ require 'compass/sass_extensions/sprites/image_methods'
17
+ require 'compass/sass_extensions/sprites/sprite_map'
18
+ require 'compass/sass_extensions/sprites/engines'
19
+
@@ -1,25 +1,25 @@
1
- module Compass
2
- module SassExtensions
3
- module Sprites
4
- class Engine
5
- attr_accessor :width, :height, :images, :canvas
6
- def initialize(width, height, images)
7
- @width, @height, @images = width, height, images
8
- @canvas = nil
9
- end
10
-
11
- def construct_sprite
12
- raise ::Compass::Error, "You must implement construct_sprite"
13
- end
14
-
15
- def save(filename)
16
- raise ::Compass::Error, "You must implement save(filename)"
17
- end
18
-
19
- end
20
- end
21
- end
22
- end
23
-
24
-
25
- require 'compass/sass_extensions/sprites/engines/chunky_png_engine'
1
+ module Compass
2
+ module SassExtensions
3
+ module Sprites
4
+ class Engine
5
+ attr_accessor :width, :height, :images, :canvas
6
+ def initialize(width, height, images)
7
+ @width, @height, @images = width, height, images
8
+ @canvas = nil
9
+ end
10
+
11
+ def construct_sprite
12
+ raise ::Compass::Error, "You must implement construct_sprite"
13
+ end
14
+
15
+ def save(filename)
16
+ raise ::Compass::Error, "You must implement save(filename)"
17
+ end
18
+
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+
25
+ require 'compass/sass_extensions/sprites/engines/chunky_png_engine'
@@ -1,31 +1,31 @@
1
- begin
2
- require 'oily_png'
3
- rescue LoadError
4
- require 'chunky_png'
5
- end
6
-
7
- module Compass
8
- module SassExtensions
9
- module Sprites
10
- class ChunkyPngEngine < Compass::SassExtensions::Sprites::Engine
11
-
12
- def construct_sprite
13
- @canvas = ChunkyPNG::Image.new(width, height, ChunkyPNG::Color::TRANSPARENT)
14
- images.each do |image|
15
- input_png = ChunkyPNG::Image.from_file(image.file)
16
- canvas.replace! input_png, image.left, image.top
17
- end
18
- end
19
-
20
- def save(filename)
21
- if canvas.nil?
22
- construct_sprite
23
- end
24
-
25
- canvas.save(filename, Compass.configuration.chunky_png_options)
26
- end
27
-
28
- end
29
- end
30
- end
1
+ begin
2
+ require 'oily_png'
3
+ rescue LoadError
4
+ require 'chunky_png'
5
+ end
6
+
7
+ module Compass
8
+ module SassExtensions
9
+ module Sprites
10
+ class ChunkyPngEngine < Compass::SassExtensions::Sprites::Engine
11
+
12
+ def construct_sprite
13
+ @canvas = ChunkyPNG::Image.new(width, height, ChunkyPNG::Color::TRANSPARENT)
14
+ images.each do |image|
15
+ input_png = ChunkyPNG::Image.from_file(image.file)
16
+ canvas.replace! input_png, image.left, image.top
17
+ end
18
+ end
19
+
20
+ def save(filename)
21
+ if canvas.nil?
22
+ construct_sprite
23
+ end
24
+
25
+ canvas.save(filename, Compass.configuration.chunky_png_options)
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
31
  end
@@ -1,151 +1,151 @@
1
- module Compass
2
- module SassExtensions
3
- module Sprites
4
- class Image
5
- ACTIVE = %r{[_-]active$}
6
- TARGET = %r{[_-]target$}
7
- HOVER = %r{[_-]hover$}
8
- PARENT = %r{(.+)[-_](.+)$}
9
-
10
- REPEAT_X = 'repeat-x'
11
- NO_REPEAT = 'no-repeat'
12
-
13
- VALID_REPEATS = [REPEAT_X, NO_REPEAT]
14
-
15
- attr_reader :relative_file, :options, :base
16
- attr_accessor :top, :left
17
-
18
- def initialize(base, relative_file, options)
19
- @base, @relative_file, @options = base, relative_file, options
20
- @left = @top = 0
21
- end
22
-
23
- # The Full path to the image
24
- def file
25
- @file ||= find_file
26
- end
27
-
28
- def find_file
29
- Compass.configuration.sprite_load_path.compact.each do |path|
30
- f = File.join(path, relative_file)
31
- if File.exists?(f)
32
- return f
33
- end
34
- end
35
- end
36
-
37
- # Width of the image
38
- def width
39
- dimensions.first
40
- end
41
-
42
- def size
43
- @size ||= File.size(file)
44
- end
45
-
46
- # Height of the image
47
- def height
48
- dimensions.last
49
- end
50
-
51
- # Basename of the image
52
- def name
53
- File.basename(relative_file, '.png')
54
- end
55
-
56
- def get_var_file(var)
57
- options.get_var "#{base.name}_#{name}_#{var}"
58
- end
59
-
60
- # Value of <tt> $#{name}-repeat </tt> or <tt> $repeat </tt>
61
- def repeat
62
- @repeat ||= begin
63
- rep = (get_var_file("repeat") || options.get_var("repeat") || Sass::Script::String.new(NO_REPEAT)).value
64
- unless VALID_REPEATS.include? rep
65
- raise SpriteException, "Invalid option for repeat \"#{rep}\" - valid options are #{VALID_REPEATS.join(', ')}"
66
- end
67
-
68
- rep
69
- end
70
- end
71
-
72
- def repeat_x?
73
- repeat == REPEAT_X
74
- end
75
-
76
- def no_repeat?
77
- repeat == NO_REPEAT
78
- end
79
-
80
- # Value of <tt> $#{name}-position </tt> or <tt> $position </tt> defaults to <tt>0px</tt>
81
- def position
82
- @position||= get_var_file("position") || options.get_var("position") || Sass::Script::Number.new(0, ["px"])
83
- end
84
-
85
- # Offset within the sprite
86
- def offset
87
- @offset ||= (position.unitless? || position.unit_str == "px") ? position.value : 0
88
- end
89
-
90
- # Spacing between this image and the next
91
- def spacing
92
- @spacing ||= (get_var_file("spacing") || options.get_var("spacing") || Sass::Script::Number.new(0, ['px'])).value
93
- end
94
-
95
- # MD5 hash of this file
96
- def digest
97
- Digest::MD5.file(file).hexdigest
98
- end
99
-
100
- # mtime of this file
101
- def mtime
102
- File.mtime(file)
103
- end
104
-
105
- # Is hover selector
106
- def hover?
107
- name =~ HOVER
108
- end
109
-
110
- # Hover selector Image object if exsists
111
- def hover
112
- base.image_for("#{name}_hover")
113
- end
114
-
115
- # Is target selector
116
- def target?
117
- name =~ TARGET
118
- end
119
-
120
- # Target selector Image object if exsists
121
- def target
122
- base.image_for("#{name}_target")
123
- end
124
-
125
- # Is active selector
126
- def active?
127
- name =~ ACTIVE
128
- end
129
-
130
- # Active selector Image object if exsists
131
- def active
132
- base.image_for("#{name}_active")
133
- end
134
-
135
-
136
- def parent
137
- if [hover?, target?, active?].any?
138
- PARENT.match name
139
- base.image_for($1)
140
- end
141
- end
142
-
143
-
144
- private
145
- def dimensions
146
- @dimensions ||= Compass::SassExtensions::Functions::ImageSize::ImageProperties.new(file).size
147
- end
148
- end
149
- end
150
- end
151
- end
1
+ module Compass
2
+ module SassExtensions
3
+ module Sprites
4
+ class Image
5
+ ACTIVE = %r{[_-]active$}
6
+ TARGET = %r{[_-]target$}
7
+ HOVER = %r{[_-]hover$}
8
+ PARENT = %r{(.+)[-_](.+)$}
9
+
10
+ REPEAT_X = 'repeat-x'
11
+ NO_REPEAT = 'no-repeat'
12
+
13
+ VALID_REPEATS = [REPEAT_X, NO_REPEAT]
14
+
15
+ attr_reader :relative_file, :options, :base
16
+ attr_accessor :top, :left
17
+
18
+ def initialize(base, relative_file, options)
19
+ @base, @relative_file, @options = base, relative_file, options
20
+ @left = @top = 0
21
+ end
22
+
23
+ # The Full path to the image
24
+ def file
25
+ @file ||= find_file
26
+ end
27
+
28
+ def find_file
29
+ Compass.configuration.sprite_load_path.compact.each do |path|
30
+ f = File.join(path, relative_file)
31
+ if File.exists?(f)
32
+ return f
33
+ end
34
+ end
35
+ end
36
+
37
+ # Width of the image
38
+ def width
39
+ dimensions.first
40
+ end
41
+
42
+ def size
43
+ @size ||= File.size(file)
44
+ end
45
+
46
+ # Height of the image
47
+ def height
48
+ dimensions.last
49
+ end
50
+
51
+ # Basename of the image
52
+ def name
53
+ File.basename(relative_file, '.png')
54
+ end
55
+
56
+ def get_var_file(var)
57
+ options.get_var "#{base.name}_#{name}_#{var}"
58
+ end
59
+
60
+ # Value of <tt> $#{name}-repeat </tt> or <tt> $repeat </tt>
61
+ def repeat
62
+ @repeat ||= begin
63
+ rep = (get_var_file("repeat") || options.get_var("repeat") || Sass::Script::String.new(NO_REPEAT)).value
64
+ unless VALID_REPEATS.include? rep
65
+ raise SpriteException, "Invalid option for repeat \"#{rep}\" - valid options are #{VALID_REPEATS.join(', ')}"
66
+ end
67
+
68
+ rep
69
+ end
70
+ end
71
+
72
+ def repeat_x?
73
+ repeat == REPEAT_X
74
+ end
75
+
76
+ def no_repeat?
77
+ repeat == NO_REPEAT
78
+ end
79
+
80
+ # Value of <tt> $#{name}-position </tt> or <tt> $position </tt> defaults to <tt>0px</tt>
81
+ def position
82
+ @position||= get_var_file("position") || options.get_var("position") || Sass::Script::Number.new(0, ["px"])
83
+ end
84
+
85
+ # Offset within the sprite
86
+ def offset
87
+ @offset ||= (position.unitless? || position.unit_str == "px") ? position.value : 0
88
+ end
89
+
90
+ # Spacing between this image and the next
91
+ def spacing
92
+ @spacing ||= (get_var_file("spacing") || options.get_var("spacing") || Sass::Script::Number.new(0, ['px'])).value
93
+ end
94
+
95
+ # MD5 hash of this file
96
+ def digest
97
+ Digest::MD5.file(file).hexdigest
98
+ end
99
+
100
+ # mtime of this file
101
+ def mtime
102
+ File.mtime(file)
103
+ end
104
+
105
+ # Is hover selector
106
+ def hover?
107
+ name =~ HOVER
108
+ end
109
+
110
+ # Hover selector Image object if exsists
111
+ def hover
112
+ base.image_for("#{name}_hover")
113
+ end
114
+
115
+ # Is target selector
116
+ def target?
117
+ name =~ TARGET
118
+ end
119
+
120
+ # Target selector Image object if exsists
121
+ def target
122
+ base.image_for("#{name}_target")
123
+ end
124
+
125
+ # Is active selector
126
+ def active?
127
+ name =~ ACTIVE
128
+ end
129
+
130
+ # Active selector Image object if exsists
131
+ def active
132
+ base.image_for("#{name}_active")
133
+ end
134
+
135
+
136
+ def parent
137
+ if [hover?, target?, active?].any?
138
+ PARENT.match name
139
+ base.image_for($1)
140
+ end
141
+ end
142
+
143
+
144
+ private
145
+ def dimensions
146
+ @dimensions ||= Compass::SassExtensions::Functions::ImageSize::ImageProperties.new(file).size
147
+ end
148
+ end
149
+ end
150
+ end
151
+ end