compass 0.8.17 → 0.10.0.pre1

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 (349) hide show
  1. data/CHANGELOG.markdown +165 -0
  2. data/README.markdown +15 -3
  3. data/Rakefile +46 -7
  4. data/VERSION.yml +3 -2
  5. data/bin/compass +22 -4
  6. data/examples/blueprint_default/index.html.haml +3 -3
  7. data/examples/blueprint_default/parts/forms.html.haml +2 -0
  8. data/examples/blueprint_default/src/screen.sass +1 -1
  9. data/examples/blueprint_plugins/index.html.haml +6 -6
  10. data/examples/blueprint_plugins/src/buttons.sass +2 -2
  11. data/examples/blueprint_plugins/src/link_icons.sass +1 -1
  12. data/examples/blueprint_plugins/src/rtl_screen.sass +3 -3
  13. data/examples/blueprint_plugins/src/screen.sass +2 -2
  14. data/examples/blueprint_scoped/src/ie.sass +2 -1
  15. data/examples/blueprint_scoped/src/print.sass +2 -1
  16. data/examples/blueprint_scoped/src/screen.sass +2 -1
  17. data/examples/blueprint_semantic/parts/fancy_type.html.haml +1 -1
  18. data/examples/blueprint_semantic/src/liquid.sass +5 -6
  19. data/examples/blueprint_semantic/src/screen.sass +4 -5
  20. data/examples/compass/bootstrap.rb +3 -0
  21. data/{frameworks → examples/compass/extensions}/yui/stylesheets/_yui.sass +0 -0
  22. data/examples/compass/extensions/yui/stylesheets/yui/modules/_base.sass +70 -0
  23. data/{frameworks → examples/compass/extensions}/yui/stylesheets/yui/modules/_fonts.sass +8 -1
  24. data/{frameworks → examples/compass/extensions}/yui/stylesheets/yui/modules/_grids.sass +174 -130
  25. data/{frameworks → examples/compass/extensions}/yui/stylesheets/yui/modules/_reset.sass +0 -0
  26. data/{frameworks → examples/compass/extensions}/yui/templates/project/manifest.rb +0 -0
  27. data/{frameworks → examples/compass/extensions}/yui/templates/project/screen.sass +0 -0
  28. data/examples/compass/src/utilities.sass +2 -2
  29. data/examples/css3/config.rb +6 -0
  30. data/examples/css3/extensions/fancy-fonts/templates/project/Vtks Revolt.ttf +0 -0
  31. data/examples/css3/extensions/fancy-fonts/templates/project/angelina.ttf +0 -0
  32. data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +7 -0
  33. data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +5 -0
  34. data/examples/css3/images/fresh-peas.jpg +0 -0
  35. data/examples/css3/index.html.haml +55 -0
  36. data/examples/css3/src/_base.sass +14 -0
  37. data/examples/css3/src/fancy-fonts.sass +7 -0
  38. data/examples/css3/src/gradient.sass +10 -0
  39. data/examples/css3/src/main.sass +80 -0
  40. data/examples/css3/stylesheets/fonts/Vtks Revolt.ttf +0 -0
  41. data/examples/css3/stylesheets/fonts/angelina.ttf +0 -0
  42. data/examples/downloader.rb +57 -0
  43. data/examples/ninesixty/bootstrap.rb +4 -0
  44. data/examples/ninesixty/config.rb +9 -0
  45. data/examples/ninesixty/extensions/ninesixty/README.mkdn +56 -0
  46. data/examples/ninesixty/extensions/ninesixty/compass-960-plugin.gemspec +36 -0
  47. data/examples/ninesixty/extensions/ninesixty/lib/ninesixty.rb +1 -0
  48. data/examples/ninesixty/extensions/ninesixty/lib/ninesixty/compass_plugin.rb +5 -0
  49. data/examples/ninesixty/extensions/ninesixty/sass/960/_grid.sass +64 -0
  50. data/examples/ninesixty/extensions/ninesixty/sass/960/_text.sass +59 -0
  51. data/examples/ninesixty/extensions/ninesixty/templates/project/grid.sass +34 -0
  52. data/examples/ninesixty/extensions/ninesixty/templates/project/manifest.rb +2 -0
  53. data/examples/ninesixty/extensions/ninesixty/templates/project/text.sass +10 -0
  54. data/examples/ninesixty/src/grid.sass +16 -0
  55. data/examples/ninesixty/src/text.sass +10 -0
  56. data/examples/susy/bootstrap.rb +3 -0
  57. data/examples/susy/config.rb +9 -0
  58. data/examples/susy/extensions/susy/LICENSE.txt +28 -0
  59. data/examples/susy/extensions/susy/README.mkdn +235 -0
  60. data/examples/susy/extensions/susy/compass-susy-plugin.gemspec +35 -0
  61. data/examples/susy/extensions/susy/docs/tutorial/build.sh +141 -0
  62. data/examples/susy/extensions/susy/docs/tutorial/code/01_target/src/_defaults.sass +100 -0
  63. data/examples/susy/extensions/susy/docs/tutorial/code/01_target/src/screen.sass +98 -0
  64. data/examples/susy/extensions/susy/docs/tutorial/code/02_container/src/_defaults.sass +147 -0
  65. data/examples/susy/extensions/susy/docs/tutorial/code/02_container/src/screen.sass +19 -0
  66. data/examples/susy/extensions/susy/docs/tutorial/code/03_structure/src/_defaults.sass +147 -0
  67. data/examples/susy/extensions/susy/docs/tutorial/code/03_structure/src/screen.sass +48 -0
  68. data/examples/susy/extensions/susy/docs/tutorial/code/_common/config.rb +14 -0
  69. data/examples/susy/extensions/susy/docs/tutorial/code/_common/images/grid.png +0 -0
  70. data/examples/susy/extensions/susy/docs/tutorial/code/_common/images/susy_logo.png +0 -0
  71. data/examples/susy/extensions/susy/docs/tutorial/code/_common/src/_base.sass +63 -0
  72. data/examples/susy/extensions/susy/docs/tutorial/code/_tools/Markdown.pl +1450 -0
  73. data/examples/susy/extensions/susy/docs/tutorial/code/site/src/_defaults.sass +100 -0
  74. data/examples/susy/extensions/susy/docs/tutorial/code/site/src/screen.sass +91 -0
  75. data/examples/susy/extensions/susy/docs/tutorial/figures/susy_element.png +0 -0
  76. data/examples/susy/extensions/susy/docs/tutorial/figures/susy_grid.png +0 -0
  77. data/examples/susy/extensions/susy/docs/tutorial/index.mkdn +301 -0
  78. data/examples/susy/extensions/susy/lib/susy.rb +2 -0
  79. data/examples/susy/extensions/susy/lib/susy/compass_plugin.rb +5 -0
  80. data/examples/susy/extensions/susy/lib/susy/sass_extensions.rb +79 -0
  81. data/examples/susy/extensions/susy/sass/susy/_grid.sass +128 -0
  82. data/examples/susy/extensions/susy/sass/susy/_reset.sass +7 -0
  83. data/examples/susy/extensions/susy/sass/susy/_susy.sass +23 -0
  84. data/examples/susy/extensions/susy/sass/susy/_text.sass +15 -0
  85. data/examples/susy/extensions/susy/sass/susy/_utils.sass +81 -0
  86. data/examples/susy/extensions/susy/templates/project/_base.sass +62 -0
  87. data/examples/susy/extensions/susy/templates/project/_defaults.sass +147 -0
  88. data/examples/susy/extensions/susy/templates/project/ie.sass +9 -0
  89. data/examples/susy/extensions/susy/templates/project/manifest.rb +5 -0
  90. data/examples/susy/extensions/susy/templates/project/print.sass +7 -0
  91. data/examples/susy/extensions/susy/templates/project/screen.sass +44 -0
  92. data/examples/susy/src/_base.sass +62 -0
  93. data/examples/susy/src/_defaults.sass +148 -0
  94. data/examples/susy/src/screen.sass +114 -0
  95. data/examples/yui/bootstrap.rb +3 -0
  96. data/examples/yui/extensions/yui/stylesheets/_yui.sass +7 -0
  97. data/examples/yui/extensions/yui/stylesheets/yui/modules/_base.sass +70 -0
  98. data/examples/yui/extensions/yui/stylesheets/yui/modules/_fonts.sass +45 -0
  99. data/examples/yui/extensions/yui/stylesheets/yui/modules/_grids.sass +385 -0
  100. data/examples/yui/extensions/yui/stylesheets/yui/modules/_reset.sass +61 -0
  101. data/examples/yui/extensions/yui/templates/project/manifest.rb +1 -0
  102. data/examples/yui/extensions/yui/templates/project/screen.sass +4 -0
  103. data/features/command_line.feature +226 -0
  104. data/features/extensions.feature +20 -0
  105. data/features/step_definitions/command_line_steps.rb +223 -0
  106. data/features/step_definitions/extension_steps.rb +13 -0
  107. data/lib/compass.rb +6 -7
  108. data/lib/compass/actions.rb +7 -1
  109. data/lib/compass/app_integration.rb +23 -4
  110. data/lib/compass/app_integration/merb.rb +1 -43
  111. data/lib/compass/app_integration/merb/runtime.rb +63 -0
  112. data/lib/compass/app_integration/rails.rb +24 -10
  113. data/lib/compass/app_integration/rails/configuration_defaults.rb +45 -0
  114. data/lib/compass/app_integration/rails/installer.rb +127 -0
  115. data/lib/compass/app_integration/rails/runtime.rb +14 -0
  116. data/lib/compass/app_integration/stand_alone.rb +22 -0
  117. data/lib/compass/app_integration/stand_alone/configuration_defaults.rb +28 -0
  118. data/lib/compass/app_integration/stand_alone/installer.rb +83 -0
  119. data/lib/compass/commands.rb +11 -0
  120. data/lib/compass/commands/base.rb +4 -1
  121. data/lib/compass/commands/create_project.rb +108 -5
  122. data/lib/compass/commands/generate_grid_background.rb +73 -6
  123. data/lib/compass/commands/help.rb +89 -0
  124. data/lib/compass/commands/installer_command.rb +20 -13
  125. data/lib/compass/commands/interactive.rb +61 -0
  126. data/lib/compass/commands/list_frameworks.rb +2 -2
  127. data/lib/compass/commands/print_version.rb +72 -4
  128. data/lib/compass/commands/project_base.rb +14 -34
  129. data/lib/compass/commands/project_stats.rb +162 -0
  130. data/lib/compass/commands/registry.rb +22 -0
  131. data/lib/compass/commands/stamp_pattern.rb +56 -3
  132. data/lib/compass/commands/update_project.rb +60 -6
  133. data/lib/compass/commands/validate_project.rb +62 -6
  134. data/lib/compass/commands/watch_project.rb +12 -5
  135. data/lib/compass/commands/write_configuration.rb +89 -4
  136. data/lib/compass/compiler.rb +13 -4
  137. data/lib/compass/configuration.rb +29 -310
  138. data/lib/compass/configuration/adapters.rb +59 -0
  139. data/lib/compass/configuration/comments.rb +22 -0
  140. data/lib/compass/configuration/data.rb +106 -0
  141. data/lib/compass/configuration/defaults.rb +138 -0
  142. data/lib/compass/configuration/helpers.rb +120 -0
  143. data/lib/compass/configuration/inheritance.rb +170 -0
  144. data/lib/compass/configuration/serialization.rb +86 -0
  145. data/lib/compass/dependencies.rb +4 -8
  146. data/lib/compass/errors.rb +4 -1
  147. data/lib/compass/exec.rb +11 -246
  148. data/lib/compass/exec/command_option_parser.rb +23 -0
  149. data/lib/compass/exec/global_options_parser.rb +37 -0
  150. data/lib/compass/exec/helpers.rb +28 -0
  151. data/lib/compass/exec/project_options_parser.rb +46 -0
  152. data/lib/compass/exec/sub_command_ui.rb +45 -0
  153. data/lib/compass/exec/switch_ui.rb +166 -0
  154. data/lib/compass/frameworks.rb +70 -7
  155. data/lib/compass/frameworks/blueprint/stylesheets/_blueprint.sass +31 -0
  156. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_buttons.sass +27 -27
  157. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_colors.sass +0 -0
  158. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_debug.sass +2 -2
  159. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_fancy_type.sass +19 -19
  160. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_form.sass +56 -0
  161. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_grid.sass +34 -33
  162. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_ie.sass +99 -0
  163. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_interaction.sass +58 -0
  164. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_link_icons.sass +9 -9
  165. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_liquid.sass +29 -29
  166. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_print.sass +87 -0
  167. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_reset.sass +20 -18
  168. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_rtl.sass +123 -0
  169. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_scaffolding.sass +6 -4
  170. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_screen.sass +2 -0
  171. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_typography.sass +162 -0
  172. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_utilities.sass +15 -15
  173. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_buttons.sass +2 -0
  174. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_colors.sass +2 -0
  175. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_debug.sass +2 -0
  176. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass +2 -0
  177. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_form.sass +2 -0
  178. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass +2 -0
  179. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass +2 -0
  180. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_link_icons.sass +2 -0
  181. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_liquid.sass +3 -0
  182. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_reset.sass +2 -0
  183. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass +2 -0
  184. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_scaffolding.sass +2 -0
  185. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass +2 -0
  186. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass +2 -0
  187. data/{frameworks → lib/compass/frameworks}/blueprint/templates/buttons/buttons.sass +4 -4
  188. data/{frameworks → lib/compass/frameworks}/blueprint/templates/buttons/buttons/cross.png +0 -0
  189. data/{frameworks → lib/compass/frameworks}/blueprint/templates/buttons/buttons/key.png +0 -0
  190. data/{frameworks → lib/compass/frameworks}/blueprint/templates/buttons/buttons/tick.png +0 -0
  191. data/lib/compass/frameworks/blueprint/templates/buttons/manifest.rb +17 -0
  192. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons.sass +1 -1
  193. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  194. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/email.png +0 -0
  195. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/external.png +0 -0
  196. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  197. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/im.png +0 -0
  198. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  199. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  200. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  201. data/lib/compass/frameworks/blueprint/templates/link_icons/manifest.rb +23 -0
  202. data/{frameworks → lib/compass/frameworks}/blueprint/templates/project/grid.png +0 -0
  203. data/lib/compass/frameworks/blueprint/templates/project/ie.sass +16 -0
  204. data/lib/compass/frameworks/blueprint/templates/project/manifest.rb +32 -0
  205. data/{frameworks → lib/compass/frameworks}/blueprint/templates/project/partials/_base.sass +0 -0
  206. data/lib/compass/frameworks/blueprint/templates/project/print.sass +8 -0
  207. data/{frameworks → lib/compass/frameworks}/blueprint/templates/project/screen.sass +3 -2
  208. data/lib/compass/frameworks/blueprint/templates/project/welcome.html.haml +21 -0
  209. data/lib/compass/frameworks/compass/stylesheets/_compass.sass +2 -0
  210. data/lib/compass/frameworks/compass/stylesheets/compass/_css3.sass +14 -0
  211. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/_layout.sass +0 -0
  212. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/_misc.sass +12 -12
  213. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/_reset.sass +0 -0
  214. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/_utilities.sass +0 -0
  215. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_background_clip.sass +16 -0
  216. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_background_origin.sass +18 -0
  217. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_background_size.sass +14 -0
  218. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_border_radius.sass +47 -0
  219. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_box_shadow.sass +20 -0
  220. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_box_sizing.sass +13 -0
  221. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_columns.sass +37 -0
  222. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_font_face.sass +31 -0
  223. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_gradient.sass +40 -0
  224. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_inline_block.sass +7 -0
  225. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_opacity.sass +18 -0
  226. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_text_shadow.sass +15 -0
  227. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_transform.sass +62 -0
  228. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_transition.sass +57 -0
  229. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/layout/_sticky_footer.sass +9 -7
  230. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_general.sass +0 -1
  231. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_links.sass +1 -1
  232. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_lists.sass +0 -0
  233. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_print.sass +18 -0
  234. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_sprites.sass +1 -0
  235. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_tables.sass +0 -0
  236. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_text.sass +0 -0
  237. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_clearfix.sass +7 -7
  238. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_float.sass +2 -2
  239. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_hacks.sass +2 -2
  240. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_reset.sass +28 -28
  241. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_tabs.sass +0 -0
  242. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass +19 -0
  243. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/links/_hover_link.sass +2 -2
  244. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/links/_link_colors.sass +6 -6
  245. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass +7 -0
  246. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/lists/_bullets.sass +6 -6
  247. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/lists/_horizontal_list.sass +6 -6
  248. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/lists/_inline_list.sass +9 -9
  249. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite_img.sass +52 -0
  250. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass +20 -0
  251. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_borders.sass +27 -0
  252. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.sass +9 -0
  253. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/text/_ellipsis.sass +0 -0
  254. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/text/_nowrap.sass +1 -1
  255. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/text/_replacement.sass +6 -6
  256. data/{frameworks → lib/compass/frameworks}/compass/templates/ellipsis/ellipsis.sass +0 -0
  257. data/lib/compass/frameworks/compass/templates/ellipsis/manifest.rb +27 -0
  258. data/{frameworks → lib/compass/frameworks}/compass/templates/ellipsis/xml/ellipsis.xml +0 -0
  259. data/lib/compass/frameworks/compass/templates/extension/manifest.rb +20 -0
  260. data/lib/compass/frameworks/compass/templates/extension/stylesheets/main.sass +1 -0
  261. data/lib/compass/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -0
  262. data/lib/compass/frameworks/compass/templates/extension/templates/project/screen.sass +2 -0
  263. data/lib/compass/frameworks/compass/templates/project/USAGE.markdown +32 -0
  264. data/{frameworks → lib/compass/frameworks}/compass/templates/project/ie.sass +0 -0
  265. data/{frameworks → lib/compass/frameworks}/compass/templates/project/manifest.rb +1 -0
  266. data/{frameworks → lib/compass/frameworks}/compass/templates/project/print.sass +0 -0
  267. data/{frameworks → lib/compass/frameworks}/compass/templates/project/screen.sass +0 -0
  268. data/lib/compass/grid_builder.rb +15 -11
  269. data/lib/compass/installers.rb +3 -5
  270. data/lib/compass/installers/bare_installer.rb +58 -0
  271. data/lib/compass/installers/base.rb +40 -51
  272. data/lib/compass/installers/manifest.rb +55 -2
  273. data/lib/compass/installers/manifest_installer.rb +59 -0
  274. data/lib/compass/installers/template_context.rb +44 -0
  275. data/lib/compass/logger.rb +28 -2
  276. data/lib/compass/sass_extensions.rb +2 -2
  277. data/lib/compass/sass_extensions/functions.rb +4 -2
  278. data/lib/compass/sass_extensions/functions/color_stop.rb +10 -0
  279. data/lib/compass/sass_extensions/functions/font_files.rb +11 -0
  280. data/lib/compass/sass_extensions/functions/inline_image.rb +22 -1
  281. data/lib/compass/sass_extensions/functions/selectors.rb +4 -1
  282. data/lib/compass/sass_extensions/functions/urls.rb +22 -2
  283. data/lib/compass/sass_extensions/monkey_patches.rb +3 -3
  284. data/lib/compass/sass_extensions/monkey_patches/traversal.rb +23 -0
  285. data/lib/compass/stats.rb +92 -0
  286. data/lib/compass/validator.rb +2 -3
  287. data/lib/vendor/fssm/state.rb +1 -1
  288. data/test/command_line_helper.rb +19 -16
  289. data/test/command_line_test.rb +5 -4
  290. data/test/compass_test.rb +16 -15
  291. data/test/configuration_test.rb +24 -19
  292. data/test/fixtures/stylesheets/blueprint/css/typography.css +5 -3
  293. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +1 -1
  294. data/test/fixtures/stylesheets/blueprint/sass/typography.sass +2 -2
  295. data/test/fixtures/stylesheets/compass/css/layout.css +2 -0
  296. data/test/fixtures/stylesheets/compass/css/print.css +2 -8
  297. data/test/fixtures/stylesheets/compass/css/reset.css +3 -3
  298. data/test/fixtures/stylesheets/image_urls/css/screen.css +2 -0
  299. data/test/fixtures/stylesheets/relative/assets/images/testing.png +0 -0
  300. data/test/fixtures/stylesheets/relative/config.rb +9 -0
  301. data/test/fixtures/stylesheets/relative/css/ie.css +1 -0
  302. data/test/fixtures/stylesheets/relative/css/print.css +1 -0
  303. data/test/fixtures/stylesheets/relative/css/screen.css +1 -0
  304. data/test/fixtures/stylesheets/relative/sass/ie.sass +6 -0
  305. data/test/fixtures/stylesheets/relative/sass/print.sass +6 -0
  306. data/test/fixtures/stylesheets/relative/sass/screen.sass +3 -0
  307. data/test/io_helper.rb +36 -0
  308. data/test/rails_helper.rb +40 -0
  309. data/test/rails_integration_test.rb +7 -44
  310. data/test/sass_extensions_test.rb +2 -2
  311. data/test/test_helper.rb +9 -2
  312. metadata +257 -110
  313. data/frameworks/blueprint.rb +0 -2
  314. data/frameworks/blueprint/stylesheets/_blueprint.sass +0 -3
  315. data/frameworks/blueprint/stylesheets/blueprint/_ie.sass +0 -93
  316. data/frameworks/blueprint/stylesheets/blueprint/_print.sass +0 -83
  317. data/frameworks/blueprint/stylesheets/blueprint/_reset.sass +0 -3
  318. data/frameworks/blueprint/stylesheets/blueprint/_screen.sass +0 -15
  319. data/frameworks/blueprint/stylesheets/blueprint/modules/_form.sass +0 -55
  320. data/frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass +0 -58
  321. data/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass +0 -104
  322. data/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass +0 -155
  323. data/frameworks/blueprint/templates/buttons/manifest.rb +0 -5
  324. data/frameworks/blueprint/templates/link_icons/manifest.rb +0 -10
  325. data/frameworks/blueprint/templates/project/ie.sass +0 -15
  326. data/frameworks/blueprint/templates/project/manifest.rb +0 -6
  327. data/frameworks/blueprint/templates/project/print.sass +0 -3
  328. data/frameworks/compass.rb +0 -2
  329. data/frameworks/compass/stylesheets/_compass.sass +0 -1
  330. data/frameworks/compass/stylesheets/compass/utilities/_print.sass +0 -24
  331. data/frameworks/compass/stylesheets/compass/utilities/_sprites.sass +0 -1
  332. data/frameworks/compass/stylesheets/compass/utilities/general/_inline_block.sass +0 -6
  333. data/frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass +0 -19
  334. data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass +0 -5
  335. data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite_img.sass +0 -12
  336. data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass +0 -20
  337. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.sass +0 -27
  338. data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.sass +0 -9
  339. data/frameworks/compass/templates/ellipsis/manifest.rb +0 -2
  340. data/frameworks/yui.rb +0 -2
  341. data/frameworks/yui/stylesheets/yui/modules/_base.sass +0 -60
  342. data/lib/compass/installers/rails.rb +0 -135
  343. data/lib/compass/installers/stand_alone.rb +0 -60
  344. data/test/fixtures/stylesheets/yui/config.rb +0 -9
  345. data/test/fixtures/stylesheets/yui/css/mixins.css +0 -13
  346. data/test/fixtures/stylesheets/yui/sass/base.sass +0 -3
  347. data/test/fixtures/stylesheets/yui/sass/fonts.sass +0 -3
  348. data/test/fixtures/stylesheets/yui/sass/grids.sass +0 -3
  349. data/test/fixtures/stylesheets/yui/sass/mixins.sass +0 -16
