middleman-core 4.6.0 → 5.0.0.rc.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 (1210) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -0
  3. data/.simplecov +4 -2
  4. data/.yardopts +2 -1
  5. data/Rakefile +1 -1
  6. data/cucumber.yml +2 -0
  7. data/lib/middleman-core/application.rb +32 -21
  8. data/lib/middleman-core/builder.rb +224 -88
  9. data/lib/middleman-core/callback_manager.rb +1 -1
  10. data/lib/middleman-core/config_context.rb +3 -3
  11. data/lib/middleman-core/configuration.rb +20 -8
  12. data/lib/middleman-core/contracts.rb +39 -3
  13. data/lib/middleman-core/core_extensions/collections/lazy_root.rb +2 -2
  14. data/lib/middleman-core/core_extensions/collections/lazy_step.rb +10 -10
  15. data/lib/middleman-core/core_extensions/collections/pagination.rb +6 -7
  16. data/lib/middleman-core/core_extensions/collections.rb +7 -9
  17. data/lib/middleman-core/core_extensions/data/controller.rb +109 -0
  18. data/lib/middleman-core/core_extensions/data/proxies/array.rb +74 -0
  19. data/lib/middleman-core/core_extensions/data/proxies/base.rb +82 -0
  20. data/lib/middleman-core/core_extensions/data/proxies/hash.rb +32 -0
  21. data/lib/middleman-core/core_extensions/data/stores/base.rb +42 -0
  22. data/lib/middleman-core/core_extensions/data/stores/in_memory.rb +52 -0
  23. data/lib/middleman-core/core_extensions/data/stores/local_file.rb +92 -0
  24. data/lib/middleman-core/core_extensions/data.rb +33 -204
  25. data/lib/middleman-core/core_extensions/default_helpers.rb +37 -46
  26. data/lib/middleman-core/core_extensions/external_helpers.rb +1 -1
  27. data/lib/middleman-core/core_extensions/file_watcher.rb +2 -4
  28. data/lib/middleman-core/core_extensions/front_matter.rb +28 -17
  29. data/lib/middleman-core/core_extensions/i18n.rb +55 -51
  30. data/lib/middleman-core/core_extensions/rendering.rb +6 -0
  31. data/lib/middleman-core/core_extensions/routing.rb +21 -18
  32. data/lib/middleman-core/core_extensions.rb +3 -9
  33. data/lib/middleman-core/data_proxy.rb +69 -0
  34. data/lib/middleman-core/dependencies/edge.rb +27 -0
  35. data/lib/middleman-core/dependencies/graph.rb +144 -0
  36. data/lib/middleman-core/dependencies/vertices/data_collection_path_vertex.rb +78 -0
  37. data/lib/middleman-core/dependencies/vertices/data_collection_vertex.rb +67 -0
  38. data/lib/middleman-core/dependencies/vertices/file_vertex.rb +65 -0
  39. data/lib/middleman-core/dependencies/vertices/vertex.rb +82 -0
  40. data/lib/middleman-core/dependencies/vertices.rb +18 -0
  41. data/lib/middleman-core/dependencies.rb +131 -0
  42. data/lib/middleman-core/dns_resolver/basic_network_resolver.rb +6 -4
  43. data/lib/middleman-core/dns_resolver/hosts_resolver.rb +2 -2
  44. data/lib/middleman-core/dns_resolver/local_link_resolver.rb +3 -3
  45. data/lib/middleman-core/dns_resolver/network_resolver.rb +2 -2
  46. data/lib/middleman-core/dns_resolver.rb +7 -5
  47. data/lib/middleman-core/extension.rb +39 -42
  48. data/lib/middleman-core/extension_manager.rb +8 -4
  49. data/lib/middleman-core/extensions/asset_hash.rb +48 -52
  50. data/lib/middleman-core/extensions/asset_host.rb +30 -18
  51. data/lib/middleman-core/extensions/automatic_alt_tags.rb +6 -4
  52. data/lib/middleman-core/extensions/automatic_image_sizes.rb +9 -7
  53. data/lib/middleman-core/extensions/cache_buster.rb +21 -8
  54. data/lib/middleman-core/extensions/directory_indexes.rb +14 -14
  55. data/lib/middleman-core/extensions/external_pipeline.rb +15 -11
  56. data/lib/middleman-core/extensions/gzip.rb +16 -11
  57. data/lib/middleman-core/extensions/lorem.rb +15 -14
  58. data/lib/middleman-core/extensions/minify_css.rb +58 -96
  59. data/lib/middleman-core/extensions/minify_javascript.rb +65 -109
  60. data/lib/middleman-core/extensions/relative_assets.rb +30 -19
  61. data/lib/middleman-core/extensions.rb +14 -16
  62. data/lib/middleman-core/file_renderer.rb +24 -22
  63. data/lib/middleman-core/filter.rb +56 -0
  64. data/lib/middleman-core/inline_url_filter.rb +76 -0
  65. data/lib/middleman-core/load_paths.rb +13 -14
  66. data/lib/middleman-core/logger.rb +6 -13
  67. data/lib/middleman-core/meta_pages/sitemap_resource.rb +0 -2
  68. data/lib/middleman-core/meta_pages/sitemap_tree.rb +1 -1
  69. data/lib/middleman-core/meta_pages.rb +2 -2
  70. data/lib/middleman-core/preview_server/checks.rb +15 -4
  71. data/lib/middleman-core/preview_server/information.rb +22 -23
  72. data/lib/middleman-core/preview_server/network_interface_inventory.rb +3 -3
  73. data/lib/middleman-core/preview_server/server_hostname.rb +2 -0
  74. data/lib/middleman-core/preview_server/server_information.rb +5 -5
  75. data/lib/middleman-core/preview_server/server_information_callback_proxy.rb +1 -1
  76. data/lib/middleman-core/preview_server/server_ip_address.rb +15 -6
  77. data/lib/middleman-core/preview_server/server_url.rb +39 -11
  78. data/lib/middleman-core/preview_server/tcp_port_prober.rb +1 -1
  79. data/lib/middleman-core/preview_server.rb +38 -33
  80. data/lib/middleman-core/rack.rb +11 -16
  81. data/lib/middleman-core/renderers/coffee_script.rb +8 -4
  82. data/lib/middleman-core/renderers/erb.rb +3 -15
  83. data/lib/middleman-core/renderers/haml.rb +12 -44
  84. data/lib/middleman-core/renderers/kramdown.rb +11 -11
  85. data/lib/middleman-core/renderers/less.rb +26 -10
  86. data/lib/middleman-core/renderers/liquid.rb +9 -12
  87. data/lib/middleman-core/renderers/markdown.rb +8 -10
  88. data/lib/middleman-core/renderers/redcarpet.rb +17 -8
  89. data/lib/middleman-core/renderers/sass.rb +30 -10
  90. data/lib/middleman-core/renderers/sass_functions.rb +16 -10
  91. data/lib/middleman-core/renderers/slim.rb +3 -11
  92. data/lib/middleman-core/renderers/stylus.rb +10 -0
  93. data/lib/middleman-core/sitemap/extensions/ignores.rb +5 -9
  94. data/lib/middleman-core/sitemap/extensions/import.rb +16 -17
  95. data/lib/middleman-core/sitemap/extensions/move_file.rb +7 -5
  96. data/lib/middleman-core/sitemap/extensions/on_disk.rb +10 -9
  97. data/lib/middleman-core/sitemap/extensions/proxies.rb +27 -20
  98. data/lib/middleman-core/sitemap/extensions/redirects.rb +4 -4
  99. data/lib/middleman-core/sitemap/extensions/request_endpoints.rb +4 -5
  100. data/lib/middleman-core/sitemap/extensions/traversal.rb +75 -29
  101. data/lib/middleman-core/sitemap/resource.rb +169 -54
  102. data/lib/middleman-core/sitemap/resource_list_container.rb +248 -0
  103. data/lib/middleman-core/sitemap/store.rb +29 -103
  104. data/lib/middleman-core/sources/source_watcher.rb +28 -22
  105. data/lib/middleman-core/sources.rb +40 -27
  106. data/lib/middleman-core/step_definitions/builder_steps.rb +73 -12
  107. data/lib/middleman-core/step_definitions/commandline_steps.rb +18 -14
  108. data/lib/middleman-core/step_definitions/middleman_steps.rb +24 -14
  109. data/lib/middleman-core/step_definitions/server_steps.rb +19 -18
  110. data/lib/middleman-core/step_definitions.rb +0 -3
  111. data/lib/middleman-core/template_context.rb +55 -23
  112. data/lib/middleman-core/template_renderer.rb +70 -44
  113. data/lib/middleman-core/util/binary.rb +307 -3
  114. data/lib/middleman-core/util/data.rb +14 -49
  115. data/lib/middleman-core/util/empty_hash.rb +3 -0
  116. data/lib/middleman-core/util/files.rb +35 -9
  117. data/lib/middleman-core/util/paths.rb +75 -71
  118. data/lib/middleman-core/util/rack.rb +8 -7
  119. data/lib/middleman-core/util/uri_templates.rb +2 -5
  120. data/lib/middleman-core/util.rb +2 -10
  121. data/lib/middleman-core/version.rb +1 -1
  122. data/lib/middleman-core.rb +5 -1
  123. data/middleman-core.gemspec +23 -24
  124. metadata +98 -2299
  125. data/features/asset_hash.feature +0 -340
  126. data/features/asset_host.feature +0 -55
  127. data/features/auto_layout.feature +0 -36
  128. data/features/automatic_alt_tags.feature +0 -8
  129. data/features/automatic_directory_matcher.feature +0 -32
  130. data/features/automatic_image_sizes.feature +0 -29
  131. data/features/builder.feature +0 -61
  132. data/features/cache_buster.feature +0 -56
  133. data/features/capture_html.feature +0 -18
  134. data/features/chained_templates.feature +0 -109
  135. data/features/clean_build.feature +0 -78
  136. data/features/coffee-script.feature +0 -22
  137. data/features/collections.feature +0 -265
  138. data/features/console.feature +0 -11
  139. data/features/content_for.feature +0 -16
  140. data/features/content_type.feature +0 -46
  141. data/features/custom-source.feature +0 -7
  142. data/features/custom_layout_engines.feature +0 -8
  143. data/features/custom_layouts.feature +0 -84
  144. data/features/data.feature +0 -116
  145. data/features/default-layout.feature +0 -90
  146. data/features/default_alt_tag.feature +0 -11
  147. data/features/directory_index.feature +0 -82
  148. data/features/dynamic_pages.feature +0 -136
  149. data/features/encoding_option.feature +0 -28
  150. data/features/extension_api_deprecations.feature +0 -10
  151. data/features/extension_hooks.feature +0 -13
  152. data/features/extensionless_text_files.feature +0 -24
  153. data/features/feature_params.feature +0 -6
  154. data/features/former_padrino_helpers.feature +0 -27
  155. data/features/front-matter-neighbor.feature +0 -157
  156. data/features/front-matter.feature +0 -108
  157. data/features/frontmatter_page_settings.feature +0 -43
  158. data/features/gzip.feature +0 -51
  159. data/features/helpers_auto_javascript_include_tag.feature +0 -53
  160. data/features/helpers_auto_stylesheet_link_tag.feature +0 -48
  161. data/features/helpers_content_tag.feature +0 -16
  162. data/features/helpers_external.feature +0 -12
  163. data/features/helpers_form_tag.feature +0 -26
  164. data/features/helpers_link_to.feature +0 -195
  165. data/features/helpers_lorem.feature +0 -6
  166. data/features/helpers_page_classes.feature +0 -32
  167. data/features/helpers_select_tag.feature +0 -17
  168. data/features/helpers_url_for.feature +0 -152
  169. data/features/i18n_builder.feature +0 -166
  170. data/features/i18n_force_locale.feature +0 -13
  171. data/features/i18n_link_to.feature +0 -307
  172. data/features/i18n_mixed_sources.feature +0 -39
  173. data/features/i18n_partials.feature +0 -23
  174. data/features/i18n_preview.feature +0 -252
  175. data/features/ignore.feature +0 -206
  176. data/features/ignore_already_minified.feature +0 -47
  177. data/features/image_srcset_paths.feature +0 -7
  178. data/features/import_files.feature +0 -15
  179. data/features/layouts_dir.feature +0 -38
  180. data/features/liquid.feature +0 -14
  181. data/features/markdown.feature +0 -23
  182. data/features/markdown_kramdown.feature +0 -55
  183. data/features/markdown_kramdown_in_haml.feature +0 -42
  184. data/features/markdown_kramdown_in_slim.feature +0 -42
  185. data/features/markdown_redcarpet.feature +0 -167
  186. data/features/markdown_redcarpet_in_haml.feature +0 -41
  187. data/features/markdown_redcarpet_in_slim.feature +0 -41
  188. data/features/minify_css.feature +0 -205
  189. data/features/minify_javascript.feature +0 -265
  190. data/features/missing-tilt-lib.feature +0 -20
  191. data/features/more-clean_build.feature +0 -14
  192. data/features/more-extensionless_text_files.feature +0 -28
  193. data/features/more-frontmatter_page_settings.feature +0 -42
  194. data/features/more-ignore.feature +0 -62
  195. data/features/more-sitemap_traversal.feature +0 -83
  196. data/features/more-wildcard_page_helper.feature +0 -10
  197. data/features/mount_rack.feature +0 -65
  198. data/features/move_files.feature +0 -44
  199. data/features/multiple-sources.feature +0 -35
  200. data/features/nested_layouts.feature +0 -58
  201. data/features/page-id.feature +0 -74
  202. data/features/paginate.feature +0 -204
  203. data/features/partials.feature +0 -64
  204. data/features/preview_changes.feature +0 -40
  205. data/features/proxy_pages.feature +0 -84
  206. data/features/redirects.feature +0 -61
  207. data/features/relative_assets.feature +0 -148
  208. data/features/relative_assets_helpers_only.feature +0 -125
  209. data/features/sass-assets-paths.feature +0 -11
  210. data/features/sass_in_slim.feature +0 -40
  211. data/features/sass_partials.feature +0 -54
  212. data/features/scss-support.feature +0 -17
  213. data/features/sitemap_traversal.feature +0 -83
  214. data/features/slim.feature +0 -81
  215. data/features/strip_url.feature +0 -40
  216. data/features/support/env.rb +0 -20
  217. data/features/support/preserve_mime_types.rb +0 -7
  218. data/features/template-key-collision.feature +0 -26
  219. data/features/tilde_directories.feature +0 -14
  220. data/features/unicode_filecontents.feature +0 -13
  221. data/features/unicode_filenames.feature +0 -36
  222. data/features/v4_extension_callbacks.feature +0 -8
  223. data/features/wildcard_page_helper.feature +0 -10
  224. data/fixtures/asset-hash-app/config.rb +0 -6
  225. data/fixtures/asset-hash-app/lib/middleware.rb +0 -16
  226. data/fixtures/asset-hash-app/source/api.json.erb +0 -1
  227. data/fixtures/asset-hash-app/source/apple-touch-icon.png +0 -0
  228. data/fixtures/asset-hash-app/source/favicon.ico +0 -0
  229. data/fixtures/asset-hash-app/source/fonts/fontawesome-webfont.woff +0 -0
  230. data/fixtures/asset-hash-app/source/fonts/fontawesome-webfont.woff2 +0 -0
  231. data/fixtures/asset-hash-app/source/images/100px.gif +0 -0
  232. data/fixtures/asset-hash-app/source/images/100px.jpg +0 -0
  233. data/fixtures/asset-hash-app/source/images/100px.png +0 -0
  234. data/fixtures/asset-hash-app/source/images/200px.jpg +0 -0
  235. data/fixtures/asset-hash-app/source/images/300px.jpg +0 -0
  236. data/fixtures/asset-hash-app/source/index.html.erb +0 -314
  237. data/fixtures/asset-hash-app/source/javascripts/application.js +0 -8
  238. data/fixtures/asset-hash-app/source/layout.erb +0 -18
  239. data/fixtures/asset-hash-app/source/other.html.erb +0 -5
  240. data/fixtures/asset-hash-app/source/partials.html.erb +0 -1
  241. data/fixtures/asset-hash-app/source/slim.html.slim +0 -8
  242. data/fixtures/asset-hash-app/source/stylesheets/_partial.sass +0 -2
  243. data/fixtures/asset-hash-app/source/stylesheets/fragment.css.scss +0 -7
  244. data/fixtures/asset-hash-app/source/stylesheets/site.css.scss +0 -4
  245. data/fixtures/asset-hash-app/source/stylesheets/uses_fonts.css +0 -4
  246. data/fixtures/asset-hash-app/source/stylesheets/uses_partials.css.sass +0 -4
  247. data/fixtures/asset-hash-app/source/subdir/api.json.erb +0 -1
  248. data/fixtures/asset-hash-app/source/subdir/index.html.erb +0 -317
  249. data/fixtures/asset-hash-host-app/source/images/100px.gif +0 -0
  250. data/fixtures/asset-hash-host-app/source/images/100px.jpg +0 -0
  251. data/fixtures/asset-hash-host-app/source/images/100px.png +0 -0
  252. data/fixtures/asset-hash-host-app/source/index.html.erb +0 -9
  253. data/fixtures/asset-hash-host-app/source/layout.erb +0 -17
  254. data/fixtures/asset-hash-host-app/source/other.html.erb +0 -5
  255. data/fixtures/asset-hash-host-app/source/stylesheets/fragment.css.scss +0 -7
  256. data/fixtures/asset-hash-host-app/source/stylesheets/site.css.scss +0 -4
  257. data/fixtures/asset-hash-host-app/source/subdir/index.html.erb +0 -6
  258. data/fixtures/asset-hash-minified-app/config.rb +0 -5
  259. data/fixtures/asset-hash-minified-app/source/images/100px.jpg +0 -0
  260. data/fixtures/asset-hash-minified-app/source/javascripts/jquery.min.js +0 -5
  261. data/fixtures/asset-hash-minified-app/source/stylesheets/test.css +0 -3
  262. data/fixtures/asset-hash-prefix/config.rb +0 -7
  263. data/fixtures/asset-hash-prefix/lib/middleware.rb +0 -16
  264. data/fixtures/asset-hash-prefix/source/index.html.erb +0 -6
  265. data/fixtures/asset-hash-prefix/source/javascripts/application.js +0 -2
  266. data/fixtures/asset-hash-prefix/source/javascripts/application.js.map +0 -1
  267. data/fixtures/asset-hash-prefix/source/layout.erb +0 -17
  268. data/fixtures/asset-hash-remove-filename/config.rb +0 -9
  269. data/fixtures/asset-hash-remove-filename/source/index.html.erb +0 -6
  270. data/fixtures/asset-hash-remove-filename/source/javascripts/application.js +0 -2
  271. data/fixtures/asset-hash-remove-filename/source/javascripts/application.js.map +0 -1
  272. data/fixtures/asset-hash-remove-filename/source/layout.erb +0 -17
  273. data/fixtures/asset-hash-source-map/config.rb +0 -6
  274. data/fixtures/asset-hash-source-map/lib/middleware.rb +0 -16
  275. data/fixtures/asset-hash-source-map/source/index.html.erb +0 -6
  276. data/fixtures/asset-hash-source-map/source/javascripts/application.js +0 -2
  277. data/fixtures/asset-hash-source-map/source/javascripts/application.js.map +0 -1
  278. data/fixtures/asset-hash-source-map/source/layout.erb +0 -17
  279. data/fixtures/asset-host-app/config.rb +0 -1
  280. data/fixtures/asset-host-app/source/.htaccess +0 -1
  281. data/fixtures/asset-host-app/source/asset_host.html.erb +0 -55
  282. data/fixtures/asset-host-app/source/images/blank.gif +0 -0
  283. data/fixtures/asset-host-app/source/images/blank1.gif +0 -0
  284. data/fixtures/asset-host-app/source/images/blank10.gif +0 -0
  285. data/fixtures/asset-host-app/source/images/blank100.gif +0 -0
  286. data/fixtures/asset-host-app/source/images/blank101.gif +0 -0
  287. data/fixtures/asset-host-app/source/images/blank1010.gif +0 -0
  288. data/fixtures/asset-host-app/source/images/blank102.gif +0 -0
  289. data/fixtures/asset-host-app/source/images/blank1020.gif +0 -0
  290. data/fixtures/asset-host-app/source/images/blank1021.gif +0 -0
  291. data/fixtures/asset-host-app/source/images/blank1022.gif +0 -0
  292. data/fixtures/asset-host-app/source/images/blank1023.gif +0 -0
  293. data/fixtures/asset-host-app/source/images/blank1024.gif +0 -0
  294. data/fixtures/asset-host-app/source/images/blank103.gif +0 -0
  295. data/fixtures/asset-host-app/source/images/blank1030.gif +0 -0
  296. data/fixtures/asset-host-app/source/images/blank1031.gif +0 -0
  297. data/fixtures/asset-host-app/source/images/blank1032.gif +0 -0
  298. data/fixtures/asset-host-app/source/images/blank1033.gif +0 -0
  299. data/fixtures/asset-host-app/source/images/blank1034.gif +0 -0
  300. data/fixtures/asset-host-app/source/images/blank104.gif +0 -0
  301. data/fixtures/asset-host-app/source/images/blank1043.gif +0 -0
  302. data/fixtures/asset-host-app/source/images/blank1054.gif +0 -0
  303. data/fixtures/asset-host-app/source/images/blank2.gif +0 -0
  304. data/fixtures/asset-host-app/source/images/blank20.gif +0 -0
  305. data/fixtures/asset-host-app/source/images/blank21.gif +0 -0
  306. data/fixtures/asset-host-app/source/images/blank22.gif +0 -0
  307. data/fixtures/asset-host-app/source/images/blank23.gif +0 -0
  308. data/fixtures/asset-host-app/source/images/blank24.gif +0 -0
  309. data/fixtures/asset-host-app/source/images/blank3.gif +0 -0
  310. data/fixtures/asset-host-app/source/images/blank30.gif +0 -0
  311. data/fixtures/asset-host-app/source/images/blank31.gif +0 -0
  312. data/fixtures/asset-host-app/source/images/blank32.gif +0 -0
  313. data/fixtures/asset-host-app/source/images/blank33.gif +0 -0
  314. data/fixtures/asset-host-app/source/images/blank34.gif +0 -0
  315. data/fixtures/asset-host-app/source/images/blank4.gif +0 -0
  316. data/fixtures/asset-host-app/source/images/blank43.gif +0 -0
  317. data/fixtures/asset-host-app/source/images/blank54.gif +0 -0
  318. data/fixtures/asset-host-app/source/javascripts/asset_host.js +0 -2
  319. data/fixtures/asset-host-app/source/stylesheets/asset_host.css.sass +0 -48
  320. data/fixtures/auto-css-app/config.rb +0 -9
  321. data/fixtures/auto-css-app/source/auto-css/auto-css.html.erb +0 -1
  322. data/fixtures/auto-css-app/source/auto-css/index.html.erb +0 -1
  323. data/fixtures/auto-css-app/source/auto-css/sub/auto-css.html.erb +0 -1
  324. data/fixtures/auto-css-app/source/auto-css.html.erb +0 -1
  325. data/fixtures/auto-css-app/source/stylesheets/auto-css/auto-css.css +0 -3
  326. data/fixtures/auto-css-app/source/stylesheets/auto-css/index.css +0 -0
  327. data/fixtures/auto-css-app/source/stylesheets/auto-css/sub/auto-css.css +0 -3
  328. data/fixtures/auto-css-app/source/stylesheets/auto-css.css +0 -3
  329. data/fixtures/auto-js-app/config.rb +0 -9
  330. data/fixtures/auto-js-app/source/auto-js/auto-js.html.erb +0 -1
  331. data/fixtures/auto-js-app/source/auto-js/index.html.erb +0 -1
  332. data/fixtures/auto-js-app/source/auto-js/sub/auto-js.html.erb +0 -1
  333. data/fixtures/auto-js-app/source/auto-js.html.erb +0 -1
  334. data/fixtures/auto-js-app/source/javascripts/auto-js/auto-js.js +0 -1
  335. data/fixtures/auto-js-app/source/javascripts/auto-js/index.js +0 -1
  336. data/fixtures/auto-js-app/source/javascripts/auto-js/sub/auto-js.js +0 -1
  337. data/fixtures/auto-js-app/source/javascripts/auto-js.js +0 -1
  338. data/fixtures/auto-js-directory-index-app/config.rb +0 -1
  339. data/fixtures/auto-js-directory-index-app/source/auto-js.html.erb +0 -1
  340. data/fixtures/auto-js-directory-index-app/source/javascripts/auto-js.js +0 -1
  341. data/fixtures/automatic-alt-tags-app/config.rb +0 -0
  342. data/fixtures/automatic-alt-tags-app/source/auto-image-sizes.html.erb +0 -1
  343. data/fixtures/automatic-alt-tags-app/source/images/blank.gif +0 -0
  344. data/fixtures/automatic-directory-matcher-app/config.rb +0 -1
  345. data/fixtures/automatic-directory-matcher-app/source/root-plain.html +0 -1
  346. data/fixtures/automatic-directory-matcher-app/source/root.html.erb +0 -1
  347. data/fixtures/automatic-directory-matcher-app/source/sub--sub--sub-plain.html +0 -1
  348. data/fixtures/automatic-directory-matcher-app/source/sub--sub--sub.html.erb +0 -1
  349. data/fixtures/automatic-directory-matcher-app/source/sub--sub-plain.html +0 -1
  350. data/fixtures/automatic-directory-matcher-app/source/sub--sub.html.erb +0 -1
  351. data/fixtures/automatic-image-size-app/config.rb +0 -0
  352. data/fixtures/automatic-image-size-app/source/auto-image-sizes.html.erb +0 -1
  353. data/fixtures/automatic-image-size-app/source/images/blank.gif +0 -0
  354. data/fixtures/automatic-image-size-app/source/markdown-sizes.html.markdown +0 -1
  355. data/fixtures/basic-data-app/config.rb +0 -2
  356. data/fixtures/basic-data-app/data/test.yml +0 -4
  357. data/fixtures/basic-data-app/data/test2.json +0 -4
  358. data/fixtures/basic-data-app/data/test3.toml +0 -7
  359. data/fixtures/basic-data-app/source/data.html.erb +0 -5
  360. data/fixtures/basic-data-app/source/data3.html.erb +0 -5
  361. data/fixtures/basic-data-app/source/data4.html.erb +0 -5
  362. data/fixtures/build-with-errors-app/config.rb +0 -1
  363. data/fixtures/build-with-errors-app/source/index.html.erb +0 -1
  364. data/fixtures/cache-buster-app/config.rb +0 -0
  365. data/fixtures/cache-buster-app/source/cache-buster.html.erb +0 -3
  366. data/fixtures/cache-buster-app/source/images/blank.gif +0 -0
  367. data/fixtures/cache-buster-app/source/stylesheets/relative_assets.css.sass +0 -2
  368. data/fixtures/cache-buster-app/source/stylesheets/site.css.sass +0 -3
  369. data/fixtures/capture-html-app/config.rb +0 -5
  370. data/fixtures/capture-html-app/source/capture_html_erb.html.erb +0 -5
  371. data/fixtures/capture-html-app/source/capture_html_haml.html.haml +0 -4
  372. data/fixtures/capture-html-app/source/capture_html_slim.html.slim +0 -4
  373. data/fixtures/capture-html-app/source/layouts/capture_html.erb +0 -4
  374. data/fixtures/chained-app/config.rb +0 -0
  375. data/fixtures/chained-app/data/article.yml +0 -2
  376. data/fixtures/chained-app/source/index.html.str.erb +0 -8
  377. data/fixtures/chained-app/source/test.erb.combobreaker.str.erb +0 -8
  378. data/fixtures/clean-app/config-complications.rb +0 -9
  379. data/fixtures/clean-app/config-empty.rb +0 -0
  380. data/fixtures/clean-app/config-hidden-dir-after.rb +0 -5
  381. data/fixtures/clean-app/config-hidden-dir-before.rb +0 -1
  382. data/fixtures/clean-app/config.rb +0 -9
  383. data/fixtures/clean-app/source/index.html.erb +0 -1
  384. data/fixtures/clean-app/source/layout.erb +0 -9
  385. data/fixtures/clean-app/source/layouts/custom.erb +0 -8
  386. data/fixtures/clean-app/source/real/index.html.erb +0 -5
  387. data/fixtures/clean-app/source/real.html +0 -1
  388. data/fixtures/clean-app/source/should_be_ignored.html +0 -1
  389. data/fixtures/clean-app/source/should_be_ignored2.html +0 -1
  390. data/fixtures/clean-app/source/should_be_ignored3.html +0 -1
  391. data/fixtures/clean-app/source/static.html +0 -1
  392. data/fixtures/clean-dir-app/config.rb +0 -2
  393. data/fixtures/clean-dir-app/source/about.html +0 -1
  394. data/fixtures/clean-nested-app/config.rb +0 -1
  395. data/fixtures/clean-nested-app/source/about.html +0 -1
  396. data/fixtures/clean-nested-app/source/nested/nested.html +0 -1
  397. data/fixtures/coffeescript-app/config.rb +0 -0
  398. data/fixtures/coffeescript-app/source/inline-coffeescript.html.haml +0 -3
  399. data/fixtures/coffeescript-app/source/javascripts/broken-coffee.js.coffee +0 -3
  400. data/fixtures/coffeescript-app/source/javascripts/coffee_test.js.coffee +0 -3
  401. data/fixtures/collections-app/source/blog1/2011-01-01-new-article.html.markdown +0 -7
  402. data/fixtures/collections-app/source/blog1/2011-01-02-another-article.html.markdown +0 -9
  403. data/fixtures/collections-app/source/blog2/2011-01-01-new-article.html.markdown +0 -9
  404. data/fixtures/collections-app/source/blog2/2011-01-02-another-article.html.markdown +0 -8
  405. data/fixtures/content-for-app/config.rb +0 -5
  406. data/fixtures/content-for-app/source/content_for_erb.html.erb +0 -5
  407. data/fixtures/content-for-app/source/content_for_haml.html.haml +0 -4
  408. data/fixtures/content-for-app/source/content_for_slim.html.slim +0 -5
  409. data/fixtures/content-for-app/source/layouts/content_for.erb +0 -4
  410. data/fixtures/content-type-app/config.rb +0 -1
  411. data/fixtures/content-type-app/source/.htaccess +0 -1
  412. data/fixtures/content-type-app/source/README +0 -1
  413. data/fixtures/content-type-app/source/images/blank.gif +0 -0
  414. data/fixtures/content-type-app/source/index.html +0 -1
  415. data/fixtures/content-type-app/source/index.php +0 -1
  416. data/fixtures/content-type-app/source/javascripts/app.js +0 -1
  417. data/fixtures/content-type-app/source/override.html +0 -5
  418. data/fixtures/content-type-app/source/stylesheets/site.css +0 -1
  419. data/fixtures/csspie/config.rb +0 -0
  420. data/fixtures/csspie/source/stylesheets/PIE.htc +0 -96
  421. data/fixtures/custom-layout-app/config.rb +0 -1
  422. data/fixtures/custom-layout-app/source/index.html.erb +0 -1
  423. data/fixtures/custom-layout-app/source/layout.str +0 -9
  424. data/fixtures/custom-layout-app2/config.rb +0 -0
  425. data/fixtures/custom-layout-app2/source/custom-layout-dir/index.html.erb +0 -1
  426. data/fixtures/custom-layout-app2/source/custom-layout.html.erb +0 -1
  427. data/fixtures/custom-layout-app2/source/layouts/custom.erb +0 -8
  428. data/fixtures/custom-src-app/config.rb +0 -1
  429. data/fixtures/custom-src-app/src/index.html +0 -0
  430. data/fixtures/custom-src-app/src/layouts/layout.html.erb +0 -1
  431. data/fixtures/data-app/config.rb +0 -3
  432. data/fixtures/data-app/data/pages.yml +0 -6
  433. data/fixtures/data-app/source/index.html.erb +0 -1
  434. data/fixtures/data-app/source/layout.erb +0 -5
  435. data/fixtures/data-with-aliases-app/config.rb +0 -3
  436. data/fixtures/data-with-aliases-app/data/pages.yml +0 -9
  437. data/fixtures/data-with-aliases-app/source/index.html.erb +0 -1
  438. data/fixtures/data-with-aliases-app/source/layout.erb +0 -5
  439. data/fixtures/default-alt-tags-app/config.rb +0 -0
  440. data/fixtures/default-alt-tags-app/source/empty-alt-tag.html.erb +0 -1
  441. data/fixtures/default-alt-tags-app/source/images/blank.gif +0 -0
  442. data/fixtures/default-alt-tags-app/source/meaningful-alt-tag.html.erb +0 -1
  443. data/fixtures/different-engine-layout/config.rb +0 -0
  444. data/fixtures/different-engine-layout/source/index.haml +0 -1
  445. data/fixtures/different-engine-layout/source/index.html.str +0 -1
  446. data/fixtures/different-engine-layout/source/layout.erb +0 -9
  447. data/fixtures/different-engine-partial/config.rb +0 -0
  448. data/fixtures/different-engine-partial/source/index.html.erb +0 -1
  449. data/fixtures/different-engine-partial/source/layouts/layout.erb +0 -7
  450. data/fixtures/different-engine-partial/source/shared/_footer.str +0 -1
  451. data/fixtures/different-engine-partial/source/shared/_header.erb +0 -1
  452. data/fixtures/dynamic-pages-app/config.rb +0 -34
  453. data/fixtures/dynamic-pages-app/source/real/index.html.erb +0 -9
  454. data/fixtures/dynamic-pages-app/source/real.html +0 -1
  455. data/fixtures/dynamic-pages-app/source/should_be_ignored.html +0 -1
  456. data/fixtures/dynamic-pages-app/source/should_be_ignored2.html +0 -1
  457. data/fixtures/dynamic-pages-app/source/should_be_ignored3.html +0 -1
  458. data/fixtures/dynamic-pages-app/source/should_be_ignored4.html +0 -1
  459. data/fixtures/dynamic-pages-app/source/should_be_ignored5.html +0 -1
  460. data/fixtures/dynamic-pages-app/source/should_be_ignored6.html +0 -1
  461. data/fixtures/dynamic-pages-app/source/should_be_ignored7.html +0 -1
  462. data/fixtures/dynamic-pages-app/source/should_be_ignored8.html +0 -1
  463. data/fixtures/dynamic-pages-app/source/should_be_ignored9.html +0 -1
  464. data/fixtures/ember-cli-app/config.rb +0 -5
  465. data/fixtures/ember-cli-app/source/javascripts/file.js +0 -0
  466. data/fixtures/ember-cli-app/test-app/.bowerrc +0 -3
  467. data/fixtures/ember-cli-app/test-app/.gitignore +0 -17
  468. data/fixtures/ember-cli-app/test-app/.jshintrc +0 -32
  469. data/fixtures/ember-cli-app/test-app/Brocfile.js +0 -20
  470. data/fixtures/ember-cli-app/test-app/README.md +0 -25
  471. data/fixtures/ember-cli-app/test-app/app/app.js +0 -14
  472. data/fixtures/ember-cli-app/test-app/app/components/.gitkeep +0 -0
  473. data/fixtures/ember-cli-app/test-app/app/controllers/.gitkeep +0 -0
  474. data/fixtures/ember-cli-app/test-app/app/helpers/.gitkeep +0 -0
  475. data/fixtures/ember-cli-app/test-app/app/index.html +0 -26
  476. data/fixtures/ember-cli-app/test-app/app/models/.gitkeep +0 -0
  477. data/fixtures/ember-cli-app/test-app/app/router.js +0 -10
  478. data/fixtures/ember-cli-app/test-app/app/routes/.gitkeep +0 -0
  479. data/fixtures/ember-cli-app/test-app/app/styles/.gitkeep +0 -0
  480. data/fixtures/ember-cli-app/test-app/app/styles/app.css +0 -3
  481. data/fixtures/ember-cli-app/test-app/app/templates/.gitkeep +0 -0
  482. data/fixtures/ember-cli-app/test-app/app/templates/application.hbs +0 -3
  483. data/fixtures/ember-cli-app/test-app/app/templates/components/.gitkeep +0 -0
  484. data/fixtures/ember-cli-app/test-app/app/views/.gitkeep +0 -0
  485. data/fixtures/ember-cli-app/test-app/bower.json +0 -16
  486. data/fixtures/ember-cli-app/test-app/config/environment.js +0 -38
  487. data/fixtures/ember-cli-app/test-app/package.json +0 -31
  488. data/fixtures/ember-cli-app/test-app/public/.gitkeep +0 -0
  489. data/fixtures/ember-cli-app/test-app/testem.json +0 -6
  490. data/fixtures/ember-cli-app/test-app/tests/.jshintrc +0 -73
  491. data/fixtures/ember-cli-app/test-app/tests/helpers/resolver.js +0 -9
  492. data/fixtures/ember-cli-app/test-app/tests/helpers/start-app.js +0 -30
  493. data/fixtures/ember-cli-app/test-app/tests/index.html +0 -50
  494. data/fixtures/ember-cli-app/test-app/tests/test-helper.js +0 -6
  495. data/fixtures/ember-cli-app/test-app/tests/unit/.gitkeep +0 -0
  496. data/fixtures/empty-app/not-config.rb +0 -0
  497. data/fixtures/engine-matching-layout/config.rb +0 -0
  498. data/fixtures/engine-matching-layout/source/index.html.erb +0 -1
  499. data/fixtures/engine-matching-layout/source/layout.erb +0 -9
  500. data/fixtures/env-app/config.rb +0 -0
  501. data/fixtures/env-app/environments/development.rb +0 -1
  502. data/fixtures/env-app/environments/production.rb +0 -2
  503. data/fixtures/env-app/source/index.html.erb +0 -3
  504. data/fixtures/env-app/source/stylesheets/site.css.scss +0 -3
  505. data/fixtures/extension-api-deprecations-app/config.rb +0 -11
  506. data/fixtures/extension-api-deprecations-app/source/index.html.erb +0 -1
  507. data/fixtures/extension-api-deprecations-app/source/layouts/layout.erb +0 -3
  508. data/fixtures/extension-hooks-app/config.rb +0 -39
  509. data/fixtures/extension-hooks-app/source/index.html.erb +0 -9
  510. data/fixtures/extensionless-text-files-app/config.rb +0 -0
  511. data/fixtures/extensionless-text-files-app/source/CNAME +0 -1
  512. data/fixtures/extensionless-text-files-app/source/LICENSE +0 -1
  513. data/fixtures/extensionless-text-files-app/source/README +0 -1
  514. data/fixtures/extensionless-text-files-app/source/index.html +0 -1
  515. data/fixtures/external-helpers/config.rb +0 -4
  516. data/fixtures/external-helpers/helpers/derp.rb +0 -3
  517. data/fixtures/external-helpers/helpers/four_helpers.rb +0 -3
  518. data/fixtures/external-helpers/helpers/one_helper.rb +0 -3
  519. data/fixtures/external-helpers/helpers/yet_another_thingy.rb +0 -3
  520. data/fixtures/external-helpers/lib/hello_helper.rb +0 -5
  521. data/fixtures/external-helpers/source/automatic.html.erb +0 -1
  522. data/fixtures/external-helpers/source/index.html.erb +0 -1
  523. data/fixtures/external-pipeline-error/config.rb +0 -5
  524. data/fixtures/external-pipeline-error/source/javascripts/file.js +0 -0
  525. data/fixtures/feature-params-app/config.rb +0 -16
  526. data/fixtures/feature-params-app/source/index.html.erb +0 -2
  527. data/fixtures/fonts-app/config.rb +0 -0
  528. data/fixtures/fonts-app/source/fonts/StMarie-Thin.otf +0 -0
  529. data/fixtures/fonts-app/source/fonts/blank/blank.otf +0 -0
  530. data/fixtures/fonts-app/source/stylesheets/fonts.css.scss +0 -6
  531. data/fixtures/frontmatter-app/config.rb +0 -1
  532. data/fixtures/frontmatter-app/source/front-matter-2.php.erb +0 -7
  533. data/fixtures/frontmatter-app/source/front-matter-change.html.erb +0 -5
  534. data/fixtures/frontmatter-app/source/front-matter-encoding.html.erb +0 -7
  535. data/fixtures/frontmatter-app/source/front-matter-haml.html.haml +0 -6
  536. data/fixtures/frontmatter-app/source/front-matter-line-2.html.erb +0 -10
  537. data/fixtures/frontmatter-app/source/front-matter-pandoc.html.md.erb +0 -13
  538. data/fixtures/frontmatter-app/source/raw-front-matter-toml.html +0 -6
  539. data/fixtures/frontmatter-app/source/raw-front-matter.html +0 -6
  540. data/fixtures/frontmatter-app/source/raw-front-matter.php +0 -6
  541. data/fixtures/frontmatter-neighbor-app/config.rb +0 -30
  542. data/fixtures/frontmatter-neighbor-app/source/front-matter-2.php.erb +0 -2
  543. data/fixtures/frontmatter-neighbor-app/source/front-matter-2.php.erb.frontmatter +0 -4
  544. data/fixtures/frontmatter-neighbor-app/source/front-matter-change.html.erb +0 -1
  545. data/fixtures/frontmatter-neighbor-app/source/front-matter-change.html.erb.frontmatter +0 -4
  546. data/fixtures/frontmatter-neighbor-app/source/front-matter-encoding.html.erb +0 -1
  547. data/fixtures/frontmatter-neighbor-app/source/front-matter-encoding.html.erb.frontmatter +0 -5
  548. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter-toml.html +0 -1
  549. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter-toml.html.frontmatter +0 -4
  550. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.html +0 -1
  551. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.html.frontmatter +0 -4
  552. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.php +0 -1
  553. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.php.frontmatter +0 -4
  554. data/fixtures/frontmatter-settings-app/config.rb +0 -4
  555. data/fixtures/frontmatter-settings-app/source/alternate_layout.html.erb +0 -5
  556. data/fixtures/frontmatter-settings-app/source/ignored.html.erb +0 -5
  557. data/fixtures/frontmatter-settings-app/source/layouts/alternate.erb +0 -3
  558. data/fixtures/frontmatter-settings-app/source/layouts/override.erb +0 -1
  559. data/fixtures/frontmatter-settings-app/source/override_layout.html.erb +0 -4
  560. data/fixtures/frontmatter-settings-app/source/page_mentioned.html.erb +0 -4
  561. data/fixtures/frontmatter-settings-neighbor-app/config.rb +0 -40
  562. data/fixtures/frontmatter-settings-neighbor-app/source/alternate_layout.html.erb +0 -1
  563. data/fixtures/frontmatter-settings-neighbor-app/source/alternate_layout.html.erb.frontmatter +0 -3
  564. data/fixtures/frontmatter-settings-neighbor-app/source/ignored.html.erb +0 -1
  565. data/fixtures/frontmatter-settings-neighbor-app/source/ignored.html.erb.frontmatter +0 -3
  566. data/fixtures/frontmatter-settings-neighbor-app/source/layouts/alternate.erb +0 -3
  567. data/fixtures/frontmatter-settings-neighbor-app/source/layouts/override.erb +0 -1
  568. data/fixtures/frontmatter-settings-neighbor-app/source/override_layout.html.erb +0 -1
  569. data/fixtures/frontmatter-settings-neighbor-app/source/override_layout.html.erb.frontmatter +0 -3
  570. data/fixtures/frontmatter-settings-neighbor-app/source/page_mentioned.html.erb +0 -1
  571. data/fixtures/frontmatter-settings-neighbor-app/source/page_mentioned.html.erb.frontmatter +0 -3
  572. data/fixtures/generator-test/config.rb +0 -57
  573. data/fixtures/generator-test/source/index.html.erb +0 -10
  574. data/fixtures/glob-app/config.rb +0 -1
  575. data/fixtures/glob-app/source/index.html.erb +0 -4
  576. data/fixtures/glob-app/source/stylesheets/site.css.str +0 -3
  577. data/fixtures/gzip-app/config.rb +0 -1
  578. data/fixtures/gzip-app/source/index.html +0 -0
  579. data/fixtures/gzip-app/source/javascripts/test.js +0 -1
  580. data/fixtures/gzip-app/source/stylesheets/test.css +0 -1
  581. data/fixtures/i-8859-1-app/config.rb +0 -1
  582. data/fixtures/i-8859-1-app/source/index.html.erb +0 -1
  583. data/fixtures/i18n-alt-root-app/locales/en.yml +0 -4
  584. data/fixtures/i18n-alt-root-app/locales/es.yml +0 -7
  585. data/fixtures/i18n-alt-root-app/source/lang_data/hello.html.erb +0 -1
  586. data/fixtures/i18n-alt-root-app/source/lang_data/index.html.erb +0 -1
  587. data/fixtures/i18n-alt-root-app/source/layout.erb +0 -1
  588. data/fixtures/i18n-default-app/locales/en.yml +0 -4
  589. data/fixtures/i18n-default-app/locales/es.yml +0 -8
  590. data/fixtures/i18n-default-app/source/localizable/index.html.erb +0 -5
  591. data/fixtures/i18n-force-locale/config.rb +0 -11
  592. data/fixtures/i18n-force-locale/locales/en.yml +0 -3
  593. data/fixtures/i18n-force-locale/locales/es.yml +0 -3
  594. data/fixtures/i18n-force-locale/locales/fr.yml +0 -3
  595. data/fixtures/i18n-force-locale/source/index.html.haml +0 -2
  596. data/fixtures/i18n-mixed-sources/config.rb +0 -1
  597. data/fixtures/i18n-mixed-sources/locales/en.yml +0 -4
  598. data/fixtures/i18n-mixed-sources/locales/es.yml +0 -4
  599. data/fixtures/i18n-mixed-sources/source/a/sub.html.erb +0 -9
  600. data/fixtures/i18n-mixed-sources/source/b/index.html.erb +0 -9
  601. data/fixtures/i18n-mixed-sources/source/index.html.erb +0 -9
  602. data/fixtures/i18n-mixed-sources/source/localizable/a/index.html.erb +0 -9
  603. data/fixtures/i18n-mixed-sources/source/localizable/b/sub.html.erb +0 -9
  604. data/fixtures/i18n-mixed-sources/source/localizable/index.html.erb +0 -9
  605. data/fixtures/i18n-nested-app/locales/en/more.yml +0 -3
  606. data/fixtures/i18n-nested-app/locales/en.yml +0 -4
  607. data/fixtures/i18n-nested-app/locales/es/mucho.yml +0 -3
  608. data/fixtures/i18n-nested-app/locales/es.yml +0 -4
  609. data/fixtures/i18n-nested-app/source/localizable/index.html.erb +0 -3
  610. data/fixtures/i18n-test-app/data/defaults_en.yml +0 -0
  611. data/fixtures/i18n-test-app/data/defaults_es.yml +0 -0
  612. data/fixtures/i18n-test-app/data/en_defaults.yml +0 -0
  613. data/fixtures/i18n-test-app/locales/en.yml +0 -5
  614. data/fixtures/i18n-test-app/locales/es.yml +0 -9
  615. data/fixtures/i18n-test-app/source/CNAME +0 -1
  616. data/fixtures/i18n-test-app/source/_country.en.erb +0 -1
  617. data/fixtures/i18n-test-app/source/_country.es.erb +0 -1
  618. data/fixtures/i18n-test-app/source/_site.erb +0 -1
  619. data/fixtures/i18n-test-app/source/images/president.en.svg +0 -1
  620. data/fixtures/i18n-test-app/source/images/president.es.svg +0 -1
  621. data/fixtures/i18n-test-app/source/layouts/layout.erb +0 -8
  622. data/fixtures/i18n-test-app/source/localizable/_state.en.erb +0 -1
  623. data/fixtures/i18n-test-app/source/localizable/_state.es.erb +0 -1
  624. data/fixtures/i18n-test-app/source/localizable/fallback.html.erb +0 -1
  625. data/fixtures/i18n-test-app/source/localizable/hello.html.erb +0 -1
  626. data/fixtures/i18n-test-app/source/localizable/images/flag.en.svg +0 -1
  627. data/fixtures/i18n-test-app/source/localizable/images/flag.es.svg +0 -1
  628. data/fixtures/i18n-test-app/source/localizable/index.html.erb +0 -1
  629. data/fixtures/i18n-test-app/source/localizable/morning.en.html.erb +0 -1
  630. data/fixtures/i18n-test-app/source/localizable/morning.es.html.erb +0 -1
  631. data/fixtures/i18n-test-app/source/localizable/one.en.html.md +0 -1
  632. data/fixtures/i18n-test-app/source/localizable/one.es.html.md +0 -1
  633. data/fixtures/i18n-test-app/source/localizable/partials/_greeting.en.erb +0 -1
  634. data/fixtures/i18n-test-app/source/localizable/partials/_greeting.es.erb +0 -1
  635. data/fixtures/i18n-test-app/source/localizable/partials/index.html.erb +0 -8
  636. data/fixtures/i18n-test-app/source/password.txt +0 -1
  637. data/fixtures/i18n-test-app/source/stylesheets/site.css +0 -3
  638. data/fixtures/ignore-app/source/about.html.erb +0 -1
  639. data/fixtures/ignore-app/source/images/icon/messages.png +0 -0
  640. data/fixtures/ignore-app/source/images/pic.png +0 -0
  641. data/fixtures/ignore-app/source/images/portrait.jpg +0 -0
  642. data/fixtures/ignore-app/source/index.html.erb +0 -0
  643. data/fixtures/ignore-app/source/plain.html +0 -1
  644. data/fixtures/ignore-app/source/reports/another.html +0 -0
  645. data/fixtures/ignore-app/source/reports/index.html +0 -0
  646. data/fixtures/image-srcset-paths-app/image-srcset-paths.html.erb +0 -1
  647. data/fixtures/image-srcset-paths-app/images/blank.gif +0 -0
  648. data/fixtures/import-app/bower.json +0 -21
  649. data/fixtures/import-app/bower_components/jquery/.bower.json +0 -39
  650. data/fixtures/import-app/bower_components/jquery/MIT-LICENSE.txt +0 -21
  651. data/fixtures/import-app/bower_components/jquery/bower.json +0 -28
  652. data/fixtures/import-app/bower_components/jquery/dist/jquery.js +0 -9210
  653. data/fixtures/import-app/bower_components/jquery/dist/jquery.min.js +0 -5
  654. data/fixtures/import-app/bower_components/jquery/dist/jquery.min.map +0 -1
  655. data/fixtures/import-app/bower_components/jquery/src/ajax/jsonp.js +0 -89
  656. data/fixtures/import-app/bower_components/jquery/src/ajax/load.js +0 -75
  657. data/fixtures/import-app/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  658. data/fixtures/import-app/bower_components/jquery/src/ajax/parseXML.js +0 -28
  659. data/fixtures/import-app/bower_components/jquery/src/ajax/script.js +0 -64
  660. data/fixtures/import-app/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  661. data/fixtures/import-app/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  662. data/fixtures/import-app/bower_components/jquery/src/ajax/xhr.js +0 -136
  663. data/fixtures/import-app/bower_components/jquery/src/ajax.js +0 -786
  664. data/fixtures/import-app/bower_components/jquery/src/attributes/attr.js +0 -141
  665. data/fixtures/import-app/bower_components/jquery/src/attributes/classes.js +0 -158
  666. data/fixtures/import-app/bower_components/jquery/src/attributes/prop.js +0 -94
  667. data/fixtures/import-app/bower_components/jquery/src/attributes/support.js +0 -35
  668. data/fixtures/import-app/bower_components/jquery/src/attributes/val.js +0 -161
  669. data/fixtures/import-app/bower_components/jquery/src/attributes.js +0 -11
  670. data/fixtures/import-app/bower_components/jquery/src/callbacks.js +0 -205
  671. data/fixtures/import-app/bower_components/jquery/src/core/access.js +0 -60
  672. data/fixtures/import-app/bower_components/jquery/src/core/init.js +0 -123
  673. data/fixtures/import-app/bower_components/jquery/src/core/parseHTML.js +0 -39
  674. data/fixtures/import-app/bower_components/jquery/src/core/ready.js +0 -97
  675. data/fixtures/import-app/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  676. data/fixtures/import-app/bower_components/jquery/src/core.js +0 -502
  677. data/fixtures/import-app/bower_components/jquery/src/css/addGetHookIf.js +0 -22
  678. data/fixtures/import-app/bower_components/jquery/src/css/curCSS.js +0 -57
  679. data/fixtures/import-app/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  680. data/fixtures/import-app/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  681. data/fixtures/import-app/bower_components/jquery/src/css/support.js +0 -96
  682. data/fixtures/import-app/bower_components/jquery/src/css/swap.js +0 -28
  683. data/fixtures/import-app/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  684. data/fixtures/import-app/bower_components/jquery/src/css/var/getStyles.js +0 -12
  685. data/fixtures/import-app/bower_components/jquery/src/css/var/isHidden.js +0 -13
  686. data/fixtures/import-app/bower_components/jquery/src/css/var/rmargin.js +0 -3
  687. data/fixtures/import-app/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  688. data/fixtures/import-app/bower_components/jquery/src/css.js +0 -450
  689. data/fixtures/import-app/bower_components/jquery/src/data/Data.js +0 -181
  690. data/fixtures/import-app/bower_components/jquery/src/data/accepts.js +0 -20
  691. data/fixtures/import-app/bower_components/jquery/src/data/var/data_priv.js +0 -5
  692. data/fixtures/import-app/bower_components/jquery/src/data/var/data_user.js +0 -5
  693. data/fixtures/import-app/bower_components/jquery/src/data.js +0 -178
  694. data/fixtures/import-app/bower_components/jquery/src/deferred.js +0 -149
  695. data/fixtures/import-app/bower_components/jquery/src/deprecated.js +0 -13
  696. data/fixtures/import-app/bower_components/jquery/src/dimensions.js +0 -50
  697. data/fixtures/import-app/bower_components/jquery/src/effects/Tween.js +0 -114
  698. data/fixtures/import-app/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  699. data/fixtures/import-app/bower_components/jquery/src/effects.js +0 -648
  700. data/fixtures/import-app/bower_components/jquery/src/event/ajax.js +0 -13
  701. data/fixtures/import-app/bower_components/jquery/src/event/alias.js +0 -39
  702. data/fixtures/import-app/bower_components/jquery/src/event/support.js +0 -9
  703. data/fixtures/import-app/bower_components/jquery/src/event.js +0 -868
  704. data/fixtures/import-app/bower_components/jquery/src/exports/amd.js +0 -24
  705. data/fixtures/import-app/bower_components/jquery/src/exports/global.js +0 -32
  706. data/fixtures/import-app/bower_components/jquery/src/intro.js +0 -44
  707. data/fixtures/import-app/bower_components/jquery/src/jquery.js +0 -37
  708. data/fixtures/import-app/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  709. data/fixtures/import-app/bower_components/jquery/src/manipulation/support.js +0 -32
  710. data/fixtures/import-app/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  711. data/fixtures/import-app/bower_components/jquery/src/manipulation.js +0 -580
  712. data/fixtures/import-app/bower_components/jquery/src/offset.js +0 -207
  713. data/fixtures/import-app/bower_components/jquery/src/outro.js +0 -1
  714. data/fixtures/import-app/bower_components/jquery/src/queue/delay.js +0 -22
  715. data/fixtures/import-app/bower_components/jquery/src/queue.js +0 -142
  716. data/fixtures/import-app/bower_components/jquery/src/selector-native.js +0 -172
  717. data/fixtures/import-app/bower_components/jquery/src/selector-sizzle.js +0 -14
  718. data/fixtures/import-app/bower_components/jquery/src/selector.js +0 -1
  719. data/fixtures/import-app/bower_components/jquery/src/serialize.js +0 -111
  720. data/fixtures/import-app/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2067
  721. data/fixtures/import-app/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  722. data/fixtures/import-app/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  723. data/fixtures/import-app/bower_components/jquery/src/traversing/findFilter.js +0 -100
  724. data/fixtures/import-app/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  725. data/fixtures/import-app/bower_components/jquery/src/traversing.js +0 -199
  726. data/fixtures/import-app/bower_components/jquery/src/var/arr.js +0 -3
  727. data/fixtures/import-app/bower_components/jquery/src/var/class2type.js +0 -4
  728. data/fixtures/import-app/bower_components/jquery/src/var/concat.js +0 -5
  729. data/fixtures/import-app/bower_components/jquery/src/var/hasOwn.js +0 -5
  730. data/fixtures/import-app/bower_components/jquery/src/var/indexOf.js +0 -5
  731. data/fixtures/import-app/bower_components/jquery/src/var/pnum.js +0 -3
  732. data/fixtures/import-app/bower_components/jquery/src/var/push.js +0 -5
  733. data/fixtures/import-app/bower_components/jquery/src/var/rnotwhite.js +0 -3
  734. data/fixtures/import-app/bower_components/jquery/src/var/slice.js +0 -5
  735. data/fixtures/import-app/bower_components/jquery/src/var/strundefined.js +0 -3
  736. data/fixtures/import-app/bower_components/jquery/src/var/support.js +0 -4
  737. data/fixtures/import-app/bower_components/jquery/src/var/toString.js +0 -5
  738. data/fixtures/import-app/bower_components/jquery/src/wrap.js +0 -79
  739. data/fixtures/import-app/config.rb +0 -7
  740. data/fixtures/import-app/source/test.html +0 -0
  741. data/fixtures/import-app/static.html +0 -1
  742. data/fixtures/indexable-app/config.rb +0 -5
  743. data/fixtures/indexable-app/source/.htaccess +0 -1
  744. data/fixtures/indexable-app/source/.htpasswd +0 -1
  745. data/fixtures/indexable-app/source/.nojekyll +0 -0
  746. data/fixtures/indexable-app/source/a_folder/needs_index.html +0 -1
  747. data/fixtures/indexable-app/source/evil spaces.html +0 -1
  748. data/fixtures/indexable-app/source/leave_me_alone.html +0 -1
  749. data/fixtures/indexable-app/source/needs_index.html +0 -1
  750. data/fixtures/indexable-app/source/regex_leave_me_alone2.html +0 -1
  751. data/fixtures/indexable-app/source/regular/index.html +0 -1
  752. data/fixtures/indexable-app/source/wildcard_leave_me_alone.html +0 -1
  753. data/fixtures/javascript-app/config.rb +0 -0
  754. data/fixtures/javascript-app/source/index.html +0 -17
  755. data/fixtures/large-build-app/config.rb +0 -3
  756. data/fixtures/large-build-app/source/.htaccess +0 -1
  757. data/fixtures/large-build-app/source/.htpasswd +0 -1
  758. data/fixtures/large-build-app/source/_partial.erb +0 -1
  759. data/fixtures/large-build-app/source/feed.xml.builder +0 -4
  760. data/fixtures/large-build-app/source/images/Child folder/regular_file(example).txt +0 -1
  761. data/fixtures/large-build-app/source/images/Read me (example).txt +0 -1
  762. data/fixtures/large-build-app/source/images/blank.gif +0 -0
  763. data/fixtures/large-build-app/source/index.html.erb +0 -1
  764. data/fixtures/large-build-app/source/layout.erb +0 -9
  765. data/fixtures/large-build-app/source/layouts/content_for.erb +0 -4
  766. data/fixtures/large-build-app/source/layouts/custom.erb +0 -8
  767. data/fixtures/large-build-app/source/link_test.html.erb +0 -5
  768. data/fixtures/large-build-app/source/other_layout.erb +0 -1
  769. data/fixtures/large-build-app/source/services/index.html.erb +0 -1
  770. data/fixtures/large-build-app/source/spaces in file.html.erb +0 -1
  771. data/fixtures/large-build-app/source/static.html +0 -1
  772. data/fixtures/large-build-app/source/stylesheets/static.css +0 -2
  773. data/fixtures/layouts-dir-app/source/ambiguous.html.erb +0 -5
  774. data/fixtures/layouts-dir-app/source/index.html.erb +0 -2
  775. data/fixtures/layouts-dir-app/source/layouts/layout.erb +0 -3
  776. data/fixtures/layouts-dir-app/source/layouts/other.erb +0 -3
  777. data/fixtures/layouts-dir-app/source/layouts2/layout.erb +0 -3
  778. data/fixtures/layouts-dir-app/source/nested/layouts2/layout.erb +0 -3
  779. data/fixtures/layouts-dir-app/source/other.erb +0 -3
  780. data/fixtures/link-to-app/config.rb +0 -0
  781. data/fixtures/link-to-app/source/link_to_erb.html.erb +0 -3
  782. data/fixtures/link-to-app/source/link_to_haml.html.haml +0 -2
  783. data/fixtures/link-to-app/source/link_to_slim.html.slim +0 -2
  784. data/fixtures/liquid-app/config.rb +0 -0
  785. data/fixtures/liquid-app/data/test.yml +0 -4
  786. data/fixtures/liquid-app/data/test2.json +0 -4
  787. data/fixtures/liquid-app/source/_liquid_partial.liquid +0 -1
  788. data/fixtures/liquid-app/source/data2.html.liquid +0 -2
  789. data/fixtures/liquid-app/source/liquid_master.html.liquid +0 -1
  790. data/fixtures/lorem-app/config.rb +0 -1
  791. data/fixtures/lorem-app/source/lorem.html.erb +0 -13
  792. data/fixtures/manual-layout/config.rb +0 -1
  793. data/fixtures/manual-layout/source/index.html.erb +0 -1
  794. data/fixtures/manual-layout/source/layouts/custom.erb +0 -9
  795. data/fixtures/manual-layout-missing/config.rb +0 -1
  796. data/fixtures/manual-layout-missing/source/index.html.erb +0 -1
  797. data/fixtures/manual-layout-override/config.rb +0 -3
  798. data/fixtures/manual-layout-override/source/index.html.erb +0 -1
  799. data/fixtures/manual-layout-override/source/layouts/another.erb +0 -9
  800. data/fixtures/manual-layout-override/source/layouts/custom.erb +0 -9
  801. data/fixtures/markdown-app/config.rb +0 -1
  802. data/fixtures/markdown-app/source/autolink.html.markdown +0 -5
  803. data/fixtures/markdown-app/source/fenced_code_blocks.html.markdown +0 -7
  804. data/fixtures/markdown-app/source/filter_html.html.markdown +0 -1
  805. data/fixtures/markdown-app/source/footnote.html.markdown +0 -3
  806. data/fixtures/markdown-app/source/hard_wrap.html.markdown +0 -2
  807. data/fixtures/markdown-app/source/highlighted.html.markdown +0 -1
  808. data/fixtures/markdown-app/source/images/blank.gif +0 -0
  809. data/fixtures/markdown-app/source/img.html.markdown +0 -1
  810. data/fixtures/markdown-app/source/indented_code_blocks.html.markdown +0 -5
  811. data/fixtures/markdown-app/source/index.html.markdown +0 -4
  812. data/fixtures/markdown-app/source/lax_spacing.html.markdown +0 -3
  813. data/fixtures/markdown-app/source/link.html.markdown +0 -1
  814. data/fixtures/markdown-app/source/mailto.html.markdown +0 -1
  815. data/fixtures/markdown-app/source/no_intra_emphasis.html.markdown +0 -5
  816. data/fixtures/markdown-app/source/prettify.html.markdown +0 -3
  817. data/fixtures/markdown-app/source/quote.html.markdown +0 -1
  818. data/fixtures/markdown-app/source/safe_links.html.markdown +0 -1
  819. data/fixtures/markdown-app/source/smarty_pants.html.markdown +0 -5
  820. data/fixtures/markdown-app/source/space_after_headers.html.markdown +0 -5
  821. data/fixtures/markdown-app/source/strikethrough.html.markdown +0 -5
  822. data/fixtures/markdown-app/source/superscript.html.markdown +0 -5
  823. data/fixtures/markdown-app/source/tables.html.markdown +0 -8
  824. data/fixtures/markdown-app/source/underline.html.markdown +0 -1
  825. data/fixtures/markdown-app/source/with_toc_data.html.markdown +0 -3
  826. data/fixtures/markdown-frontmatter-options-app/config.rb +0 -1
  827. data/fixtures/markdown-frontmatter-options-app/source/smarty_pants-default.html.markdown +0 -5
  828. data/fixtures/markdown-frontmatter-options-app/source/smarty_pants-off.html.markdown +0 -7
  829. data/fixtures/markdown-frontmatter-options-app/source/smarty_pants-on.html.markdown +0 -7
  830. data/fixtures/markdown-frontmatter-options-app/source/tables-default.html.markdown +0 -8
  831. data/fixtures/markdown-frontmatter-options-app/source/tables-off.html.markdown +0 -10
  832. data/fixtures/markdown-frontmatter-options-app/source/tables-on.html.markdown +0 -10
  833. data/fixtures/markdown-in-haml-app/config.rb +0 -0
  834. data/fixtures/markdown-in-haml-app/source/images/blank.gif +0 -0
  835. data/fixtures/markdown-in-haml-app/source/link_target.html.markdown +0 -4
  836. data/fixtures/markdown-in-slim-app/config.rb +0 -0
  837. data/fixtures/markdown-in-slim-app/source/images/blank.gif +0 -0
  838. data/fixtures/markdown-in-slim-app/source/link_target.html.markdown +0 -4
  839. data/fixtures/minify-css-app/source/inline-css.html.haml +0 -5
  840. data/fixtures/minify-css-app/source/inline-css.php +0 -8
  841. data/fixtures/minify-css-app/source/more-css/site.css +0 -3
  842. data/fixtures/minify-css-app/source/stylesheets/base/_base.scss +0 -15
  843. data/fixtures/minify-css-app/source/stylesheets/base/_buttons.scss +0 -35
  844. data/fixtures/minify-css-app/source/stylesheets/base/_forms.scss +0 -90
  845. data/fixtures/minify-css-app/source/stylesheets/base/_grid-settings.scss +0 -14
  846. data/fixtures/minify-css-app/source/stylesheets/base/_lists.scss +0 -31
  847. data/fixtures/minify-css-app/source/stylesheets/base/_tables.scss +0 -25
  848. data/fixtures/minify-css-app/source/stylesheets/base/_typography.scss +0 -49
  849. data/fixtures/minify-css-app/source/stylesheets/base/_variables.scss +0 -42
  850. data/fixtures/minify-css-app/source/stylesheets/bourbon/_bourbon-deprecated-upcoming.scss +0 -411
  851. data/fixtures/minify-css-app/source/stylesheets/bourbon/_bourbon.scss +0 -87
  852. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_border-color.scss +0 -26
  853. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_border-radius.scss +0 -48
  854. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_border-style.scss +0 -25
  855. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_border-width.scss +0 -25
  856. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_buttons.scss +0 -64
  857. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_clearfix.scss +0 -25
  858. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_ellipsis.scss +0 -30
  859. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_font-stacks.scss +0 -31
  860. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_hide-text.scss +0 -27
  861. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_margin.scss +0 -26
  862. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_padding.scss +0 -26
  863. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_position.scss +0 -48
  864. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_prefixer.scss +0 -66
  865. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_retina-image.scss +0 -25
  866. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_size.scss +0 -51
  867. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_text-inputs.scss +0 -113
  868. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_timing-functions.scss +0 -34
  869. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_triangle.scss +0 -63
  870. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_word-wrap.scss +0 -29
  871. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_animation.scss +0 -43
  872. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_appearance.scss +0 -3
  873. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_backface-visibility.scss +0 -3
  874. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_background-image.scss +0 -42
  875. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_background.scss +0 -55
  876. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_border-image.scss +0 -59
  877. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_calc.scss +0 -4
  878. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_columns.scss +0 -47
  879. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_filter.scss +0 -4
  880. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_flex-box.scss +0 -287
  881. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_font-face.scss +0 -24
  882. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_font-feature-settings.scss +0 -4
  883. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_hidpi-media-query.scss +0 -10
  884. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_hyphens.scss +0 -4
  885. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_image-rendering.scss +0 -14
  886. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_keyframes.scss +0 -36
  887. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_linear-gradient.scss +0 -38
  888. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_perspective.scss +0 -8
  889. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_placeholder.scss +0 -8
  890. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_radial-gradient.scss +0 -39
  891. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_selection.scss +0 -42
  892. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_text-decoration.scss +0 -19
  893. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_transform.scss +0 -15
  894. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_transition.scss +0 -71
  895. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_user-select.scss +0 -3
  896. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_assign-inputs.scss +0 -11
  897. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_contains-falsy.scss +0 -20
  898. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_contains.scss +0 -26
  899. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_is-length.scss +0 -11
  900. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_is-light.scss +0 -21
  901. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_is-number.scss +0 -11
  902. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_is-size.scss +0 -13
  903. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_modular-scale.scss +0 -69
  904. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_px-to-em.scss +0 -13
  905. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_px-to-rem.scss +0 -15
  906. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_shade.scss +0 -24
  907. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_strip-units.scss +0 -17
  908. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_tint.scss +0 -24
  909. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_transition-property-name.scss +0 -22
  910. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_unpack.scss +0 -27
  911. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_convert-units.scss +0 -21
  912. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_directional-values.scss +0 -96
  913. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_font-source-declaration.scss +0 -43
  914. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_gradient-positions-parser.scss +0 -13
  915. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_linear-angle-parser.scss +0 -25
  916. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_linear-gradient-parser.scss +0 -41
  917. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_linear-positions-parser.scss +0 -61
  918. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_linear-side-corner-parser.scss +0 -31
  919. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_radial-arg-parser.scss +0 -69
  920. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_radial-gradient-parser.scss +0 -50
  921. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_radial-positions-parser.scss +0 -18
  922. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_render-gradients.scss +0 -26
  923. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_shape-size-stripper.scss +0 -10
  924. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_str-to-num.scss +0 -50
  925. data/fixtures/minify-css-app/source/stylesheets/bourbon/settings/_asset-pipeline.scss +0 -7
  926. data/fixtures/minify-css-app/source/stylesheets/bourbon/settings/_prefixer.scss +0 -9
  927. data/fixtures/minify-css-app/source/stylesheets/bourbon/settings/_px-to-em.scss +0 -1
  928. data/fixtures/minify-css-app/source/stylesheets/report.css +0 -1
  929. data/fixtures/minify-css-app/source/stylesheets/site.css.sass +0 -7
  930. data/fixtures/minify-css-app/source/stylesheets/site.xcss.sass +0 -6
  931. data/fixtures/minify-js-app/config.rb +0 -0
  932. data/fixtures/minify-js-app/source/inline-coffeescript.html.haml +0 -3
  933. data/fixtures/minify-js-app/source/inline-js.html.haml +0 -28
  934. data/fixtures/minify-js-app/source/inline-js.php +0 -22
  935. data/fixtures/minify-js-app/source/javascripts/coffee_test.js.coffee +0 -3
  936. data/fixtures/minify-js-app/source/javascripts/js_test.js +0 -8
  937. data/fixtures/minify-js-app/source/javascripts/js_test.xjs +0 -8
  938. data/fixtures/minify-js-app/source/more-js/other.js +0 -8
  939. data/fixtures/missing-tilt-library-app/config.rb +0 -2
  940. data/fixtures/missing-tilt-library-app/source/danger-zone/more-wiki.html.wiki +0 -1
  941. data/fixtures/missing-tilt-library-app/source/safe-zone/my-wiki.html.wiki +0 -1
  942. data/fixtures/missing-tilt-library-app/source/textile-source.html.textile +0 -1
  943. data/fixtures/missing-tilt-library-app/source/wiki-source.html.wiki +0 -1
  944. data/fixtures/more-extensionless-text-files-app/config.rb +0 -1
  945. data/fixtures/more-extensionless-text-files-app/source/CNAME +0 -1
  946. data/fixtures/more-extensionless-text-files-app/source/LICENSE +0 -1
  947. data/fixtures/more-extensionless-text-files-app/source/README +0 -1
  948. data/fixtures/more-extensionless-text-files-app/source/index.html +0 -1
  949. data/fixtures/more-frontmatter-settings-app/config.rb +0 -4
  950. data/fixtures/more-frontmatter-settings-app/source/alternate_layout.html.erb +0 -5
  951. data/fixtures/more-frontmatter-settings-app/source/ignored.html.erb +0 -5
  952. data/fixtures/more-frontmatter-settings-app/source/layouts/alternate.erb +0 -3
  953. data/fixtures/more-frontmatter-settings-app/source/no_index.html.erb +0 -5
  954. data/fixtures/more-ignore-app/source/about.html.erb +0 -1
  955. data/fixtures/more-ignore-app/source/images/icon/messages.png +0 -0
  956. data/fixtures/more-ignore-app/source/images/pic.png +0 -0
  957. data/fixtures/more-ignore-app/source/images/portrait.jpg +0 -0
  958. data/fixtures/more-ignore-app/source/index.html.erb +0 -0
  959. data/fixtures/more-ignore-app/source/plain.html +0 -1
  960. data/fixtures/more-ignore-app/source/reports/another.html +0 -0
  961. data/fixtures/more-ignore-app/source/reports/index.html +0 -0
  962. data/fixtures/more-markdown-app/source/layouts/layout.erb +0 -13
  963. data/fixtures/more-markdown-app/source/with_layout.html.markdown +0 -4
  964. data/fixtures/more-markdown-app/source/with_layout_erb.html.markdown.erb +0 -4
  965. data/fixtures/more-preview-app/config.rb +0 -0
  966. data/fixtures/more-preview-app/source/content.html.erb +0 -1
  967. data/fixtures/more-preview-app/source/layout.erb +0 -1
  968. data/fixtures/more-preview-app/source/stylesheets/_partial.sass +0 -2
  969. data/fixtures/more-preview-app/source/stylesheets/_partial2.css.sass +0 -2
  970. data/fixtures/more-preview-app/source/stylesheets/main.css.sass +0 -4
  971. data/fixtures/more-preview-app/source/stylesheets/main2.css.sass +0 -4
  972. data/fixtures/more-preview-app/source/stylesheets/plain.css.sass +0 -2
  973. data/fixtures/more-traversal-app/config.rb +0 -7
  974. data/fixtures/more-traversal-app/source/directory-indexed/sibling.html.erb +0 -3
  975. data/fixtures/more-traversal-app/source/directory-indexed/sibling2.html.erb +0 -3
  976. data/fixtures/more-traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
  977. data/fixtures/more-traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
  978. data/fixtures/more-traversal-app/source/directory-indexed.html.erb +0 -0
  979. data/fixtures/more-traversal-app/source/index.html.erb +0 -0
  980. data/fixtures/more-traversal-app/source/layout.erb +0 -21
  981. data/fixtures/more-traversal-app/source/proxied.html.erb +0 -0
  982. data/fixtures/more-traversal-app/source/root.html.erb +0 -0
  983. data/fixtures/more-traversal-app/source/sub/index.html.erb +0 -0
  984. data/fixtures/more-traversal-app/source/sub/sibling.html.erb +0 -0
  985. data/fixtures/more-traversal-app/source/sub/sibling2.html.erb +0 -0
  986. data/fixtures/more-traversal-app/source/sub/sub2/index.html.erb +0 -0
  987. data/fixtures/more-traversal-app/source/sub/sub3/deep.html.erb +0 -0
  988. data/fixtures/multiple-data-sources-app/config.rb +0 -3
  989. data/fixtures/multiple-data-sources-app/data/data.yml +0 -1
  990. data/fixtures/multiple-data-sources-app/data/two.yml +0 -1
  991. data/fixtures/multiple-data-sources-app/data0/one.yml +0 -1
  992. data/fixtures/multiple-data-sources-app/data1/data1.yml +0 -1
  993. data/fixtures/multiple-data-sources-app/data1/one.yml +0 -1
  994. data/fixtures/multiple-data-sources-app/data2/data2.yml +0 -1
  995. data/fixtures/multiple-data-sources-app/data2/two.yml +0 -1
  996. data/fixtures/multiple-data-sources-app/source/index.html.erb +0 -5
  997. data/fixtures/multiple-layouts/config.rb +0 -0
  998. data/fixtures/multiple-layouts/source/index.html.erb +0 -1
  999. data/fixtures/multiple-layouts/source/layout.erb +0 -9
  1000. data/fixtures/multiple-layouts/source/layout.str +0 -9
  1001. data/fixtures/multiple-sources-app/config.rb +0 -3
  1002. data/fixtures/multiple-sources-app/source/index.html.erb +0 -1
  1003. data/fixtures/multiple-sources-app/source/override-in-two.html.erb +0 -1
  1004. data/fixtures/multiple-sources-app/source0/override-in-one.html.erb +0 -1
  1005. data/fixtures/multiple-sources-app/source1/index1.html.erb +0 -1
  1006. data/fixtures/multiple-sources-app/source1/override-in-one.html.erb +0 -1
  1007. data/fixtures/multiple-sources-app/source2/index2.html.erb +0 -1
  1008. data/fixtures/multiple-sources-app/source2/override-in-two.html.erb +0 -1
  1009. data/fixtures/multiple-sources-with-duplicate-file-names-app/config.rb +0 -2
  1010. data/fixtures/multiple-sources-with-duplicate-file-names-app/source/index.html.erb +0 -1
  1011. data/fixtures/multiple-sources-with-duplicate-file-names-app/source2/index.html.erb +0 -1
  1012. data/fixtures/nested-data-app/config.rb +0 -1
  1013. data/fixtures/nested-data-app/data/examples/deeper/stuff.yml +0 -1
  1014. data/fixtures/nested-data-app/data/examples/more.yml +0 -1
  1015. data/fixtures/nested-data-app/data/examples/test.yml +0 -1
  1016. data/fixtures/nested-data-app/data/examples/withcontent.yaml +0 -11
  1017. data/fixtures/nested-data-app/source/extracontent.html.haml.erb +0 -4
  1018. data/fixtures/nested-data-app/source/test.html.erb +0 -3
  1019. data/fixtures/nested-layout-app/config.rb +0 -1
  1020. data/fixtures/nested-layout-app/source/another.html.markdown +0 -7
  1021. data/fixtures/nested-layout-app/source/data-one.html.erb +0 -5
  1022. data/fixtures/nested-layout-app/source/data-two.html.erb +0 -5
  1023. data/fixtures/nested-layout-app/source/haml-test.html.markdown +0 -7
  1024. data/fixtures/nested-layout-app/source/index.html.erb +0 -6
  1025. data/fixtures/nested-layout-app/source/layouts/inner.erb +0 -7
  1026. data/fixtures/nested-layout-app/source/layouts/inner_haml.haml +0 -7
  1027. data/fixtures/nested-layout-app/source/layouts/inner_slim.slim +0 -7
  1028. data/fixtures/nested-layout-app/source/layouts/master.erb +0 -9
  1029. data/fixtures/nested-layout-app/source/layouts/master_haml.haml +0 -7
  1030. data/fixtures/nested-layout-app/source/layouts/master_slim.slim +0 -7
  1031. data/fixtures/nested-layout-app/source/layouts/outer.erb +0 -8
  1032. data/fixtures/nested-layout-app/source/layouts/outer_haml.haml +0 -7
  1033. data/fixtures/nested-layout-app/source/layouts/outer_slim.slim +0 -7
  1034. data/fixtures/nested-layout-app/source/slim-test.html.markdown +0 -7
  1035. data/fixtures/no-layout/config.rb +0 -0
  1036. data/fixtures/no-layout/source/index.html.erb +0 -1
  1037. data/fixtures/padrino-helpers-app/config.rb +0 -7
  1038. data/fixtures/padrino-helpers-app/source/former_padrino_test.html.erb +0 -6
  1039. data/fixtures/page-classes-app/config.rb +0 -2
  1040. data/fixtures/page-classes-app/source/1-folder/1-inside-with-numeric.html.erb +0 -1
  1041. data/fixtures/page-classes-app/source/1-starts-with-numeric.html.erb +0 -1
  1042. data/fixtures/page-classes-app/source/2-starts-with-numeric-custom.html.erb +0 -1
  1043. data/fixtures/page-classes-app/source/page-classes.html.erb +0 -1
  1044. data/fixtures/page-classes-app/source/sub1/page-classes.html.erb +0 -1
  1045. data/fixtures/page-classes-app/source/sub1/sub2/page-classes.html.erb +0 -1
  1046. data/fixtures/page-helper-layout-block-app/config.rb +0 -6
  1047. data/fixtures/page-helper-layout-block-app/source/index.html.erb +0 -1
  1048. data/fixtures/page-helper-layout-block-app/source/layouts/alt.erb +0 -3
  1049. data/fixtures/page-helper-layout-block-app/source/layouts/layout.erb +0 -3
  1050. data/fixtures/page-helper-layout-block-app/source/path/child.html.erb +0 -1
  1051. data/fixtures/page-helper-layout-block-app/source/path/index.html.erb +0 -1
  1052. data/fixtures/page-id-app/config-proc.rb +0 -7
  1053. data/fixtures/page-id-app/config.rb +0 -5
  1054. data/fixtures/page-id-app/source/feed.xml.erb +0 -1
  1055. data/fixtures/page-id-app/source/fm.html.erb +0 -5
  1056. data/fixtures/page-id-app/source/folder/foldern.html.erb +0 -1
  1057. data/fixtures/page-id-app/source/fourty-two.html.erb +0 -5
  1058. data/fixtures/page-id-app/source/implicit.html.erb +0 -1
  1059. data/fixtures/page-id-app/source/index.html.erb +0 -15
  1060. data/fixtures/page-id-app/source/overwrites/from-default.html.erb +0 -1
  1061. data/fixtures/page-id-app/source/overwrites/from-frontmatter.html.erb +0 -5
  1062. data/fixtures/paginate-app/config.rb +0 -0
  1063. data/fixtures/paginate-app/source/archive/2011/index.html.erb +0 -20
  1064. data/fixtures/paginate-app/source/blog/2011-01-01-test-article.html.markdown +0 -6
  1065. data/fixtures/paginate-app/source/blog/2011-01-02-test-article.html.markdown +0 -6
  1066. data/fixtures/paginate-app/source/blog/2011-01-03-test-article.html.markdown +0 -6
  1067. data/fixtures/paginate-app/source/blog/2011-01-04-test-article.html.markdown +0 -6
  1068. data/fixtures/paginate-app/source/blog/2011-01-05-test-article.html.markdown +0 -6
  1069. data/fixtures/paginate-app/source/blog/2011-02-01-test-article.html.markdown +0 -6
  1070. data/fixtures/paginate-app/source/blog/2011-02-02-test-article.html.markdown +0 -6
  1071. data/fixtures/paginate-app/source/index.html.erb +0 -15
  1072. data/fixtures/paginate-app/source/tag.html.erb +0 -23
  1073. data/fixtures/partial-chained_templates-app/config.rb +0 -0
  1074. data/fixtures/partials-app/config.rb +0 -0
  1075. data/fixtures/partials-app/source/_block.erb +0 -3
  1076. data/fixtures/partials-app/source/_code_snippet.html +0 -1
  1077. data/fixtures/partials-app/source/_locals.erb +0 -1
  1078. data/fixtures/partials-app/source/_main.erb +0 -1
  1079. data/fixtures/partials-app/source/_main.str +0 -1
  1080. data/fixtures/partials-app/source/block.html.erb +0 -3
  1081. data/fixtures/partials-app/source/images/tiger.svg +0 -725
  1082. data/fixtures/partials-app/source/index.html.erb +0 -3
  1083. data/fixtures/partials-app/source/index_missing.html.erb +0 -3
  1084. data/fixtures/partials-app/source/locals.html.erb +0 -1
  1085. data/fixtures/partials-app/source/second.html.str +0 -3
  1086. data/fixtures/partials-app/source/shared/_footer.erb +0 -1
  1087. data/fixtures/partials-app/source/shared/_header.erb +0 -1
  1088. data/fixtures/partials-app/source/shared/_snippet.html.erb +0 -1
  1089. data/fixtures/partials-app/source/static_underscore.html.erb +0 -1
  1090. data/fixtures/partials-app/source/sub/_local.erb +0 -1
  1091. data/fixtures/partials-app/source/sub/index.html.erb +0 -3
  1092. data/fixtures/partials-app/source/svg.html.erb +0 -1
  1093. data/fixtures/partials-app/source/using_snippet.html.erb +0 -1
  1094. data/fixtures/passthrough-app/source/.htaccess +0 -1
  1095. data/fixtures/passthrough-app/source/inline-coffeescript.html.haml +0 -3
  1096. data/fixtures/passthrough-app/source/inline-css.html.haml +0 -4
  1097. data/fixtures/passthrough-app/source/inline-js.html.haml +0 -28
  1098. data/fixtures/passthrough-app/source/javascripts/coffee_test.js.coffee +0 -3
  1099. data/fixtures/passthrough-app/source/javascripts/js_test.js +0 -8
  1100. data/fixtures/passthrough-app/source/stylesheets/site.css.sass +0 -5
  1101. data/fixtures/preview-app/config.rb +0 -0
  1102. data/fixtures/preview-app/source/content.html.erb +0 -1
  1103. data/fixtures/preview-app/source/layout.erb +0 -1
  1104. data/fixtures/proxy-pages-app/config.rb +0 -18
  1105. data/fixtures/proxy-pages-app/source/real/index.html.erb +0 -5
  1106. data/fixtures/proxy-pages-app/source/real.html +0 -1
  1107. data/fixtures/proxy-pages-app/source/should_be_ignored3.html +0 -1
  1108. data/fixtures/proxy-pages-app/source/should_be_ignored6.html +0 -1
  1109. data/fixtures/proxy-pages-app/source/should_be_ignored7.html +0 -1
  1110. data/fixtures/proxy-pages-app/source/should_be_ignored8.html +0 -1
  1111. data/fixtures/related-files-app/config.rb +0 -0
  1112. data/fixtures/related-files-app/source/index.html.erb +0 -0
  1113. data/fixtures/related-files-app/source/partials/_test.erb +0 -0
  1114. data/fixtures/related-files-app/source/partials/_test2.haml +0 -0
  1115. data/fixtures/related-files-app/source/stylesheets/_include3.sass +0 -0
  1116. data/fixtures/related-files-app/source/stylesheets/_include4.scss +0 -0
  1117. data/fixtures/related-files-app/source/stylesheets/include1.css +0 -0
  1118. data/fixtures/related-files-app/source/stylesheets/include2.css.scss +0 -0
  1119. data/fixtures/related-files-app/source/stylesheets/site.css.scss +0 -0
  1120. data/fixtures/relative-app/config.rb +0 -0
  1121. data/fixtures/relative-app/source/images/blank.gif +0 -0
  1122. data/fixtures/relative-app/source/stylesheets/relative_assets.css.sass +0 -2
  1123. data/fixtures/relative-assets-app/config.rb +0 -5
  1124. data/fixtures/relative-assets-app/source/absolute_image_relative_css.html.erb +0 -9
  1125. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.eot +0 -0
  1126. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.svg +0 -0
  1127. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.ttf +0 -0
  1128. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.woff +0 -0
  1129. data/fixtures/relative-assets-app/source/images/blank.gif +0 -0
  1130. data/fixtures/relative-assets-app/source/images/blank2.gif +0 -0
  1131. data/fixtures/relative-assets-app/source/img/blank.gif +0 -0
  1132. data/fixtures/relative-assets-app/source/javascripts/app.js +0 -3
  1133. data/fixtures/relative-assets-app/source/javascripts/application.js +0 -8
  1134. data/fixtures/relative-assets-app/source/relative_image.html.erb +0 -9
  1135. data/fixtures/relative-assets-app/source/relative_image_absolute_css.html.erb +0 -9
  1136. data/fixtures/relative-assets-app/source/stylesheets/fonts.css +0 -10
  1137. data/fixtures/relative-assets-app/source/stylesheets/fonts2.css.scss +0 -10
  1138. data/fixtures/relative-assets-app/source/stylesheets/relative_assets.css.sass +0 -2
  1139. data/fixtures/sass-assets-path-app/assets/stylesheets/_shared-asset-sass.sass +0 -1
  1140. data/fixtures/sass-assets-path-app/assets/stylesheets/_shared-asset.scss +0 -1
  1141. data/fixtures/sass-assets-path-app/config.rb +0 -4
  1142. data/fixtures/sass-assets-path-app/my-vendor/stylesheets/_partial.sass +0 -2
  1143. data/fixtures/sass-assets-path-app/source/stylesheets/plain.css.sass +0 -16
  1144. data/fixtures/sass-in-slim-app/config.rb +0 -0
  1145. data/fixtures/scss-app/config.rb +0 -0
  1146. data/fixtures/scss-app/source/stylesheets/error.css.sass +0 -1
  1147. data/fixtures/scss-app/source/stylesheets/layout.css.sass +0 -2
  1148. data/fixtures/scss-app/source/stylesheets/site_scss.css.scss +0 -3
  1149. data/fixtures/sinatra-app/config.rb +0 -16
  1150. data/fixtures/sinatra-app/source/index.html.erb +0 -5
  1151. data/fixtures/slim-content-for-app/config.rb +0 -0
  1152. data/fixtures/slim-content-for-app/source/index.html.slim +0 -7
  1153. data/fixtures/slim-content-for-app/source/layouts/layout.slim +0 -15
  1154. data/fixtures/strip-url-app/config.rb +0 -0
  1155. data/fixtures/strip-url-app/source/index.html.erb +0 -1
  1156. data/fixtures/strip-url-app/source/other.html.erb +0 -1
  1157. data/fixtures/strip-url-app/source/subdir/index.html.erb +0 -1
  1158. data/fixtures/stylus-preview-app/config.rb +0 -0
  1159. data/fixtures/stylus-preview-app/source/content.html.erb +0 -5
  1160. data/fixtures/stylus-preview-app/source/stylesheets/_partial.styl +0 -2
  1161. data/fixtures/stylus-preview-app/source/stylesheets/_partial2.css.styl +0 -2
  1162. data/fixtures/stylus-preview-app/source/stylesheets/main.css.styl +0 -4
  1163. data/fixtures/stylus-preview-app/source/stylesheets/main2.css.styl +0 -4
  1164. data/fixtures/stylus-preview-app/source/stylesheets/plain.css.styl +0 -2
  1165. data/fixtures/traversal-app/config.rb +0 -5
  1166. data/fixtures/traversal-app/source/.htaccess +0 -0
  1167. data/fixtures/traversal-app/source/directory-indexed/sibling.html.erb +0 -3
  1168. data/fixtures/traversal-app/source/directory-indexed/sibling2.html.erb +0 -3
  1169. data/fixtures/traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
  1170. data/fixtures/traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
  1171. data/fixtures/traversal-app/source/directory-indexed.html.erb +0 -0
  1172. data/fixtures/traversal-app/source/index.html.erb +0 -0
  1173. data/fixtures/traversal-app/source/layout.erb +0 -21
  1174. data/fixtures/traversal-app/source/proxied.html.erb +0 -0
  1175. data/fixtures/traversal-app/source/root.html.erb +0 -0
  1176. data/fixtures/traversal-app/source/sub/index.html.erb +0 -0
  1177. data/fixtures/traversal-app/source/sub/sibling.html.erb +0 -0
  1178. data/fixtures/traversal-app/source/sub/sibling2.html.erb +0 -0
  1179. data/fixtures/traversal-app/source/sub/sub2/index.html.erb +0 -0
  1180. data/fixtures/traversal-app/source/sub/sub3/deep.html.erb +0 -0
  1181. data/fixtures/v4-extension-callbacks/config.rb +0 -42
  1182. data/fixtures/v4-extension-callbacks/source/index.html.erb +0 -2
  1183. data/fixtures/wildcard-app/config.rb +0 -1
  1184. data/fixtures/wildcard-app/source/admin/index.html.erb +0 -1
  1185. data/fixtures/wildcard-app/source/admin/page.html.erb +0 -1
  1186. data/fixtures/wildcard-app/source/index.html.erb +0 -1
  1187. data/fixtures/wildcard-app/source/layouts/admin.erb +0 -2
  1188. data/fixtures/wildcard-app/source/layouts/layout.erb +0 -2
  1189. data/fixtures/wildcard-directory-index-app/config.rb +0 -2
  1190. data/fixtures/wildcard-directory-index-app/source/admin/index.html.erb +0 -1
  1191. data/fixtures/wildcard-directory-index-app/source/admin/page.html.erb +0 -1
  1192. data/fixtures/wildcard-directory-index-app/source/index.html.erb +0 -1
  1193. data/fixtures/wildcard-directory-index-app/source/layouts/admin.erb +0 -2
  1194. data/fixtures/wildcard-directory-index-app/source/layouts/layout.erb +0 -2
  1195. data/lib/middleman-core/core_extensions/inline_url_rewriter.rb +0 -140
  1196. data/spec/middleman-core/binary_spec/middleman +0 -0
  1197. data/spec/middleman-core/binary_spec/middleman.png +0 -0
  1198. data/spec/middleman-core/binary_spec/plain.txt +0 -1
  1199. data/spec/middleman-core/binary_spec/stars.svgz +0 -0
  1200. data/spec/middleman-core/binary_spec/unicode +0 -1
  1201. data/spec/middleman-core/binary_spec/unicode.txt +0 -1
  1202. data/spec/middleman-core/callbacks_spec.rb +0 -132
  1203. data/spec/middleman-core/core_extensions/data_spec.rb +0 -147
  1204. data/spec/middleman-core/dns_resolver_spec.rb +0 -102
  1205. data/spec/middleman-core/preview_server/server_hostname_spec.rb +0 -39
  1206. data/spec/middleman-core/preview_server/server_ip_address_spec.rb +0 -43
  1207. data/spec/middleman-core/util_spec.rb +0 -230
  1208. data/spec/spec_helper.rb +0 -31
  1209. data/spec/support/given.rb +0 -42
  1210. /data/{fixtures/asset-host-app/source/images/blank0.gif → .gemtest} +0 -0
