compass-edge 0.9.1

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 (312) hide show
  1. data/CHANGELOG.markdown +528 -0
  2. data/LICENSE.markdown +29 -0
  3. data/README.markdown +46 -0
  4. data/REVISION +1 -0
  5. data/Rakefile +131 -0
  6. data/VERSION.yml +4 -0
  7. data/bin/compass +26 -0
  8. data/deps.rip +1 -0
  9. data/examples/README.markdown +4 -0
  10. data/examples/blueprint_default/config.rb +7 -0
  11. data/examples/blueprint_default/images/grid.png +0 -0
  12. data/examples/blueprint_default/index.html.haml +85 -0
  13. data/examples/blueprint_default/parts/elements.html.haml +282 -0
  14. data/examples/blueprint_default/parts/forms.html.haml +190 -0
  15. data/examples/blueprint_default/parts/grid.html.haml +274 -0
  16. data/examples/blueprint_default/parts/test-small.jpg +0 -0
  17. data/examples/blueprint_default/parts/test.jpg +0 -0
  18. data/examples/blueprint_default/parts/valid.png +0 -0
  19. data/examples/blueprint_default/src/ie.sass +3 -0
  20. data/examples/blueprint_default/src/images/grid.png +0 -0
  21. data/examples/blueprint_default/src/print.sass +3 -0
  22. data/examples/blueprint_default/src/screen.sass +8 -0
  23. data/examples/blueprint_plugins/config.rb +8 -0
  24. data/examples/blueprint_plugins/images/buttons/cross.png +0 -0
  25. data/examples/blueprint_plugins/images/buttons/key.png +0 -0
  26. data/examples/blueprint_plugins/images/buttons/tick.png +0 -0
  27. data/examples/blueprint_plugins/images/grid.png +0 -0
  28. data/examples/blueprint_plugins/images/link_icons/doc.png +0 -0
  29. data/examples/blueprint_plugins/images/link_icons/email.png +0 -0
  30. data/examples/blueprint_plugins/images/link_icons/external.png +0 -0
  31. data/examples/blueprint_plugins/images/link_icons/feed.png +0 -0
  32. data/examples/blueprint_plugins/images/link_icons/im.png +0 -0
  33. data/examples/blueprint_plugins/images/link_icons/pdf.png +0 -0
  34. data/examples/blueprint_plugins/images/link_icons/visited.png +0 -0
  35. data/examples/blueprint_plugins/images/link_icons/xls.png +0 -0
  36. data/examples/blueprint_plugins/images/test-small.jpg +0 -0
  37. data/examples/blueprint_plugins/images/test.jpg +0 -0
  38. data/examples/blueprint_plugins/images/valid.png +0 -0
  39. data/examples/blueprint_plugins/index.html.haml +96 -0
  40. data/examples/blueprint_plugins/plugins/buttons.html.haml +67 -0
  41. data/examples/blueprint_plugins/plugins/fancy_type.html.haml +100 -0
  42. data/examples/blueprint_plugins/plugins/link_icons.html.haml +61 -0
  43. data/examples/blueprint_plugins/plugins/rtl.html.haml +100 -0
  44. data/examples/blueprint_plugins/src/buttons.sass +49 -0
  45. data/examples/blueprint_plugins/src/ie.sass +3 -0
  46. data/examples/blueprint_plugins/src/images/grid.png +0 -0
  47. data/examples/blueprint_plugins/src/link_icons.sass +13 -0
  48. data/examples/blueprint_plugins/src/print.sass +3 -0
  49. data/examples/blueprint_plugins/src/rtl_screen.sass +13 -0
  50. data/examples/blueprint_plugins/src/screen.sass +11 -0
  51. data/examples/blueprint_scoped/images/grid.png +0 -0
  52. data/examples/blueprint_scoped/src/ie.sass +4 -0
  53. data/examples/blueprint_scoped/src/print.sass +4 -0
  54. data/examples/blueprint_scoped/src/screen.sass +5 -0
  55. data/examples/blueprint_scoped_form/images/grid.png +0 -0
  56. data/examples/blueprint_scoped_form/src/ie.sass +3 -0
  57. data/examples/blueprint_scoped_form/src/print.sass +3 -0
  58. data/examples/blueprint_scoped_form/src/screen.sass +10 -0
  59. data/examples/blueprint_semantic/config.rb +7 -0
  60. data/examples/blueprint_semantic/images/grid.png +0 -0
  61. data/examples/blueprint_semantic/index.html.haml +86 -0
  62. data/examples/blueprint_semantic/parts/fancy_type.html.haml +100 -0
  63. data/examples/blueprint_semantic/parts/liquid.html.haml +100 -0
  64. data/examples/blueprint_semantic/parts/test-small.jpg +0 -0
  65. data/examples/blueprint_semantic/parts/test.jpg +0 -0
  66. data/examples/blueprint_semantic/parts/valid.png +0 -0
  67. data/examples/blueprint_semantic/src/ie.sass +3 -0
  68. data/examples/blueprint_semantic/src/images/grid.png +0 -0
  69. data/examples/blueprint_semantic/src/liquid.sass +69 -0
  70. data/examples/blueprint_semantic/src/print.sass +3 -0
  71. data/examples/blueprint_semantic/src/screen.sass +70 -0
  72. data/examples/compass/compass.html.haml +39 -0
  73. data/examples/compass/config.rb +7 -0
  74. data/examples/compass/images/blue_arrow.gif +0 -0
  75. data/examples/compass/src/compass.sass +47 -0
  76. data/examples/compass/src/images/blue_arrow.gif +0 -0
  77. data/examples/compass/src/sticky_footer.sass +11 -0
  78. data/examples/compass/src/utilities.sass +108 -0
  79. data/examples/compass/sticky_footer.html.haml +14 -0
  80. data/examples/compass/utilities.html.haml +189 -0
  81. data/examples/downloader.rb +57 -0
  82. data/examples/logo/logo.html.haml +40 -0
  83. data/examples/logo/src/ie.sass +6 -0
  84. data/examples/logo/src/print.sass +6 -0
  85. data/examples/logo/src/screen.sass +29 -0
  86. data/examples/ninesixty/bootstrap.rb +4 -0
  87. data/examples/ninesixty/config.rb +9 -0
  88. data/examples/ninesixty/extensions/ninesixty/README.mkdn +56 -0
  89. data/examples/ninesixty/extensions/ninesixty/compass-960-plugin.gemspec +36 -0
  90. data/examples/ninesixty/extensions/ninesixty/lib/ninesixty.rb +1 -0
  91. data/examples/ninesixty/extensions/ninesixty/lib/ninesixty/compass_plugin.rb +5 -0
  92. data/examples/ninesixty/extensions/ninesixty/sass/960/_grid.sass +64 -0
  93. data/examples/ninesixty/extensions/ninesixty/sass/960/_text.sass +59 -0
  94. data/examples/ninesixty/extensions/ninesixty/templates/project/grid.sass +34 -0
  95. data/examples/ninesixty/extensions/ninesixty/templates/project/manifest.rb +2 -0
  96. data/examples/ninesixty/extensions/ninesixty/templates/project/text.sass +10 -0
  97. data/examples/ninesixty/src/grid.sass +16 -0
  98. data/examples/ninesixty/src/text.sass +10 -0
  99. data/examples/yui/bootstrap.rb +3 -0
  100. data/examples/yui/divisions.html.haml +179 -0
  101. data/examples/yui/extensions/yui/stylesheets/_yui.sass +7 -0
  102. data/examples/yui/extensions/yui/stylesheets/yui/modules/_base.sass +70 -0
  103. data/examples/yui/extensions/yui/stylesheets/yui/modules/_fonts.sass +45 -0
  104. data/examples/yui/extensions/yui/stylesheets/yui/modules/_grids.sass +385 -0
  105. data/examples/yui/extensions/yui/stylesheets/yui/modules/_reset.sass +61 -0
  106. data/examples/yui/extensions/yui/templates/project/manifest.rb +1 -0
  107. data/examples/yui/extensions/yui/templates/project/screen.sass +4 -0
  108. data/examples/yui/index.html.haml +19 -0
  109. data/examples/yui/src/screen.sass +13 -0
  110. data/examples/yui/sub_divisions.html.haml +169 -0
  111. data/examples/yui/templates.html.haml +54 -0
  112. data/examples/yui/test.jpg +0 -0
  113. data/examples/yui/typography.html.haml +132 -0
  114. data/lib/compass.rb +22 -0
  115. data/lib/compass/actions.rb +116 -0
  116. data/lib/compass/app_integration.rb +3 -0
  117. data/lib/compass/app_integration/merb.rb +1 -0
  118. data/lib/compass/app_integration/merb/runtime.rb +63 -0
  119. data/lib/compass/app_integration/rails.rb +8 -0
  120. data/lib/compass/app_integration/rails/action_controller.rb +15 -0
  121. data/lib/compass/app_integration/rails/configuration_defaults.rb +29 -0
  122. data/lib/compass/app_integration/rails/installer.rb +127 -0
  123. data/lib/compass/app_integration/rails/runtime.rb +14 -0
  124. data/lib/compass/app_integration/rails/sass_plugin.rb +5 -0
  125. data/lib/compass/app_integration/rails/templates/compass-install-rails.rb +80 -0
  126. data/lib/compass/app_integration/rails/urls.rb +14 -0
  127. data/lib/compass/app_integration/stand_alone.rb +3 -0
  128. data/lib/compass/app_integration/stand_alone/configuration_defaults.rb +24 -0
  129. data/lib/compass/app_integration/stand_alone/installer.rb +71 -0
  130. data/lib/compass/commands.rb +11 -0
  131. data/lib/compass/commands/base.rb +36 -0
  132. data/lib/compass/commands/create_project.rb +113 -0
  133. data/lib/compass/commands/generate_grid_background.rb +91 -0
  134. data/lib/compass/commands/help.rb +62 -0
  135. data/lib/compass/commands/installer_command.rb +34 -0
  136. data/lib/compass/commands/list_frameworks.rb +16 -0
  137. data/lib/compass/commands/print_version.rb +91 -0
  138. data/lib/compass/commands/project_base.rb +92 -0
  139. data/lib/compass/commands/registry.rb +22 -0
  140. data/lib/compass/commands/stamp_pattern.rb +86 -0
  141. data/lib/compass/commands/update_project.rb +38 -0
  142. data/lib/compass/commands/validate_project.rb +21 -0
  143. data/lib/compass/commands/watch_project.rb +69 -0
  144. data/lib/compass/commands/write_configuration.rb +32 -0
  145. data/lib/compass/compiler.rb +54 -0
  146. data/lib/compass/configuration.rb +38 -0
  147. data/lib/compass/configuration/adapters.rb +59 -0
  148. data/lib/compass/configuration/comments.rb +22 -0
  149. data/lib/compass/configuration/data.rb +103 -0
  150. data/lib/compass/configuration/defaults.rb +107 -0
  151. data/lib/compass/configuration/helpers.rb +83 -0
  152. data/lib/compass/configuration/inheritance.rb +170 -0
  153. data/lib/compass/configuration/serialization.rb +86 -0
  154. data/lib/compass/core_ext.rb +14 -0
  155. data/lib/compass/dependencies.rb +6 -0
  156. data/lib/compass/errors.rb +7 -0
  157. data/lib/compass/exec.rb +15 -0
  158. data/lib/compass/exec/command_option_parser.rb +23 -0
  159. data/lib/compass/exec/global_options_parser.rb +37 -0
  160. data/lib/compass/exec/helpers.rb +28 -0
  161. data/lib/compass/exec/project_options_parser.rb +42 -0
  162. data/lib/compass/exec/sub_command_ui.rb +45 -0
  163. data/lib/compass/exec/switch_ui.rb +166 -0
  164. data/lib/compass/frameworks.rb +53 -0
  165. data/lib/compass/frameworks/blueprint/stylesheets/_blueprint.sass +3 -0
  166. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_ie.sass +99 -0
  167. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_print.sass +90 -0
  168. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_reset.sass +3 -0
  169. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_screen.sass +29 -0
  170. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_buttons.sass +84 -0
  171. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_colors.sass +33 -0
  172. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_debug.sass +9 -0
  173. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass +82 -0
  174. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_form.sass +55 -0
  175. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass +178 -0
  176. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass +58 -0
  177. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_link_icons.sass +44 -0
  178. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_liquid.sass +141 -0
  179. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_reset.sass +56 -0
  180. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass +122 -0
  181. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_scaffolding.sass +47 -0
  182. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass +160 -0
  183. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass +37 -0
  184. data/lib/compass/frameworks/blueprint/templates/buttons/buttons.sass +49 -0
  185. data/lib/compass/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  186. data/lib/compass/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  187. data/lib/compass/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  188. data/lib/compass/frameworks/blueprint/templates/buttons/manifest.rb +5 -0
  189. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons.sass +13 -0
  190. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  191. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons/email.png +0 -0
  192. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons/external.png +0 -0
  193. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  194. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons/im.png +0 -0
  195. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  196. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  197. data/lib/compass/frameworks/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  198. data/lib/compass/frameworks/blueprint/templates/link_icons/manifest.rb +10 -0
  199. data/lib/compass/frameworks/blueprint/templates/project/grid.png +0 -0
  200. data/lib/compass/frameworks/blueprint/templates/project/ie.sass +16 -0
  201. data/lib/compass/frameworks/blueprint/templates/project/manifest.rb +8 -0
  202. data/lib/compass/frameworks/blueprint/templates/project/partials/_base.sass +11 -0
  203. data/lib/compass/frameworks/blueprint/templates/project/print.sass +8 -0
  204. data/lib/compass/frameworks/blueprint/templates/project/screen.sass +47 -0
  205. data/lib/compass/frameworks/blueprint/templates/project/welcome.html.haml +13 -0
  206. data/lib/compass/frameworks/compass/stylesheets/_compass.sass +1 -0
  207. data/lib/compass/frameworks/compass/stylesheets/compass/_layout.sass +1 -0
  208. data/lib/compass/frameworks/compass/stylesheets/compass/_misc.sass +24 -0
  209. data/lib/compass/frameworks/compass/stylesheets/compass/_reset.sass +3 -0
  210. data/lib/compass/frameworks/compass/stylesheets/compass/_utilities.sass +7 -0
  211. data/lib/compass/frameworks/compass/stylesheets/compass/layout/_sticky_footer.sass +19 -0
  212. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_css3.sass +6 -0
  213. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_general.sass +5 -0
  214. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_links.sass +3 -0
  215. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_lists.sass +3 -0
  216. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_print.sass +18 -0
  217. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_sprites.sass +1 -0
  218. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_tables.sass +3 -0
  219. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_text.sass +2 -0
  220. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/css3/_border_radius.sass +47 -0
  221. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/css3/_box_shadow.sass +12 -0
  222. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/css3/_box_sizing.sass +13 -0
  223. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/css3/_columns.sass +37 -0
  224. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/css3/_inline_block.sass +7 -0
  225. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/css3/_opacity.sass +18 -0
  226. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.sass +24 -0
  227. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_float.sass +17 -0
  228. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_hacks.sass +6 -0
  229. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_reset.sass +134 -0
  230. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_tabs.sass +0 -0
  231. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass +19 -0
  232. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/links/_hover_link.sass +5 -0
  233. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/links/_link_colors.sass +24 -0
  234. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass +7 -0
  235. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.sass +21 -0
  236. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal_list.sass +52 -0
  237. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/lists/_inline_list.sass +29 -0
  238. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite_img.sass +52 -0
  239. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass +20 -0
  240. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_borders.sass +27 -0
  241. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.sass +9 -0
  242. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.sass +13 -0
  243. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.sass +3 -0
  244. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/text/_replacement.sass +17 -0
  245. data/lib/compass/frameworks/compass/templates/ellipsis/ellipsis.sass +6 -0
  246. data/lib/compass/frameworks/compass/templates/ellipsis/manifest.rb +2 -0
  247. data/lib/compass/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +14 -0
  248. data/lib/compass/frameworks/compass/templates/extension/manifest.rb +6 -0
  249. data/lib/compass/frameworks/compass/templates/extension/stylesheets/main.sass +1 -0
  250. data/lib/compass/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -0
  251. data/lib/compass/frameworks/compass/templates/extension/templates/project/screen.sass +2 -0
  252. data/lib/compass/frameworks/compass/templates/project/ie.sass +6 -0
  253. data/lib/compass/frameworks/compass/templates/project/manifest.rb +3 -0
  254. data/lib/compass/frameworks/compass/templates/project/print.sass +6 -0
  255. data/lib/compass/frameworks/compass/templates/project/screen.sass +13 -0
  256. data/lib/compass/grid_builder.rb +76 -0
  257. data/lib/compass/installers.rb +3 -0
  258. data/lib/compass/installers/base.rb +186 -0
  259. data/lib/compass/installers/manifest.rb +79 -0
  260. data/lib/compass/installers/template_context.rb +44 -0
  261. data/lib/compass/logger.rb +42 -0
  262. data/lib/compass/sass_extensions.rb +5 -0
  263. data/lib/compass/sass_extensions/functions.rb +19 -0
  264. data/lib/compass/sass_extensions/functions/display.rb +22 -0
  265. data/lib/compass/sass_extensions/functions/enumerate.rb +6 -0
  266. data/lib/compass/sass_extensions/functions/inline_image.rb +35 -0
  267. data/lib/compass/sass_extensions/functions/selectors.rb +42 -0
  268. data/lib/compass/sass_extensions/functions/urls.rb +105 -0
  269. data/lib/compass/sass_extensions/monkey_patches.rb +3 -0
  270. data/lib/compass/sass_extensions/monkey_patches/stylesheet_updating.rb +23 -0
  271. data/lib/compass/test_case.rb +38 -0
  272. data/lib/compass/validator.rb +10 -0
  273. data/lib/compass/version.rb +57 -0
  274. data/lib/vendor/fssm.rb +28 -0
  275. data/lib/vendor/fssm/backends/fsevents.rb +78 -0
  276. data/lib/vendor/fssm/backends/polling.rb +24 -0
  277. data/lib/vendor/fssm/ext.rb +7 -0
  278. data/lib/vendor/fssm/monitor.rb +21 -0
  279. data/lib/vendor/fssm/path.rb +88 -0
  280. data/lib/vendor/fssm/state.rb +46 -0
  281. data/lib/vendor/fssm/support.rb +26 -0
  282. data/test/command_line_helper.rb +97 -0
  283. data/test/command_line_test.rb +67 -0
  284. data/test/compass_test.rb +132 -0
  285. data/test/configuration_test.rb +123 -0
  286. data/test/fixtures/stylesheets/blueprint/config.rb +9 -0
  287. data/test/fixtures/stylesheets/blueprint/css/typography.css +158 -0
  288. data/test/fixtures/stylesheets/blueprint/images/grid.png +0 -0
  289. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +3 -0
  290. data/test/fixtures/stylesheets/blueprint/sass/print.sass +3 -0
  291. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +17 -0
  292. data/test/fixtures/stylesheets/blueprint/sass/typography.sass +3 -0
  293. data/test/fixtures/stylesheets/compass/config.rb +9 -0
  294. data/test/fixtures/stylesheets/compass/css/layout.css +15 -0
  295. data/test/fixtures/stylesheets/compass/css/print.css +18 -0
  296. data/test/fixtures/stylesheets/compass/css/reset.css +60 -0
  297. data/test/fixtures/stylesheets/compass/css/utilities.css +17 -0
  298. data/test/fixtures/stylesheets/compass/sass/layout.sass +3 -0
  299. data/test/fixtures/stylesheets/compass/sass/print.sass +5 -0
  300. data/test/fixtures/stylesheets/compass/sass/reset.sass +10 -0
  301. data/test/fixtures/stylesheets/compass/sass/utilities.sass +6 -0
  302. data/test/fixtures/stylesheets/image_urls/config.rb +17 -0
  303. data/test/fixtures/stylesheets/image_urls/css/screen.css +3 -0
  304. data/test/fixtures/stylesheets/image_urls/images/grid.png +0 -0
  305. data/test/fixtures/stylesheets/image_urls/sass/screen.sass +6 -0
  306. data/test/io_helper.rb +19 -0
  307. data/test/rails_integration_test.rb +84 -0
  308. data/test/sass_extensions_test.rb +31 -0
  309. data/test/test_case_helper.rb +13 -0
  310. data/test/test_helper.rb +27 -0
  311. data/test/test_rails_helper.rb +20 -0
  312. metadata +404 -0