@@ -0,0 +1,166 @@
1
+ require 'compass/exec/global_options_parser'
2
+ require 'compass/exec/project_options_parser'
3
+
4
+ module Compass::Exec
5
+ class SwitchUI
6
+ include GlobalOptionsParser
7
+ include ProjectOptionsParser
8
+ attr_accessor :args, :options, :opts
9
+
10
+ def initialize(args)
11
+ self.args = args
12
+ self.options = {}
13
+ parse!
14
+ end
15
+
16
+ def run!
17
+ begin
18
+ perform!
19
+ rescue Exception => e
20
+ raise e if e.is_a? SystemExit
21
+ if e.is_a?(::Compass::Error) || e.is_a?(OptionParser::ParseError)
22
+ $stderr.puts e.message
23
+ else
24
+ ::Compass::Exec::Helpers.report_error(e, @options)
25
+ end
26
+ return 1
27
+ end
28
+ return 0
29
+ end
30
+
31
+ protected
32
+
33
+ def perform!
34
+ if options[:command]
35
+ do_command(options[:command])
36
+ else
37
+ puts self.opts
38
+ end
39
+ end
40
+
41
+ def parse!
42
+ self.opts = OptionParser.new(&method(:set_opts))
43
+ self.opts.parse!(self.args)
44
+ if self.args.size > 0
45
+ self.options[:project_name] = trim_trailing_separator(self.args.shift)
46
+ end
47
+ self.options[:command] ||= self.options[:project_name] ? :create_project : :update_project
48
+ self.options[:framework] ||= :compass
49
+ end
50
+
51
+ def trim_trailing_separator(path)
52
+ path[-1..-1] == File::SEPARATOR ? path[0..-2] : path
53
+ end
54
+
55
+ def set_opts(opts)
56
+ opts.banner = <<END
57
+ Usage: compass [options] [project]
58
+
59
+ Description:
60
+ The compass command line tool will help you create and manage the stylesheets for your project.
61
+
62
+ To get started on a stand-alone project based on blueprint:
63
+
64
+ compass -f blueprint my_compass_project
65
+
66
+ When you change any sass files, you must recompile your project using --update or --watch.
67
+ END
68
+ opts.separator ''
69
+ opts.separator 'Mode Options(only specify one):'
70
+
71
+ opts.on('-i', '--install', :NONE, "Create a new compass project.",
72
+ " The default mode when a project is provided.") do
73
+ self.options[:command] = :create_project
74
+ end
75
+
76
+ opts.on('-u', '--update', :NONE, 'Update the current project.',
77
+ ' This is the default when no project is provided.') do
78
+ self.options[:command] = :update_project
79
+ end
80
+
81
+ opts.on('-w', '--watch', :NONE, 'Monitor the current project for changes and update') do
82
+ self.options[:command] = :watch_project
83
+ self.options[:quiet] = true
84
+ end
85
+
86
+ opts.on('-p', '--pattern PATTERN', 'Stamp out a pattern into the current project.',
87
+ ' Must be used with -f.') do |pattern|
88
+ self.options[:command] = :stamp_pattern
89
+ self.options[:pattern] = pattern
90
+ end
91
+
92
+ opts.on('--write-configuration', "Write the current configuration to the configuration file.") do
93
+ self.options[:command] = :write_configuration
94
+ end
95
+
96
+ opts.on('--list-frameworks', "List compass frameworks available to use.") do
97
+ self.options[:command] = :list_frameworks
98
+ end
99
+
100
+ opts.on('--validate', :NONE, 'Validate your project\'s compiled css. Requires Java.') do
101
+ self.options[:command] = :validate_project
102
+ end
103
+
104
+ opts.on('--grid-img [DIMENSIONS]', 'Generate a background image to test grid alignment.',
105
+ ' Dimension is given as <column_width>+<gutter_width>x<height>.',
106
+ ' Defaults to 30+10x20. Height is optional.') do |dimensions|
107
+ self.options[:grid_dimensions] = dimensions || "30+10"
108
+ self.options[:command] = :generate_grid_background
109
+ end
110
+
111
+ opts.separator ''
112
+ opts.separator 'Install/Pattern Options:'
113
+
114
+ opts.on('-f FRAMEWORK', '--framework FRAMEWORK', 'Use the specified framework. Only one may be specified.') do |framework|
115
+ self.options[:framework] = framework
116
+ end
117
+
118
+ opts.on('-n', '--pattern-name NAME', 'The name to use when stamping a pattern.',
119
+ ' Must be used in combination with -p.') do |name|
120
+ self.options[:pattern_name] = name
121
+ end
122
+
123
+ opts.on('--rails', "Sets the app type to a rails project (same as --app rails).") do
124
+ self.options[:project_type] = :rails
125
+ end
126
+
127
+ opts.on('--app APP_TYPE', 'Specify the kind of application to integrate with.') do |project_type|
128
+ self.options[:project_type] = project_type.to_sym
129
+ end
130
+
131
+ opts.separator ''
132
+ opts.separator 'Configuration Options:'
133
+
134
+ set_project_options(opts)
135
+
136
+ opts.separator ''
137
+ opts.separator 'General Options:'
138
+
139
+ set_global_options(opts)
140
+
141
+ opts.on('--imports', :NONE, 'Emit an imports suitable for passing to the sass command-line.',
142
+ ' Example: sass `compass --imports`',
143
+ ' Note: Compass\'s Sass extensions will not be available.') do
144
+ print ::Compass::Frameworks::ALL.map{|f| "-I #{f.stylesheets_directory}"}.join(' ')
145
+ exit
146
+ end
147
+
148
+ opts.on('--install-dir', :NONE, 'Emit the location where compass is installed.') do
149
+ puts ::Compass.base_directory
150
+ exit
151
+ end
152
+
153
+ opts.on_tail("-v", "--version", "Print version") do
154
+ self.options[:command] = :print_version
155
+ end
156
+
157
+ end
158
+
159
+ def do_command(command)
160
+ command_class_name = command.to_s.split(/_/).map{|p| p.capitalize}.join('')
161
+ command_class = eval("::Compass::Commands::#{command_class_name}")
162
+ command_class.new(Dir.getwd, options).execute
163
+ end
164
+
165
+ end
166
+ end
@@ -1,6 +1,10 @@
1
1
  module Compass