@@ -6,15 +6,13 @@ class Middleman::Extensions::ExternalPipeline < ::Middleman::Extension
6
6
  option :source, nil, 'Path to merge into sitemap', required: true
7
7
  option :latency, 0.25, 'Latency between refreshes of source'
8
8
  option :disable_background_execution, false, "Don't run the command in a separate background thread"
9
- option :ignore_exit_code, false, 'Ignore exit code for restart or stop of a command'
10
9
 
11
- def initialize(app, config={}, &block)
10
+ def initialize(app, options_hash = ::Middleman::EMPTY_HASH, &block)
12
11
  super
13
12
 
14
13
  return if app.mode?(:config)
15
14
 
16
15
  require 'servolux'
17
- require 'thread'
18
16
  require 'fileutils'
19
17
 
20
18
  source_path = File.expand_path(options[:source], app.root)
@@ -42,12 +40,12 @@ class Middleman::Extensions::ExternalPipeline < ::Middleman::Extension
42
40
  end
43
41
 
44
42
  def reload!
45
- if @current_thread
46
- logger.info "== Stopping: `#{options[:command]}`"
43
+ return unless @current_thread
47
44
 
48
- @current_thread.stop
49
- @current_thread = nil
50
- end
45
+ logger.info "== Stopping: `#{options[:command]}`"
46
+
47
+ @current_thread.stop
48
+ @current_thread = nil
51
49
  end
