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,93 +1,93 @@
1
- require 'compass/commands/project_base'
2
- require 'compass/commands/update_project'
3
-
4
- module Compass
5
- module Commands
6
- module StructureOptionsParser
7
- def set_options(opts)
8
- opts.banner = %Q{
9
- Usage: compass structure [path/to/project] [options]
10
-
11
- Description:
12
- Display the import structure of your stylesheets.
13
-
14
- Options:
15
- }.strip.split("\n").map{|l| l.gsub(/^ {0,10}/,'')}.join("\n")
16
-
17
- super
18
- end
19
- end
20
- class ProjectStats < UpdateProject
21
-
22
- register :structure
23
-
24
- def initialize(working_path, options)
25
- super
26
- assert_project_directory_exists!
27
- end
28
-
29
- def perform
30
- @compiler = new_compiler_instance
31
- (options[:sass_files] || sorted_sass_files).each do |sass_file|
32
- print_tree(Compass.projectize(sass_file))
33
- end
34
- end
35
-
36
- def print_tree(file, depth = 0, importer = @compiler.importer)
37
- puts ((depth > 0 ? "| " : " ") * depth) + "+- " + Compass.deprojectize(file)
38
- @compiler.staleness_checker.send(:compute_dependencies, file, importer).each do |(dep, dep_importer)|
39
- print_tree(dep, depth + 1, dep_importer)# unless Compass.deprojectize(dep)[0...1] == "/"
40
- end
41
- end
42
-
43
- def sorted_sass_files
44
- sass_files = @compiler.sass_files
45
- sass_files.map! do |s|
46
- filename = Compass.deprojectize(s, File.join(Compass.configuration.project_path, Compass.configuration.sass_dir))
47
- [s, File.dirname(filename), File.basename(filename)]
48
- end
49
- sass_files = sass_files.sort_by do |s,d,f|
50
- File.join(d, f[0] == ?_ ? f[1..-1] : f)
51
- end
52
- sass_files.map!{|s,d,f| s}
53
- end
54
-
55
- class << self
56
-
57
- def option_parser(arguments)
58
- parser = Compass::Exec::CommandOptionParser.new(arguments)
59
- parser.extend(Compass::Exec::GlobalOptionsParser)
60
- parser.extend(Compass::Exec::ProjectOptionsParser)
61
- parser.extend(StructureOptionsParser)
62
- end
63
-
64
- def usage
65
- option_parser([]).to_s
66
- end
67
-
68
- def description(command)
69
- "Report statistics about your stylesheets"
70
- end
71
-
72
- def primary; false; end
73
-
74
- def parse!(arguments)
75
- parser = option_parser(arguments)
76
- parser.parse!
77
- parse_arguments!(parser, arguments)
78
- parser.options
79
- end
80
-
81
- def parse_arguments!(parser, arguments)
82
- if arguments.size > 0
83
- parser.options[:project_name] = arguments.shift if File.directory?(arguments.first)
84
- parser.options[:sass_files] = arguments
85
- end
86
- end
87
-
88
- end
89
-
90
- end
91
- end
92
- end
93
-
1
+ require 'compass/commands/project_base'
2
+ require 'compass/commands/update_project'
3
+
4
+ module Compass
5
+ module Commands
6
+ module StructureOptionsParser
7
+ def set_options(opts)
8
+ opts.banner = %Q{
9
+ Usage: compass structure [path/to/project] [options]
10
+
11
+ Description:
12
+ Display the import structure of your stylesheets.
13
+
14
+ Options:
15
+ }.strip.split("\n").map{|l| l.gsub(/^ {0,10}/,'')}.join("\n")
16
+
17
+ super
18
+ end
19
+ end
20
+ class ProjectStats < UpdateProject
21
+
22
+ register :structure
23
+
24
+ def initialize(working_path, options)
25
+ super
26
+ assert_project_directory_exists!
27
+ end
28
+
29
+ def perform
30
+ @compiler = new_compiler_instance
31
+ (options[:sass_files] || sorted_sass_files).each do |sass_file|
32
+ print_tree(Compass.projectize(sass_file))
33
+ end
34
+ end
35
+
36
+ def print_tree(file, depth = 0, importer = @compiler.importer)
37
+ puts ((depth > 0 ? "| " : " ") * depth) + "+- " + Compass.deprojectize(file)
38
+ @compiler.staleness_checker.send(:compute_dependencies, file, importer).each do |(dep, dep_importer)|
39
+ print_tree(dep, depth + 1, dep_importer)# unless Compass.deprojectize(dep)[0...1] == "/"
40
+ end
41
+ end
42
+
43
+ def sorted_sass_files
44
+ sass_files = @compiler.sass_files
45
+ sass_files.map! do |s|
46
+ filename = Compass.deprojectize(s, File.join(Compass.configuration.project_path, Compass.configuration.sass_dir))
47
+ [s, File.dirname(filename), File.basename(filename)]
48
+ end
49
+ sass_files = sass_files.sort_by do |s,d,f|
50
+ File.join(d, f[0] == ?_ ? f[1..-1] : f)
51
+ end
52
+ sass_files.map!{|s,d,f| s}
53
+ end
54
+
55
+ class << self
56
+
57
+ def option_parser(arguments)
58
+ parser = Compass::Exec::CommandOptionParser.new(arguments)
59
+ parser.extend(Compass::Exec::GlobalOptionsParser)
60
+ parser.extend(Compass::Exec::ProjectOptionsParser)
61
+ parser.extend(StructureOptionsParser)
62
+ end
63
+
64
+ def usage
65
+ option_parser([]).to_s
66
+ end
67
+
68
+ def description(command)
69
+ "Report statistics about your stylesheets"
70
+ end
71
+
72
+ def primary; false; end
73
+
74
+ def parse!(arguments)
75
+ parser = option_parser(arguments)
76
+ parser.parse!
77
+ parse_arguments!(parser, arguments)
78
+ parser.options
79
+ end
80
+
81
+ def parse_arguments!(parser, arguments)
82
+ if arguments.size > 0
83
+ parser.options[:project_name] = arguments.shift if File.directory?(arguments.first)
84
+ parser.options[:sass_files] = arguments
85
+ end
86
+ end
87
+
88
+ end
89
+
90
+ end
91
+ end
92
+ end
93
+
@@ -1,40 +1,40 @@
1
- module Compass::Commands
2
- module Registry
3
- def register(name, command_class)
4
- @commands ||= Hash.new
5
- @commands[name.to_sym] = command_class
6
- end
7
- def get(name)
8
- return unless name
9
- @commands ||= Hash.new
10
- @commands[name.to_sym] || @commands[abbreviation_of(name)]
11
- end
12
- def abbreviation_of(name)
13
- re = /^#{Regexp.escape(name)}/
14
- matching = @commands.keys.select{|k| k.to_s =~ re}
15
- if matching.size == 1
16
- matching.first
17
- elsif name =~ /^-/
18
- nil
19
- elsif matching.size > 1
20
- raise Compass::Error, "Ambiguous abbreviation '#{name}'. Did you mean one of: #{matching.join(", ")}"
21
- else
22
- raise Compass::Error, "Command not found: #{name}"
23
- end
24
- end
25
- def abbreviation?(name)
26
- re = /^#{Regexp.escape(name)}/
27
- @commands.keys.detect{|k| k.to_s =~ re}
28
- end
29
- def command_exists?(name)
30
- @commands ||= Hash.new
31
- name && (@commands.has_key?(name.to_sym) || abbreviation?(name))
32
- end
33
- def all
34
- @commands.keys
35
- end
36
- alias_method :[], :get
37
- alias_method :[]=, :register
38
- end
39
- extend Registry
40
- end
1
+ module Compass::Commands
2
+ module Registry
3
+ def register(name, command_class)
4
+ @commands ||= Hash.new
5
+ @commands[name.to_sym] = command_class
6
+ end
7
+ def get(name)
8
+ return unless name
9
+ @commands ||= Hash.new
10
+ @commands[name.to_sym] || @commands[abbreviation_of(name)]
11
+ end
12
+ def abbreviation_of(name)
13
+ re = /^#{Regexp.escape(name)}/
14
+ matching = @commands.keys.select{|k| k.to_s =~ re}
15
+ if matching.size == 1
16
+ matching.first
17
+ elsif name =~ /^-/
18
+ nil
19
+ elsif matching.size > 1
20
+ raise Compass::Error, "Ambiguous abbreviation '#{name}'. Did you mean one of: #{matching.join(", ")}"
21
+ else
22
+ raise Compass::Error, "Command not found: #{name}"
23
+ end
24
+ end
25
+ def abbreviation?(name)
26
+ re = /^#{Regexp.escape(name)}/
27
+ @commands.keys.detect{|k| k.to_s =~ re}
28
+ end
29
+ def command_exists?(name)
30
+ @commands ||= Hash.new
31
+ name && (@commands.has_key?(name.to_sym) || abbreviation?(name))
32
+ end
33
+ def all
34
+ @commands.keys
35
+ end
36
+ alias_method :[], :get
37
+ alias_method :[]=, :register
38
+ end
39
+ extend Registry
40
+ end
@@ -1,89 +1,89 @@
1
- require 'compass/commands/project_base'
2
- require 'compass/commands/update_project'
3
-
4
- module Compass
5
- module Commands
6
- module SpriteOptionsParser
7
- def set_options(opts)
8
- opts.on("-f SPRITE_FILE") do |output_file|
9
- self.options[:output_file] = output_file
10
- end
11
- opts.on("--skip-overrides", "Skip the generation of sprite overrides") do |skip_overrides|
12
- self.options[:skip_overrides] = skip_overrides
13
- end
14
- opts.banner = %Q{
15
- Usage: compass sprite [options] "images/path/to/sprites/*.png"
16
-
17
- Description:
18
- Generate a sprite import based on the given sprite directory.
19
- Alternatively, you can simply do this in your sass files:
20
-
21
- @import "sprite-folder/*.png"
22
-
23
- And a magical, custom made sprite file will be imported.
24
-
25
- Options:
26
- }.strip.split("\n").map{|l| l.gsub(/^ {0,10}/,'')}.join("\n")
27
-
28
- super
29
- end
30
- end
31
- class Sprite < ProjectBase
32
-
33
- register :sprite
34
-
35
- def initialize(working_path, options)
36
- super
37
- assert_project_directory_exists!
38
- end
39
-
40
- def perform
41
- relative_uri = options[:uri].gsub(/^#{Compass.configuration.images_dir}\//, '')
42
- name = Compass::SpriteImporter.sprite_name(relative_uri)
43
- sprites = Compass::SpriteImporter.new
44
- options[:output_file] ||= File.join(Compass.configuration.sass_path, "sprites", "_#{name}.#{Compass.configuration.preferred_syntax}")
45
- options[:skip_overrides] ||= false
46
- contents = Compass::SpriteImporter.content_for_images(relative_uri, name, options[:skip_overrides])
47
- if options[:output_file][-4..-1] != "scss"
48
- contents = Sass::Engine.new(contents, Compass.sass_engine_options.merge(:syntax => :scss)).to_tree.to_sass
49
- end
50
- directory File.dirname(options[:output_file])
51
- write_file options[:output_file], contents
52
- end
53
-
54
- class << self
55
-
56
- def option_parser(arguments)
57
- parser = Compass::Exec::CommandOptionParser.new(arguments)
58
- parser.extend(Compass::Exec::GlobalOptionsParser)
59
- parser.extend(Compass::Exec::ProjectOptionsParser)
60
- parser.extend(SpriteOptionsParser)
61
- end
62
-
63
- def usage
64
- option_parser([]).to_s
65
- end
66
-
67
- def description(command)
68
- "Generate an import for your sprites."
69
- end
70
-
71
- def parse!(arguments)
72
- parser = option_parser(arguments)
73
- parser.parse!
74
- parse_arguments!(parser, arguments)
75
- parser.options
76
- end
77
-
78
- def parse_arguments!(parser, arguments)
79
- parser.options[:uri] = arguments.shift
80
- unless arguments.size == 0
81
- raise Compass::Error, "Please specify at least one image to sprite."
82
- end
83
- end
84
-
85
- end
86
-
87
- end
88
- end
89
- end
1
+ require 'compass/commands/project_base'
2
+ require 'compass/commands/update_project'
3
+
4
+ module Compass
5
+ module Commands
6
+ module SpriteOptionsParser
7
+ def set_options(opts)
8
+ opts.on("-f SPRITE_FILE") do |output_file|
9
+ self.options[:output_file] = output_file
10
+ end
11
+ opts.on("--skip-overrides", "Skip the generation of sprite overrides") do |skip_overrides|
12
+ self.options[:skip_overrides] = skip_overrides
13
+ end
14
+ opts.banner = %Q{
15
+ Usage: compass sprite [options] "images/path/to/sprites/*.png"
16
+
17
+ Description:
18
+ Generate a sprite import based on the given sprite directory.
19
+ Alternatively, you can simply do this in your sass files:
20
+
21
+ @import "sprite-folder/*.png"
22
+
23
+ And a magical, custom made sprite file will be imported.
24
+
25
+ Options:
26
+ }.strip.split("\n").map{|l| l.gsub(/^ {0,10}/,'')}.join("\n")
27
+
28
+ super
29
+ end
30
+ end
31
+ class Sprite < ProjectBase
32
+
33
+ register :sprite
34
+
35
+ def initialize(working_path, options)
36
+ super
37
+ assert_project_directory_exists!
38
+ end
39
+
40
+ def perform
41
+ relative_uri = options[:uri].gsub(/^#{Compass.configuration.images_dir}\//, '')
42
+ name = Compass::SpriteImporter.sprite_name(relative_uri)
43
+ sprites = Compass::SpriteImporter.new
44
+ options[:output_file] ||= File.join(Compass.configuration.sass_path, "sprites", "_#{name}.#{Compass.configuration.preferred_syntax}")
45
+ options[:skip_overrides] ||= false
46
+ contents = Compass::SpriteImporter.content_for_images(relative_uri, name, options[:skip_overrides])
47
+ if options[:output_file][-4..-1] != "scss"
48
+ contents = Sass::Engine.new(contents, Compass.sass_engine_options.merge(:syntax => :scss)).to_tree.to_sass
49
+ end
50
+ directory File.dirname(options[:output_file])
51
+ write_file options[:output_file], contents
52
+ end
53
+
54
+ class << self
55
+
56
+ def option_parser(arguments)
57
+ parser = Compass::Exec::CommandOptionParser.new(arguments)
58
+ parser.extend(Compass::Exec::GlobalOptionsParser)
59
+ parser.extend(Compass::Exec::ProjectOptionsParser)
60
+ parser.extend(SpriteOptionsParser)
61
+ end
62
+
63
+ def usage
64
+ option_parser([]).to_s
65
+ end
66
+
67
+ def description(command)
68
+ "Generate an import for your sprites."
69
+ end
70
+
71
+ def parse!(arguments)
72
+ parser = option_parser(arguments)
73
+ parser.parse!
74
+ parse_arguments!(parser, arguments)
75
+ parser.options
76
+ end
77
+
78
+ def parse_arguments!(parser, arguments)
79
+ parser.options[:uri] = arguments.shift
80
+ unless arguments.size == 0
81
+ raise Compass::Error, "Please specify at least one image to sprite."
82
+ end
83
+ end
84
+
85
+ end
86
+
87
+ end
88
+ end
89
+ end
@@ -1,90 +1,90 @@
1
- require 'fileutils'
2
- require 'compass/commands/base'
3
- require 'compass/commands/update_project'
4
-
5
- module Compass
6
- module Commands
7
- module StampPatternOptionsParser
8
- def set_options(opts)
9
- opts.banner = %Q{Usage: compass install extension/pattern [path/to/project] [options]
10
-
11
- Description:
12
- Install an extension's pattern into your compass project
13
-
14
- Example:
15
- compass install blueprint/buttons
16
-
17
- Options:
18
- }
19
- opts.on("-x", "--syntax SYNTAX", [:sass, :scss], "Specify the syntax to use when generating stylesheets.", "One of sass or scss. Defaults to scss.") do |syntax|
20
- self.options[:preferred_syntax] = syntax
21
- end
22
-
23
- super
24
- end
25
- end
26
-
27
- class StampPattern < ProjectBase
28
-
29
- register :install
30
-
31
- class << self
32
- def option_parser(arguments)
33
- parser = Compass::Exec::CommandOptionParser.new(arguments)
34
- parser.extend(Compass::Exec::GlobalOptionsParser)
35
- parser.extend(Compass::Exec::ProjectOptionsParser)
36
- parser.extend(StampPatternOptionsParser)
37
- end
38
- def usage
39
- option_parser([]).to_s
40
- end
41
- def description(command)
42
- "Install an extension's pattern into your compass project"
43
- end
44
- def parse!(arguments)
45
- parser = option_parser(arguments)
46
- parser.parse!
47
- parse_arguments!(parser, arguments)
48
- parser.options
49
- end
50
- def parse_arguments!(parser, arguments)
51
- if arguments.size == 0
52
- raise OptionParser::ParseError, "Please specify a pattern."
53
- end
54
- pattern = arguments.shift.split('/', 2)
55
- parser.options[:framework] = pattern[0]
56
- parser.options[:pattern] = pattern[1]
57
- if arguments.size > 0
58
- parser.options[:project_name] = arguments.shift
59
- end
60
- if arguments.size > 0
61
- raise OptionParser::ParseError, "Unexpected trailing arguments: #{arguments.join(" ")}"
62
- end
63
- end
64
-
65
- end
66
- include InstallerCommand
67
-
68
- def initialize(working_path, options)
69
- super(working_path, options)
70
- end
71
-
72
- # all commands must implement perform
73
- def perform
74
- installer.init
75
- installer.run(:skip_finalization => true, :skip_preparation => !is_project_creation?)
76
- UpdateProject.new(working_path, options).perform if installer.compilation_required?
77
- installer.finalize(options.merge(:create => is_project_creation?))
78
- end
79
-
80
- def is_project_creation?
81
- false
82
- end
83
-
84
- def template_directory(pattern)
85
- File.join(framework.templates_directory, pattern)
86
- end
87
-
88
- end
89
- end
90
- end
1
+ require 'fileutils'
2
+ require 'compass/commands/base'
3
+ require 'compass/commands/update_project'
4
+
5
+ module Compass
6
+ module Commands
7
+ module StampPatternOptionsParser
8
+ def set_options(opts)
9
+ opts.banner = %Q{Usage: compass install extension/pattern [path/to/project] [options]
10
+
11
+ Description:
12
+ Install an extension's pattern into your compass project
13
+
14
+ Example:
15
+ compass install blueprint/buttons
16
+
17
+ Options:
18
+ }
19
+ opts.on("-x", "--syntax SYNTAX", [:sass, :scss], "Specify the syntax to use when generating stylesheets.", "One of sass or scss. Defaults to scss.") do |syntax|
20
+ self.options[:preferred_syntax] = syntax
21
+ end
22
+
23
+ super
24
+ end
25
+ end
26
+
27
+ class StampPattern < ProjectBase
28
+
29
+ register :install
30
+
31
+ class << self
32
+ def option_parser(arguments)
33
+ parser = Compass::Exec::CommandOptionParser.new(arguments)
34
+ parser.extend(Compass::Exec::GlobalOptionsParser)
35
+ parser.extend(Compass::Exec::ProjectOptionsParser)
36
+ parser.extend(StampPatternOptionsParser)
37
+ end
38
+ def usage
39
+ option_parser([]).to_s
40
+ end
41
+ def description(command)
42
+ "Install an extension's pattern into your compass project"
43
+ end
44
+ def parse!(arguments)
45
+ parser = option_parser(arguments)
46
+ parser.parse!
47
+ parse_arguments!(parser, arguments)
48
+ parser.options
49
+ end
50
+ def parse_arguments!(parser, arguments)
51
+ if arguments.size == 0
52
+ raise OptionParser::ParseError, "Please specify a pattern."
53
+ end
54
+ pattern = arguments.shift.split('/', 2)
55
+ parser.options[:framework] = pattern[0]
56
+ parser.options[:pattern] = pattern[1]
57
+ if arguments.size > 0
58
+ parser.options[:project_name] = arguments.shift
59
+ end
60
+ if arguments.size > 0
61
+ raise OptionParser::ParseError, "Unexpected trailing arguments: #{arguments.join(" ")}"
62
+ end
63
+ end
64
+
65
+ end
66
+ include InstallerCommand
67
+
68
+ def initialize(working_path, options)
69
+ super(working_path, options)
70
+ end
71
+
72
+ # all commands must implement perform
73
+ def perform
74
+ installer.init
75
+ installer.run(:skip_finalization => true, :skip_preparation => !is_project_creation?)
76
+ UpdateProject.new(working_path, options).perform if installer.compilation_required?
77
+ installer.finalize(options.merge(:create => is_project_creation?))
78
+ end
79
+
80
+ def is_project_creation?
81
+ false
82
+ end
83
+
84
+ def template_directory(pattern)
85
+ File.join(framework.templates_directory, pattern)
86
+ end
87
+
88
+ end
89
+ end
90
+ end