2
2
  module Frameworks
3
+ extend self
4
+
3
5
  ALL = []
6
+ DEFAULT_FRAMEWORKS_PATH = File.join(Compass.lib_directory, 'compass', 'frameworks')
7
+
4
8
  class Framework
5
9
  attr_accessor :name
6
10
  attr_accessor :templates_directory, :stylesheets_directory
@@ -11,19 +15,78 @@ module Compass
11
15
  @templates_directory = options[:templates_directory] || File.join(path, 'templates')
12
16
  @stylesheets_directory = options[:stylesheets_directory] || File.join(path, 'stylesheets')
13
17
  end
18
+ def template_directories
19
+ Dir.glob(File.join(templates_directory, "*")).map{|f| File.basename(f)}
20
+ end
21
+ def manifest_file(pattern)
22
+ File.join(templates_directory, pattern.to_s, "manifest.rb")
23
+ end
24
+ def manifest(pattern, options = {})
25
+ options[:pattern_name] ||= pattern
26
+ Compass::Installers::Manifest.new(manifest_file(pattern), options)
27
+ end
14
28
  end
29
+
15
30
  def register(name, *arguments)
16
- ALL << Framework.new(name, *arguments)
31
+ if idx = ALL.index(self[name])
32
+ ALL[idx] = Framework.new(name, *arguments)
33
+ else
34
+ ALL << Framework.new(name, *arguments)
35
+ end
17
36
  end