52
50
 
53
51
  def watch_command!(async)
@@ -59,14 +57,17 @@ class Middleman::Extensions::ExternalPipeline < ::Middleman::Extension
59
57
  @current_thread.start
60
58
 
61
59
  watch_thread = Thread.new do
62
- while buf = @current_thread.io.gets
60
+ buf = @current_thread.io.gets
61
+
62
+ while buf
63
63
  without_newline = buf.sub(/\n$/, '')
64
64
  logger.info "== External: #{without_newline}" unless without_newline.empty?
65
+ buf = @current_thread.io.gets
65
66
  end
66
67
 
67
68
  @current_thread.wait
68
69
 
69
- if !options[:ignore_exit_code] && !@current_thread.exitstatus.nil? && @current_thread.exitstatus != 0
70
+ if !@current_thread.exitstatus.nil? && @current_thread.exitstatus != 0
70
71
  logger.error '== External: Command failed with non-zero exit status'
71
72
  exit(1)
72
73
  end
@@ -81,9 +82,12 @@ class Middleman::Extensions::ExternalPipeline < ::Middleman::Extension
81
82
  private
82
83
 
83
84
  def print_command(stdout)
84
- while buf = stdout.gets
85
+ buf = stdout.gets
86
+
87
+ while buf
85
88
  without_newline = buf.sub(/\n$/, '')