@@ -0,0 +1,37 @@
1
+ //**
2
+ CSS3 columns for Mozilla, Webkit and the Future
3
+
4
+ =column-count(!n)
5
+ -moz-column-count= !n
6
+ -webkit-column-count= !n
7
+ column-count= !n
8
+
9
+ =column-gap(!u)
10
+ -moz-column-gap= !u
11
+ -webkit-column-gap= !u
12
+ column-gap= !u
13
+
14
+ =column-width(!u)
15
+ -moz-column-width= !u
16
+ -webkit-column-width= !u
17
+ column-width= !u
18
+
19
+ =column-rule-width(!w)
20
+ -moz-column-rule-width= !w
21
+ -webkit-column-rule-width= !w
22
+ column-rule-width= !w
23
+
24
+ =column-rule-style(!s)
25
+ -moz-column-rule-style= !s
26
+ -webkit-column-rule-style= !s
27
+ column-rule-style= !s
28
+
29
+ =column-rule-color(!c)
30
+ -moz-column-rule-color= !c
31
+ -webkit-column-rule-color= !c
32
+ column-rule-color= !c
33
+
34
+ =column-rule(!w, !s = "solid", !c = " ")
35
+ +column-rule-width(!w)
36
+ +column-rule-style(!s)
37
+ +column-rule-color(!c)
@@ -0,0 +1,7 @@
1
+ =inline-block
2
+ display: -moz-inline-box
3
+ -moz-box-orient: vertical
4
+ display: inline-block
5
+ vertical-align: middle
6
+ #display: inline
7
+ #vertical-align: auto
@@ -0,0 +1,18 @@
1
+ //**
2
+ Provides cross-browser css opacity.
3
+ @param !opacity
4
+ A number between 0 and 1, where 0 is transparent and 1 is opaque.
5
+ =opacity(!opacity)
6
+ opacity= !opacity
7
+ -moz-opacity= !opacity
8
+ -khtml-opacity= !opacity
9
+ -ms-filter= "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + round(!opacity*100) + ")"
10
+ filter= "alpha(opacity=" + round(!opacity*100) + ")"
11
+
12
+ // Make an element completely transparent.
13
+ =transparent
14
+ +opacity(0)
15
+
16
+ // Make an element completely opaque.
17
+ =opaque
18
+ +opacity(1)
@@ -0,0 +1,24 @@
1
+ @import hacks.sass
2
+
3
+ //**
4
+ Extends the element to enclose any floats it contains.
5
+ This basic method is preferred for the usual case, when positioned content will not show outside the bounds of the container.
6
+ Recommendations include using this in conjunction with a width:
7
+ http://www.quirksmode.org/blog/archives/2005/03/clearing_floats.html
8
+ =clearfix
9
+ overflow: hidden
10
+ +has-layout
11
+
12
+ //**
13
+ Extends the element to enclose any floats it contains.
14
+ This older "Easy Clearing" method has the advantage of allowing positioned elements to hang outside the bounds of the container, at the expense of more tricky CSS.
15
+ http://www.positioniseverything.net/easyclearing.html
16
+ =pie-clearfix
17
+ &:after
18
+ content: " "
19
+ display: block
20
+ height: 0
21
+ clear: both
22
+ overflow: hidden
23
+ visibility: hidden
24
+ +has-layout
@@ -0,0 +1,17 @@
1
+ //**\\
2
+ Float
3
+
4
+ @import clearfix.sass
5
+
6
+ // Implementation of float:left with fix for double-margin bug
7
+ =float-left
8
+ +float("left")
9
+
10
+ // Implementation of float:right with fix for double-margin bug
11
+ =float-right
12
+ +float("right")
13
+
14
+ // Available as alternate syntax with just +float
15
+ =float(!side = "left")
16
+ display: inline
17
+ float= !side
@@ -0,0 +1,6 @@
1
+ =has-layout
2
+ // This makes ie6 get layout
3
+ display: inline-block
4
+ // and this puts it back to block
5
+ &
6
+ display: block
@@ -0,0 +1,134 @@
1
+ // Based on Eric Meyer's reset http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/
2
+
3
+ // Global reset rules.
4
+ // For more specific resets, use the reset mixins provided below
5
+ =global-reset
6
+ html, body, div, span, applet, object, iframe,
7
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8
+ a, abbr, acronym, address, big, cite, code,
9
+ del, dfn, em, font, img, ins, kbd, q, s, samp,
10
+ small, strike, strong, sub, sup, tt, var,
11
+ dl, dt, dd, ol, ul, li,
12
+ fieldset, form, label, legend,
13
+ table, caption, tbody, tfoot, thead, tr, th, td
14
+ +reset-box-model
15
+ +reset-font
16
+
17
+ *:focus
18
+ +reset-focus
19
+
20
+ body
21
+ +reset-body
22
+
23
+ ol, ul
24
+ +reset-list-style
25
+
26
+ /* tables still need 'cellspacing="0"' in the markup
27
+ table
28
+ +reset-table
29
+
30
+ caption, th, td
31
+ +reset-table-cell
32
+
33
+ q, blockquote
34
+ +reset-quotation
35
+
36
+ img a
37
+ +reset-image-anchor-border
38
+
39
+
40
+ // Reset all elements within some selector scope.To reset the selector itself,
41
+ // mixin the appropriate reset mixin for that element type as well. This could be
42
+ // useful if you want to style a part of your page in a dramatically different way.
43
+ =nested-reset
44
+ div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
45
+ pre, a, abbr, acronym, address, code, del, dfn, em, img,
46
+ dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr
47
+ +reset-box-model
48
+ +reset-font
49
+
50
+ /* tables still need 'cellspacing="0"' in the markup
51
+ table
52
+ +reset-table
53
+
54
+ caption, th, td
55
+ +reset-table-cell
56
+
57
+ q, blockquote
58
+ +reset-quotation
59
+
60
+ img a
61
+ +reset-image-anchor-border
62
+
63
+ //Mixins partials
64
+ =reset-box-model
65
+ margin: 0
66
+ padding: 0
67
+ border: 0
68
+ outline: 0
69
+
70
+ =reset-font
71
+ font:
72
+ weight: inherit
73
+ style: inherit
74
+ size: 100%
75
+ family: inherit
76
+ vertical-align: baseline
77
+
78
+ =reset-focus
79
+ outline: 0
80
+
81
+ =reset-body
82
+ line-height: 1em
83
+ color: #000
84
+ background: #fff
85
+
86
+ =reset-list-style
87
+ list-style: none
88
+
89
+ =reset-table
90
+ border-collapse: separate
91
+ border-spacing: 0
92
+ vertical-align: middle
93
+
94
+ =reset-table-cell
95
+ text-align: left
96
+ font-weight: normal
97
+ vertical-align: middle
98
+
99
+ =reset-quotation
100
+ quotes: "" ""
101
+ &:before, &:after
102
+ content: ""
103
+
104
+ =reset-image-anchor-border
105
+ border: none
106
+
107
+ =reset-html5
108
+ section, article, aside, header, footer, nav, dialog, figure
109
+ display: block
110
+
111
+ //**
112
+ Resets the display of inline and block elements to their default display
113
+ according to their tag type. Elements that have a default display that varies across
114
+ versions of html or browser are not handled here, but this covers the 90% use case.
115
+ Usage Example:
116
+ // Turn off the display for both of these classes
117
+ .unregistered-only, .registered-only
118
+ display: none
119
+ // Now turn only one of them back on depending on some other context.
120
+ body.registered
121
+ +reset-display(".registered-only")
122
+ body.unregistered
123
+ +reset-display(".unregistered-only")
124
+ =reset-display(!selector = "", !important = false)
125
+ #{append_selector(elements_of_type("inline"), !selector)}
126
+ @if !important
127
+ display: inline !important
128
+ @else
129
+ display: inline
130
+ #{append_selector(elements_of_type("block"), !selector)}
131
+ @if !important
132
+ display: block !important
133
+ @else
134
+ display: block
@@ -0,0 +1,19 @@
1
+ // Emits styles for a tag cloud
2
+ =tag-cloud(!base_size = 1em)
3
+ font-size= !base_size
4
+ line-height= 1.2 * !base_size
5
+ .xxs, .xs, .s, .l, .xl, .xxl
6
+ line-height= 1.2 * !base_size
7
+ .xxs
8
+ font-size= !base_size / 2.0
9
+ .xs
10
+ font-size= 2.0 * !base_size / 3.0
11
+ .s
12
+ font-size= 3.0 * !base_size / 4.0
13
+ .l
14
+ font-size= 4.0 * !base_size / 3.0
15
+ .xl
16
+ font-size= 3.0 * !base_size / 2.0
17
+ .xxl
18
+ font-size= 2.0 * !base_size
19
+
@@ -0,0 +1,5 @@
1
+ // a link that only has an underline when you hover over it
2
+ =hover-link
3
+ text-decoration: none
4
+ &:hover
5
+ text-decoration: underline
@@ -0,0 +1,24 @@
1
+ // Set all the colors for a link with one mixin call
2
+ // Order of arguments is:
3
+ // normal, hover, active, visited, focus
4
+ // states not specified will inherit.
5
+ // Mixin like so:
6
+ // a
7
+ // +link-colors(#00c, #0cc, #c0c, #ccc, #cc0)
8
+
9
+ =link-colors(!normal, !hover = false, !active = false, !visited = false, !focus = false)
10
+ color= !normal
11
+ @if !visited
12
+ &:visited
13
+ color= !visited
14
+ @if !focus
15
+ &:focus
16
+ color= !focus
17
+ @if !hover
18
+ &:hover
19
+ color= !hover
20
+ @if !active
21
+ &:active
22
+ color= !active
23
+
24
+
@@ -0,0 +1,7 @@
1
+ // A link that looks and acts like the text it is contained within
2
+ =unstyled-link
3
+ color: inherit
4
+ text-decoration: inherit
5
+ cursor: inherit
6
+ &:active, &:focus
7
+ outline: none
@@ -0,0 +1,21 @@
1
+ // Turn off the bullet for an element of a list
2
+ =no-bullet
3
+ list-style-type: none
4
+ margin-left: 0px
5
+
6
+ // turns off the bullets for an entire list
7
+ =no-bullets
8
+ li
9
+ +no-bullet
10
+
11
+ // Make a list(ul/ol) have an image bullet
12
+ // mixin should be used like this for an icon that is 5x7:
13
+ // ul.pretty
14
+ // +pretty-bullets("my-icon.png", 5px, 7px)
15
+ =pretty-bullets(!bullet_icon, !width, !height, !line_height = 18px, !padding = 14px)
16
+ margin-left: 0
17
+ li
18
+ padding-left= !padding
19
+ background= image_url(!bullet_icon) "no-repeat" ((!padding - !width) / 2) ((!line_height - !height) / 2)
20
+ list-style-type: none
21
+
@@ -0,0 +1,52 @@
1
+ //**\\
2
+ Horizontal list layout module.
3
+
4
+ Easy mode using simple descendant li selectors:
5
+
6
+ ul.nav
7
+ +horizontal-list
8
+
9
+ Advanced mode:
10
+ If you need to target the list items using a different selector then use
11
+ +horizontal-list-container on your ul/ol and +horizontal-list-item on your li.
12
+ This may help when working on layouts involving nested lists. For example:
13
+
14
+ ul.nav
15
+ +horizontal-list-container
16
+ > li
17
+ +horizontal-list-item
18
+
19
+ @import bullets.sass
20
+ @import compass/utilities/general/reset.sass
21
+ @import compass/utilities/general/float.sass
22
+
23
+ //**
24
+ Can be mixed into any selector that target a ul or ol that is meant
25
+ to have a horizontal layout. Used to implement +horizontal-list.
26
+ =horizontal-list-container
27
+ +reset-box-model
28
+ +clearfix
29
+
30
+ //**
31
+ Can be mixed into any li selector that is meant to participate in a horizontal layout.
32
+ Used to implement +horizontal-list.
33
+ =horizontal-list-item(!padding = 4px)
34
+ +no-bullet
35
+ white-space: nowrap
36
+ +float-left
37
+ padding:
38
+ left= !padding
39
+ right= !padding
40
+ &.first
41
+ padding-left: 0px
42
+ &.last
43
+ padding-right: 0px
44
+
45
+ //**
46
+ A list(ol,ul) that is layed out such that the elements are floated left and won't wrap.
47
+ This is not an inline list.
48
+ =horizontal-list(!padding = 4px)
49
+ +horizontal-list-container
50
+ li
51
+ +horizontal-list-item(!padding)
52
+
@@ -0,0 +1,29 @@
1
+ // makes a list inline.
2
+
3
+ =inline-list
4
+ list-style-type: none
5
+ margin: 0px
6
+ padding: 0px
7
+ display: inline
8
+ li
9
+ margin: 0px
10
+ padding: 0px
11
+ display: inline
12
+
13
+ // makes an inlin list that is comma delimited.
14
+ // use of this recipe is not recommended at this time due to browser support issues.
15
+ //
16
+ // use of :content and :after is not fully supported in all browsers.
17
+ // See http://www.quirksmode.org/css/contents.html#t15 for the support matrix
18
+ //
19
+ // :last-child is not fully supported
20
+ // see http://www.quirksmode.org/css/contents.html#t29 for the support matrix
21
+
22
+ =comma-delimited-list
23
+ +inline-list
24
+ li
25
+ &:after
26
+ content: ", "
27
+ &:last-child, &.last
28
+ &:after
29
+ content: ""
@@ -0,0 +1,52 @@
1
+ //**
2
+ Example 1:
3
+ a.twitter
4
+ +sprite-img("icons-32.png", 1)
5
+ a.facebook
6
+ +sprite-img("icons-32png", 2)
7
+ ...
8
+ Example 2:
9
+ a
10
+ +sprite-background("icons-32.png")
11
+ a.twitter
12
+ +sprite-column(1)
13
+ a.facebook
14
+ +sprite-row(2)
15
+ ...
16
+
17
+ !sprite_default_size ||= 32px
18
+ !sprite_default_margin ||= 0px
19
+ !sprite_image_default_width ||= !sprite_default_size
20
+ !sprite_image_default_height ||= !sprite_default_size
21
+
22
+
23
+ // Sets all the rules for a sprite from a given sprite image to show just one of the sprites.
24
+ // To reduce duplication use a sprite-bg mixin for common properties and a sprite-select mixin for positioning.
25
+ =sprite-img(!img, !col, !row = 1, !width = !sprite_image_default_width, !height = !sprite_image_default_height, !margin = !sprite_default_margin)
26
+ +sprite-background(!img, !width, !height)
27
+ +sprite-position(!col, !row, !width, !height, !margin)
28
+
29
+ // Sets rules common for all sprites, assumes you want a square, but allows a rectangular region.
30
+ =sprite-background(!img, !width = !sprite_default_size, !height = !width)
31
+ +sprite-background-rectangle(!img, !width, !height)
32
+
33
+ // Sets rules common for all sprites, assumes a rectangular region.
34
+ =sprite-background-rectangle(!img, !width = !sprite_image_default_width, !height = !sprite_image_default_height)
35
+ background= image_url(!img) "no-repeat"
36
+ width= !width
37
+ height= !height
38
+ overflow: hidden
39
+
40
+ // Allows horizontal sprite positioning optimized for a single row of sprites.
41
+ =sprite-column(!col, !width = !sprite_image_default_width, !margin = !sprite_default_margin)
42
+ +sprite-position(!col, 1, !width, 0px, !margin)
43
+
44
+ // Allows vertical sprite positioning optimized for a single column of sprites.
45
+ =sprite-row(!row, !height = !sprite_image_default_height, !margin = !sprite_default_margin)
46
+ +sprite-position(1, !row, 0px, !height, !margin)
47
+
48
+ // Allows vertical and horizontal sprite positioning from a grid of equal dimensioned sprites.
49
+ =sprite-position(!col, !row = 1, !width = !sprite_image_default_width, !height = !sprite_image_default_height, !margin = !sprite_default_margin)
50
+ !x = ((!col - 1) * -!width) - ((!col - 1) * !margin)
51
+ !y = ((!row - 1) * -!height) - ((!row - 1) * !margin)
52
+ background-position= !x !y