37
+
18
38
  def [](name)
19
39
  ALL.detect{|f| f.name.to_s == name.to_s}
20
40
  end
21
- module_function :register, :[]
41
+
42
+ def discover(frameworks_directory)
43
+ frameworks_directory = DEFAULT_FRAMEWORKS_PATH if frameworks_directory == :defaults
44
+ frameworks_directory = Dir.new(frameworks_directory) unless frameworks_directory.is_a?(Dir)
45
+ frameworks_directory.entries.reject{|e| e[0] == ?.}.each do |framework|
46
+ register_directory File.join(frameworks_directory.path, framework)
47
+ end
48
+ end
49
+
50
+ def register_directory(directory)
51
+ loaders = [
52
+ File.join(directory, "compass_init.rb"),
53
+ File.join(directory, 'lib', File.basename(directory)+".rb"),
54
+ File.join(directory, File.basename(directory)+".rb")
55
+ ]
56
+ loader = loaders.detect{|l| File.exists?(l)}
57
+ if loader
58
+ require loader
59
+ else
60
+ register File.basename(directory), directory
61
+ end
62
+ end
63
+
64
+ def template_exists?(template)
65
+ framework_name, template = template.split(%r{/}, 2)
66
+ template ||= "project"
67
+ if framework = self[framework_name]
68
+ return File.directory?(File.join(framework.templates_directory, template))
69
+ end
70
+ false
71
+ end
72
+
73
+ def template_usage(template)
74
+ framework_name, template = template.split(%r{/}, 2)
75
+ framework = self[framework_name]
76
+ template ||= "project"
77
+ usage_file = File.join(framework.templates_directory, template, "USAGE.markdown")
78
+ if File.exists?(usage_file)
79
+ File.read(usage_file)
80
+ elsif help = framework.manifest(template).help
81
+ help
82
+ else
83
+ <<-END.gsub(/^ {8}/, '')
84
+ No Usage!
85
+ END
86
+ end
87
+ end
88
+
22
89
  end