86
89
  logger.info "== External: #{without_newline}" unless without_newline.empty?
90
+ buf = stdout.gets
87
91
  end
88
92
  end
89
93
  end
@@ -1,16 +1,16 @@
1
1
  # This extension Gzips assets and pages when building.
2
2
  # Gzipped assets and pages can be served directly by Apache or
3
3
  # Nginx with the proper configuration, and pre-zipping means that we
4
- # can use a more agressive compression level at no CPU cost per request.
4
+ # can use a more aggressive compression level at no CPU cost per request.
5
5
  #
6
6
  # Use Nginx's gzip_static directive, or AddEncoding and mod_rewrite in Apache
7
7
  # to serve your Gzipped files whenever the normal (non-.gz) filename is requested.
8
8
  #
9
9
  # Pass the :exts options to customize which file extensions get zipped (defaults
10
- # to .css, .htm, .html, .js, and .xhtml
10
+ # to .css, .htm, .html, .js, .mjs, and .xhtml
11
11
  #
12
12
  class Middleman::Extensions::Gzip < ::Middleman::Extension
13
- option :exts, %w(.css .htm .html .js .svg .xhtml), 'File extensions to Gzip when building.'
13
+ option :exts, %w[.css .htm .html .js .mjs .svg .xhtml], 'File extensions to Gzip when building.'
14
14
  option :ignore, [], 'Patterns to avoid gzipping'
15
15
  option :overwrite, false, 'Overwrite original files instead of adding .gz extension.'
16
16
 
@@ -18,13 +18,15 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension
18
18
  include ::Padrino::Helpers::NumberHelpers
19
19
  end
20
20
 
21
- def initialize(app, options_hash={})
21
+ def initialize(app, options_hash = ::Middleman::EMPTY_HASH)
22
22
  super
23
23
 
24
24
  require 'zlib'
25
25
  require 'stringio'
26
26
  require 'find'
27
- require 'thread'
27
+ require 'set'
28
+
29
+ @set_of_exts = Set.new options.exts
28
30
  end
29
31
 
30
32
  def after_build(builder)
@@ -43,8 +45,11 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension
43
45
  out_queue = Queue.new
44
46
  num_threads.times.each do
45
47
  Thread.new do
46
- while path = in_queue.pop
48
+ path = in_queue.pop
49
+
50
+ while path
47
51
  out_queue << gzip_file(path.to_s)
52
+ path = in_queue.pop
48
53
  end
49
54
  end
50
55
  end
@@ -63,7 +68,7 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension
63
68
  next unless output_filename
64
69
 
65
70
  total_savings += (old_size - new_size)
66
- size_change_word = (old_size - new_size) > 0 ? 'smaller' : 'larger'
71
+ size_change_word = (old_size - new_size).positive? ? 'smaller' : 'larger'
67
72
  builder.trigger :created, "#{output_filename} (#{NumberHelpers.new.number_to_human_size((old_size - new_size).abs)} #{size_change_word})"