23
90
  end
24
91
 
25
- # Import all of the default frameworks.
26
- default_frameworks_directory = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'frameworks'))
27
- Dir.glob(File.join(default_frameworks_directory, "*.rb")).each do |framework|
28
- require framework
29
- end
92
+ Compass::Frameworks.discover(:defaults)
@@ -0,0 +1,31 @@
1
+ @import blueprint/colors.sass
2
+ @import blueprint/grid.sass
3
+ @import blueprint/typography.sass
4
+ @import blueprint/utilities.sass
5
+ @import blueprint/form.sass
6
+ @import blueprint/interaction.sass
7
+ @import blueprint/debug.sass
8
+ @import blueprint/print.sass
9
+ @import blueprint/ie.sass
10
+
11
+ // Usage examples:
12
+ // As a top-level mixin, apply to any page that includes the stylesheet:
13
+ // +blueprint
14
+ // Scoped by a presentational class:
15
+ // body.blueprint
16
+ // +blueprint(true)
17
+ // Scoped by semantic selectors:
18
+ // body#page-1, body#page-2, body.a-special-page-type
19
+ // +blueprint(true)
20
+ // Deprecated:
21
+ // You can pass the body selector as the first argument when used as a top-level mixin
22
+ // +blueprint("body#page-1, body#page-2, body.a-special-page-type")
23
+ =blueprint(!body_selector = "body")
24
+ @if not (!body_selector == "body" or !body_selector == true)
25
+ @debug "[DEPRECATED] To specify a the selector \"#{!body_selector}\" to +blueprint, pass true as the first argument and mix it into #{!body_selector}."
26
+ +blueprint-typography(!body_selector)
27
+ +blueprint-utilities
28
+ +blueprint-grid
29
+ +blueprint-debug
30
+ +blueprint-interaction
31
+ +blueprint-form
@@ -1,4 +1,4 @@
1
- @import compass/utilities/general/inline_block.sass
1
+ @import compass/css3/inline_block.sass
2
2
  @import compass/utilities/general/float.sass