68
73
  end
69
74
 
@@ -78,9 +83,7 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension
78
83
  input_file_time = File.mtime(path)
79
84
 
80
85
  # Check if the right file's already there
81
- if !options.overwrite && File.exist?(output_filename) && File.mtime(output_filename) == input_file_time
82
- return [nil, nil, nil]
83
- end
86
+ return [nil, nil, nil] if !options.overwrite && File.exist?(output_filename) && File.mtime(output_filename) == input_file_time
84
87
 
85
88
  File.open(output_filename, 'wb') do |f|
86
89
  gz = Zlib::GzipWriter.new(f, Zlib::BEST_COMPRESSION)
@@ -108,7 +111,9 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension
108
111
  # @return [Boolean]
109
112
  Contract Pathname => Bool
110
113
  def should_gzip?(path)
114
+ return false unless @set_of_exts.include?(path.extname)
115
+
111
116
  path = path.sub app.config[:build_dir] + '/', ''
112
- options.exts.include?(path.extname) && options.ignore.none? { |ignore| Middleman::Util.path_match(ignore, path.to_s) }
117
+ options.ignore.none? { |ignore| Middleman::Util.path_match(ignore, path.to_s) }
113
118
  end
114
119
  end
@@ -11,7 +11,8 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
11
11
  # @param [String] size
12
12
  # @param [Hash] options
13
13
  # @return [String]
14
- def placekitten(size, options={})
14
+ def placekitten(size, options_hash = ::Middleman::EMPTY_HASH)
15
+ options = options_hash.dup
15
16
  options[:domain] = 'http://placekitten.com'
16
17
  lorem.image(size, options)
17
18
  end
@@ -44,7 +45,7 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
44
45
  module LoremObject
45
46
  class << self
46
47
  # Words for use in lorem text
47
- WORDS = %w(alias consequatur aut perferendis sit voluptatem accusantium doloremque aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo aspernatur aut odit aut fugit sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt neque dolorem ipsum quia dolor sit amet consectetur adipisci velit sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem ut enim ad minima veniam quis nostrum exercitationem ullam corporis nemo enim ipsam voluptatem quia voluptas sit suscipit laboriosam nisi ut aliquid ex ea commodi consequatur quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae et iusto odio dignissimos ducimus qui blanditiis praesentium laudantium totam rem voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident sed ut perspiciatis unde omnis iste natus error similique sunt in culpa qui officia deserunt mollitia animi id est laborum et dolorum fuga et harum quidem rerum facilis est et expedita distinctio nam libero tempore cum soluta nobis est eligendi optio cumque nihil impedit quo porro quisquam est qui minus id quod maxime placeat facere possimus omnis voluptas assumenda est omnis dolor repellendus temporibus autem quibusdam et aut consequatur vel illum qui dolorem eum fugiat quo voluptas nulla pariatur at vero eos et accusamus officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae itaque earum rerum hic tenetur a sapiente delectus ut aut reiciendis voluptatibus maiores doloribus asperiores repellat).freeze
48
+ WORDS = %w[alias consequatur aut perferendis sit voluptatem accusantium doloremque aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo aspernatur aut odit aut fugit sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt neque dolorem ipsum quia dolor sit amet consectetur adipisci velit sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem ut enim ad minima veniam quis nostrum exercitationem ullam corporis nemo enim ipsam voluptatem quia voluptas sit suscipit laboriosam nisi ut aliquid ex ea commodi consequatur quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae et iusto odio dignissimos ducimus qui blanditiis praesentium laudantium totam rem voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident sed ut perspiciatis unde omnis iste natus error similique sunt in culpa qui officia deserunt mollitia animi id est laborum et dolorum fuga et harum quidem rerum facilis est et expedita distinctio nam libero tempore cum soluta nobis est eligendi optio cumque nihil impedit quo porro quisquam est qui minus id quod maxime placeat facere possimus omnis voluptas assumenda est omnis dolor repellendus temporibus autem quibusdam et aut consequatur vel illum qui dolorem eum fugiat quo voluptas nulla pariatur at vero eos et accusamus officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae itaque earum rerum hic tenetur a sapiente delectus ut aut reiciendis voluptatibus maiores doloribus asperiores repellat].freeze
48
49
 
49
50
  # Get one placeholder word
50
51
  # @return [String]
@@ -94,10 +95,10 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
94
95
  # Get a placeholder date
95
96
  # @param [String] fmt
96
97
  # @return [String]
97
- def date(fmt='%a %b %d, %Y')
98
- y = rand(20) + 1990
99
- m = rand(12) + 1
100
- d = rand(31) + 1
98
+ def date(fmt = '%a %b %d, %Y')
99
+ y = rand(1990..2009)
100
+ m = rand(1..12)
101
+ d = rand(1..31)
101
102
  Time.local(y, m, d).strftime(fmt)
102
103
  end
103
104
 
@@ -135,7 +136,7 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
135
136
  # @return [String]
136
137
  def email
137
138
  delimiters = ['_', '-', '']
138
- domains = %w(gmail.com yahoo.com hotmail.com email.com live.com me.com mac.com aol.com fastmail.com mail.com)
139
+ domains = %w[gmail.com yahoo.com hotmail.com email.com live.com me.com mac.com aol.com fastmail.com mail.com]
139
140
  username = name.gsub(/[^\w]/, delimiters[rand(delimiters.size)])
140
141
  "#{username}@#{domains[rand(domains.size)]}".downcase
141
142
  end
@@ -144,14 +145,14 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
144
145
  # @param [String] size
145
146
  # @param [Hash] options
146
147
  # @return [String]
147
- def image(size, options={})
148
- domain = options[:domain] || 'http://placehold.it'
148
+ def image(size, options_hash = ::Middleman::EMPTY_HASH)
149
+ domain = options_hash[:domain] || 'http://placehold.it'
149
150
  src = "#{domain}/#{size}"
150
- hex = %w(a b c d e f 0 1 2 3 4 5 6 7 8 9)
151
- background_color = options[:background_color]
152
- color = options[:color]
151
+ hex = %w[a b c d e f 0 1 2 3 4 5 6 7 8 9]
152
+ background_color = options_hash[:background_color]
153
+ color = options_hash[:color]
153
154
 
154
- if options[:random_color]
155
+ if options_hash[:random_color]
155
156
  background_color = hex.sample(6).join
156
157
  color = hex.sample(6).join
157
158
  end
@@ -159,7 +160,7 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
159
160
  src << "/#{background_color.sub(/^#/, '')}" if background_color
160
161
  src << '/ccc' if background_color.nil? && color
161
162
  src << "/#{color.sub(/^#/, '')}" if color
162
- src << "&text=#{Rack::Utils.escape(options[:text])}" if options[:text]
163
+ src << "&text=#{Rack::Utils.escape(options_hash[:text])}" if options_hash[:text]
163
164
 
164
165
  src
165
166
  end
@@ -1,6 +1,6 @@
1
- require 'active_support/core_ext/object/try'
2
1
  require 'memoist'
3
2
  require 'middleman-core/contracts'
3
+ require 'rack/mime'
4
4
  require 'sassc'