3
3
 
4
4
  // Button Font
@@ -24,9 +24,9 @@
24
24
  @param border_highlight_color
25
25
  The highlight color defaults to whatever is the value of the border_color but it's one shade lighter.
26
26
  =button-colors(!font_color = !blueprint_button_font_color, !bg_color = !blueprint_button_background_color, !border_color = !blueprint_button_border_color, !border_highlight_color = !border_color + #101010)
27
- :background-color= !bg_color
28
- :border-color= !border_highlight_color !border_color !border_color !border_highlight_color
29
- :color= !font_color
27
+ background-color= !bg_color
28
+ border-color= !border_highlight_color !border_color !border_color !border_highlight_color
29
+ color= !font_color
30
30
 
31
31
  //**
32
32
  Sets the colors for a button in the active state
@@ -46,39 +46,39 @@
46
46
 
47
47
  =button-base(!float = false)
48
48
  @if !float
49
- :display block
49
+ display: block
50
50
  +float(!float)
51
51
  @else
52
52
  +inline-block
53
- :margin 0.7em 0.5em 0.7em 0
54
- :border-width 1px
55
- :border-style solid
56
- :font-family= !blueprint_button_font_family
57
- :font-size 100%
58
- :line-height 130%
59
- :text-decoration none
60
- :font-weight bold
61
- :cursor pointer
53
+ margin: 0.7em 0.5em 0.7em 0
54
+ border-width: 1px
55
+ border-style: solid
56
+ font-family= !blueprint_button_font_family
57
+ font-size: 100%
58
+ line-height: 130%
59
+ text-decoration: none
60
+ font-weight: bold
61
+ cursor: pointer
62
62
  img
63
- :margin 0 3px -3px 0 !important
64
- :padding 0
65
- :border none
66
- :width 16px
67
- :height 16px
68
- :float none
63
+ margin: 0 3px -3px 0 !important
64
+ padding: 0
65
+ border: none
66
+ width: 16px
67
+ height: 16px
68
+ float: none
69
69
 
70
70
 
71
71
  =anchor-button(!float = false)
72
72
  +button-base(!float)
73
- :padding 5px 10px 5px 7px
73
+ padding: 5px 10px 5px 7px
74
74
 
75
75
  =button-button(!float = false)
76
76
  +button-base(!float)
77
- :width auto
78
- :overflow visible
79
- :padding 4px 10px 3px 7px
77
+ width: auto
78
+ overflow: visible
79
+ padding: 4px 10px 3px 7px
80
80
  &[type]
81
- :padding 4px 10px 4px 7px
82
- :line-height 17px
81
+ padding: 4px 10px 4px 7px
82
+ line-height: 17px
83
83
  *:first-child+html &[type]
84
- :padding 4px 10px 3px 7px
84
+ padding: 4px 10px 3px 7px
@@ -1,9 +1,9 @@
1
1
  =showgrid(!image = "grid.png")
2
- :background= image_url(!image)
2
+ background= image_url(!image)
3
3
 
4
4
  =blueprint-debug(!grid_image = "grid.png")
5
5
  // Use this class on any column or container to see the grid.
6
6
  // TODO: prefix this with the project path.
7
7
  .showgrid
8
8
  +showgrid(!grid_image)
9
-
9
+
@@ -2,7 +2,7 @@
2
2
 
3
3
  //
4
4
  To install the fancy type plugin:
5
- 1. import the fancy_type module: @import blueprint/modules/fancy_type
5
+ 1. import the fancy_type module: @import blueprint/fancy_type
6
6
  2. mixin +fancy-type to your project's body or at the top level of your stylesheet:
7
7
  body
8
8
  +fancy-type
@@ -18,11 +18,11 @@
18
18
 
19
19
  // Indentation instead of line shifts for sibling paragraphs. Mixin to a style like p + p
20
20
  =sibling-indentation
21
- :text-indent 2em
22
- :margin-top -1.5em
21
+ text-indent: 2em
22
+ margin-top: -1.5em
23
23
  /* Don't want this in forms.
24
24
  form &
25
- :text-indent 0
25
+ text-indent: 0
26
26
 
27
27
  //
28
28
  For great looking type, use this code instead of asdf:
@@ -30,10 +30,10 @@
30
30
  Best used on prepositions and ampersands.
31
31
 
32
32
  =alt
33
- :color #666
34
- :font-family "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif
35
- :font-style italic
36
- :font-weight normal
33
+ color: #666
34
+ font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif
35
+ font-style: italic
36
+ font-weight: normal
37
37
 
38
38
  //
39
39
  For great looking quote marks in titles, replace "asdf" with:
@@ -41,7 +41,7 @@
41
41
  (That is, when the title starts with a quote mark).
42
42
  (You may have to change this value depending on your font size).
43
43
  =dquo(!offset = 0.5em)
44
- :margin-left -!offset
44
+ margin-left: -!offset
45
45
 
46
46
  //
47
47
  Reduced size type with incremental leading
@@ -58,21 +58,21 @@
58
58
  base_font_size - The base font size in pixels. Defaults to 12px
59
59
  old_line_height - The old line height. Defaults to 1.5 times the base_font_size
60
60
  =incr(!font_size = 10px, !base_font_size = !blueprint_font_size, !old_line_height = !base_font_size * 1.5)
61
- :font-size= 1em * !font_size / !base_font_size
62
- :line-height= 1em * !old_line_height / !font_size * 4 / 5
63
- :margin-bottom 1.5em
61
+ font-size= 1em * !font_size / !base_font_size
62
+ line-height= 1em * !old_line_height / !font_size * 4 / 5
63
+ margin-bottom: 1.5em
64
64
 
65
65
  //
66
66
  Surround uppercase words and abbreviations with this class.
67
67
  Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/]
68
68
  =caps
69
- :font-variant small-caps
70
- :letter-spacing 1px
71
- :text-transform lowercase
72
- :font-size 1.2em
73
- :line-height 1%
74
- :font-weight bold
75
- :padding 0 2px
69
+ font-variant: small-caps
70
+ letter-spacing: 1px
71
+ text-transform: lowercase
72
+ font-size: 1.2em
73
+ line-height: 1%
74
+ font-weight: bold
75
+ padding: 0 2px
76
76
 
77
77
  =fancy-paragraphs
78
78
  p + p