5
5
 
6
6
  # Minify CSS Extension
@@ -10,119 +10,81 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
10
10
  option :compressor, proc {
11
11
  SassCompressor
12
12
  }, 'Set the CSS compressor to use.'
13
- option :content_types, %w(text/css), 'Content types of resources that contain CSS'
14
- option :inline_content_types, %w(text/html text/php), 'Content types of resources that contain inline CSS'
13
+ option :content_types, %w[text/css], 'Content types of resources that contain CSS'
14
+ option :inline_content_types, %w[text/html text/php], 'Content types of resources that contain inline CSS'
15
15
 
16
- def ready
17
- # Setup Rack middleware to minify CSS
18
- app.use Rack, compressor: options[:compressor],
19
- ignore: Array(options[:ignore]) + [/\.min\./],
20
- inline: options[:inline],
21
- content_types: options[:content_types],
22
- inline_content_types: options[:inline_content_types]
23
- end
16
+ INLINE_CSS_REGEX = /(<style[^>]*>\s*(?:\/\*<!\[CDATA\[\*\/\n)?)(.*?)((?:(?:\n\s*)?\/\*\]\]>\*\/)?\s*<\/style>)/m.freeze
24
17
 
25
18
  class SassCompressor
26
19
  COMPRESSED_OPTIONS = { style: :compressed }.freeze
27
20
 
28
- def self.compress(style, options={})
29
- options = options.merge(COMPRESSED_OPTIONS)
21
+ def self.compress(style, options_hash = ::Middleman::EMPTY_HASH)
22
+ options = if options_hash == ::Middleman::EMPTY_HASH
23
+ COMPRESSED_OPTIONS
24
+ else
25
+ options_hash.merge(COMPRESSED_OPTIONS)
26
+ end
30
27
 
31
28
  ::SassC::Engine.new(style, options).render.strip
32
29
  end
33
30
  end
34
31
 
35
- # Rack middleware to look for CSS and compress it
36
- class Rack
37
- extend Memoist
38
- include Contracts
39
- INLINE_CSS_REGEX = /(<style[^>]*>\s*(?:\/\*<!\[CDATA\[\*\/\n)?)(.*?)((?:(?:\n\s*)?\/\*\]\]>\*\/)?\s*<\/style>)/m
40
-
41
- # Init
42
- # @param [Class] app
43
- # @param [Hash] options
44
- Contract RespondTo[:call], {
45
- ignore: ArrayOf[PATH_MATCHER],
46
- inline: Bool,
47
- compressor: Or[Proc, RespondTo[:to_proc], RespondTo[:compress]]
48
- } => Any
49
- def initialize(app, options={})
50
- @app = app
51
- @ignore = options.fetch(:ignore)
52
- @inline = options.fetch(:inline)
53
-
54
- @compressor = options.fetch(:compressor)
55
- @compressor = @compressor.to_proc if @compressor.respond_to? :to_proc
56
- @compressor = @compressor.call if @compressor.is_a? Proc
57
- @content_types = options[:content_types]
58
- @inline_content_types = options[:inline_content_types]
59
- end
60
-
61
- # Rack interface
62
- # @param [Rack::Environmemt] env
63
- # @return [Array]
64
- def call(env)
65
- status, headers, response = @app.call(env)
66
-
67
- content_type = headers['Content-Type'].try(:slice, /^[^;]*/)
68
- path = env['PATH_INFO']
32
+ def initialize(app, options_hash = ::Middleman::EMPTY_HASH, &block)
33
+ super
69
34
 
70
- minified = if @inline && minifiable_inline?(content_type)
71
- minify_inline(::Middleman::Util.extract_response_text(response))
72
- elsif minifiable?(content_type) && !ignore?(path)
73
- minify(::Middleman::Util.extract_response_text(response))
74
- end
35
+ @ignore = Array(options.ignore) + [/\.min\./]
36
+ @compressor = options.compressor
37
+ @compressor = @compressor.to_proc if @compressor.respond_to? :to_proc
38
+ @compressor = @compressor.call if @compressor.is_a? Proc
39
+ end
75
40
 
76
- if minified
77
- headers['Content-Length'] = minified.bytesize.to_s
78
- response = [minified]
41
+ Contract IsA['Middleman::Sitemap::ResourceListContainer'] => Any
42
+ def manipulate_resource_list_container!(resource_list)
43
+ resource_list.by_binary(false).each do |r|
44
+ type = r.content_type.try(:slice, /^[^;]*/)
45
+ if options[:inline] && minifiable_inline?(type)
46
+ r.add_filter method(:minify_inline)
47
+ elsif minifiable?(type) && !ignore?(r.destination_path)
48
+ r.add_filter method(:minify)
79
49
  end
80
-
81
- [status, headers, response]
82
50
  end
51
+ end
83
52
 
84
- private
85
-
86
- # Whether the path should be ignored
87
- # @param [String] path
88
- # @return [Boolean]
89
- def ignore?(path)
90
- @ignore.any? { |ignore| ::Middleman::Util.path_match(ignore, path) }
91
- end
92
- memoize :ignore?
93
-
94
- # Whether this type of content can be minified
95
- # @param [String, nil] content_type
96
- # @return [Boolean]
97
- def minifiable?(content_type)
98
- @content_types.include?(content_type)
99
- end
100
- memoize :minifiable?
53
+ # Whether the path should be ignored
54
+ Contract String => Bool
55
+ def ignore?(path)
56
+ @ignore.any? { |ignore| ::Middleman::Util.path_match(ignore, path) }
57
+ end
58
+ memoize :ignore?
101
59
 
102
- # Whether this type of content contains inline content that can be minified
103
- # @param [String, nil] content_type
104
- # @return [Boolean]
105
- def minifiable_inline?(content_type)
106
- @inline_content_types.include?(content_type)
107
- end
108
- memoize :minifiable_inline?
60
+ # Whether this type of content can be minified
61
+ Contract Maybe[String] => Bool
62
+ def minifiable?(content_type)
63
+ options[:content_types].include?(content_type)
64
+ end
65
+ memoize :minifiable?
109
66
 
110
- # Minify the content
111
- # @param [String] content
112
- # @return [String]
113
- def minify(content)
114
- @compressor.compress(content)
115
- end
116
- memoize :minify
67
+ # Whether this type of content contains inline content that can be minified
68
+ Contract Maybe[String] => Bool
69
+ def minifiable_inline?(content_type)
70
+ options[:inline_content_types].include?(content_type)
71
+ end
72
+ memoize :minifiable_inline?
117
73
 
118
- # Detect and minify inline content
119
- # @param [String] content
120
- # @return [String]
121
- def minify_inline(content)
122
- content.gsub(INLINE_CSS_REGEX) do
123
- $1 + minify($2) + $3
124
- end
74
+ # Minify the content
75
+ Contract String => String
76
+ def minify(content)
77
+ @compressor.compress(content)
78
+ end
79
+ memoize :minify
80
+
81
+ # Detect and minify inline content
82
+ # @param [String] content
83
+ # @return [String]
84
+ def minify_inline(content)
85
+ content.gsub(INLINE_CSS_REGEX) do
86
+ Regexp.last_match(1) + minify(Regexp.last_match(2)) + Regexp.last_match(3)
125
87
  end
126
- memoize :minify_inline
127
88
  end
89
+ memoize :minify_inline
128
90
  end
@@ -1,131 +1,87 @@
1
- require 'active_support/core_ext/object/try'
2
1
  require 'middleman-core/contracts'
3
2
  require 'memoist'
4
3
 
5
- # Minify Javascript Extension
6
- class Middleman::Extensions::MinifyJavascript < ::Middleman::Extension
4
+ # Minify JavaScript Extension
5
+ class Middleman::Extensions::MinifyJavaScript < ::Middleman::Extension
7
6
  option :inline, false, 'Whether to minify JS inline within HTML files'
8
7
  option :ignore, [], 'Patterns to avoid minifying'
9
8
  option :compressor, proc {
10
9
  require 'uglifier'
11
10
  ::Uglifier.new
12
11
  }, 'Set the JS compressor to use.'
13
- option :content_types, %w(text/javascript), 'Content types of resources that contain JS'
14
- option :inline_content_types, %w(text/html text/php), 'Content types of resources that contain inline JS'
12
+ option :content_types, %w[application/javascript], 'Content types of resources that contain JS'
13
+ option :inline_content_types, %w[text/html text/php], 'Content types of resources that contain inline JS'
15
14
 
16
- def ready
17
- # Setup Rack middleware to minify JS
18
- app.use Rack, compressor: options[:compressor],
19
- ignore: Array(options[:ignore]) + [/\.min\./],
20
- inline: options[:inline],
21
- content_types: options[:content_types],
22
- inline_content_types: options[:inline_content_types]
23
- end
24
-
25
- # Rack middleware to look for JS and compress it
26
- class Rack
27
- extend Memoist
28
- include Contracts
29
- INLINE_JS_REGEX = /(<script[^>]*>\s*(?:\/\/(?:(?:<!--)|(?:<!\[CDATA\[))\n)?)(.*?)((?:(?:\n\s*)?\/\/(?:(?:-->)|(?:\]\]>)))?\s*<\/script>)/m
30
-
31
- # Init
32
- # @param [Class] app
33
- # @param [Hash] options
34
- Contract RespondTo[:call], {
35
- ignore: ArrayOf[PATH_MATCHER],
36
- inline: Bool,
37
- compressor: Or[Proc, RespondTo[:to_proc], RespondTo[:compress]]
38
- } => Any
39
- def initialize(app, options={})
40
- @app = app
41
- @ignore = options.fetch(:ignore)
42
- @inline = options.fetch(:inline)
43
-
44
- @compressor = options.fetch(:compressor)
45
- @compressor = @compressor.to_proc if @compressor.respond_to? :to_proc
46
- @compressor = @compressor.call if @compressor.is_a? Proc
47
- @content_types = options[:content_types]
48
- @inline_content_types = options[:inline_content_types]
49
- end
50
-
51
- # Rack interface
52
- # @param [Rack::Environmemt] env
53
- # @return [Array]
54
- def call(env)
55
- status, headers, response = @app.call(env)
15
+ INLINE_JS_REGEX = /(<script[^>]*>\s*(?:\/\/(?:(?:<!--)|(?:<!\[CDATA\[))\n)?)(.*?)((?:(?:\n\s*)?\/\/(?:(?:-->)|(?:\]\]>)))?\s*<\/script>)/m.freeze
56
16
 
57
- type = headers['Content-Type'].try(:slice, /^[^;]*/)
58
- @path = env['PATH_INFO']
17
+ def initialize(app, options_hash = ::Middleman::EMPTY_HASH, &block)
18
+ super
59
19
 
60
- minified = if @inline && minifiable_inline?(type)
61
- minify_inline(::Middleman::Util.extract_response_text(response))
62
- elsif minifiable?(type) && !ignore?(@path)
63
- minify(::Middleman::Util.extract_response_text(response))
64
- end
20
+ @ignore = Array(options[:ignore]) + [/\.min\./]
21
+ @compressor = options[:compressor]
22
+ @compressor = @compressor.to_proc if @compressor.respond_to? :to_proc
23
+ @compressor = @compressor.call if @compressor.is_a? Proc
24
+ end
65
25
 
66
- if minified
67
- headers['Content-Length'] = minified.bytesize.to_s
68
- response = [minified]
26
+ Contract IsA['Middleman::Sitemap::ResourceListContainer'] => Any
27
+ def manipulate_resource_list_container!(resource_list)
28
+ resource_list.by_binary(false).each do |r|
29
+ type = r.content_type.try(:slice, /^[^;]*/)
30
+ if options[:inline] && minifiable_inline?(type)
31
+ r.add_filter method(:minify_inline)
32
+ elsif minifiable?(type) && !ignore?(r.destination_path)
33
+ r.add_filter method(:minify)
69
34
  end
70
-
71
- [status, headers, response]
72
- end
73
-
74
- private
75
-
76
- # Whether the path should be ignored
77
- # @param [String] path
78
- # @return [Boolean]
79
- def ignore?(path)
80
- @ignore.any? { |ignore| Middleman::Util.path_match(ignore, path) }
81
- end
82
- memoize :ignore?
83
-
84
- # Whether this type of content can be minified
85
- # @param [String, nil] content_type
86
- # @return [Boolean]
87
- def minifiable?(content_type)
88
- @content_types.include?(content_type)
89
35
  end
90
- memoize :minifiable?
91
-
92
- # Whether this type of content contains inline content that can be minified
93
- # @param [String, nil] content_type
94
- # @return [Boolean]
95
- def minifiable_inline?(content_type)
96
- @inline_content_types.include?(content_type)
97
- end
98
- memoize :minifiable_inline?
36
+ end
99
37
 
100
- # Minify the content
101
- # @param [String] content
102
- # @return [String]
103
- def minify(content)
104
- @compressor.compress(content)
105
- rescue ExecJS::ProgramError => e
106
- warn "WARNING: Couldn't compress JavaScript in #{@path}: #{e.message}"
107
- content
108
- end
109
- memoize :minify
38
+ # Whether the path should be ignored
39
+ Contract String => Bool
40
+ def ignore?(path)
41
+ @ignore.any? { |ignore| ::Middleman::Util.path_match(ignore, path) }
42
+ end
43
+ memoize :ignore?
110
44
 
111
- # Detect and minify inline content
112
- # @param [String] content
113
- # @return [String]
114
- def minify_inline(content)
115
- content.gsub(INLINE_JS_REGEX) do |match|
116
- first = $1
117
- inline_content = $2
118
- last = $3
45
+ # Whether this type of content can be minified
46
+ Contract Maybe[String] => Bool
47
+ def minifiable?(content_type)
48
+ options[:content_types].include?(content_type)
49
+ end
50
+ memoize :minifiable?
119
51
 
120
- # Only compress script tags that contain JavaScript (as opposed to
121
- # something like jQuery templates, identified with a "text/html" type).
122
- if !first.include?('type=') || first.include?('text/javascript')
123
- first + minify(inline_content) + last
124
- else
125
- match
126
- end
52
+ # Whether this type of content contains inline content that can be minified
53
+ Contract Maybe[String] => Bool
54
+ def minifiable_inline?(content_type)
55
+ options[:inline_content_types].include?(content_type)
56
+ end
57
+ memoize :minifiable_inline?
58
+
59
+ # Minify the content
60
+ Contract String => String
61
+ def minify(content)
62
+ @compressor.compress(content)
63
+ rescue ::ExecJS::ProgramError => e
64
+ warn "WARNING: Couldn't compress JavaScript in #{@path}: #{e.message}"
65
+ content
66
+ end
67
+ memoize :minify
68
+
69
+ # Detect and minify inline content
70
+ Contract String => String
71
+ def minify_inline(content)
72
+ content.gsub(INLINE_JS_REGEX) do |match|
73
+ first = Regexp.last_match(1)
74
+ inline_content = Regexp.last_match(2)
75
+ last = Regexp.last_match(3)
76
+
77
+ # Only compress script tags that contain JavaScript (as opposed to
78
+ # something like jQuery templates, identified with a "text/html" type).
79
+ if !first.include?('type=') || first.include?('text/javascript')
80
+ first + minify(inline_content) + last
81
+ else
82
+ match
127
83
  end
128
84
  end
129
- memoize :minify_inline
130
85
  end
86
+ memoize :minify_inline
131
87
  end