middleman-core 3.3.12 → 4.4.2

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 (1180) hide show
  1. checksums.yaml +5 -5
  2. data/.gemtest +0 -0
  3. data/.rspec +1 -0
  4. data/.yardopts +2 -6
  5. data/Rakefile +1 -5
  6. data/cucumber.yml +2 -0
  7. data/features/asset_hash.feature +233 -73
  8. data/features/asset_host.feature +30 -31
  9. data/features/automatic_image_sizes.feature +18 -5
  10. data/features/builder.feature +17 -5
  11. data/features/cache_buster.feature +16 -2
  12. data/features/chained_templates.feature +8 -5
  13. data/features/clean_build.feature +34 -0
  14. data/features/collections.feature +265 -0
  15. data/features/console.feature +3 -2
  16. data/features/content_type.feature +2 -2
  17. data/features/custom_layouts.feature +39 -19
  18. data/features/data.feature +58 -0
  19. data/features/default-layout.feature +90 -0
  20. data/features/default_alt_tag.feature +11 -0
  21. data/features/directory_index.feature +7 -6
  22. data/features/dynamic_pages.feature +15 -12
  23. data/features/encoding_option.feature +28 -0
  24. data/features/extension_api_deprecations.feature +10 -0
  25. data/features/extension_hooks.feature +13 -0
  26. data/features/front-matter-neighbor.feature +39 -52
  27. data/features/front-matter.feature +17 -34
  28. data/features/gzip.feature +1 -1
  29. data/features/helpers_content_tag.feature +2 -2
  30. data/features/helpers_form_tag.feature +4 -4
  31. data/features/helpers_link_to.feature +22 -12
  32. data/features/helpers_url_for.feature +11 -11
  33. data/features/i18n_builder.feature +5 -5
  34. data/features/i18n_link_to.feature +213 -0
  35. data/features/i18n_mixed_sources.feature +39 -0
  36. data/features/i18n_preview.feature +238 -238
  37. data/features/ignore.feature +100 -15
  38. data/features/import_files.feature +15 -0
  39. data/features/liquid.feature +5 -2
  40. data/features/markdown_kramdown.feature +18 -1
  41. data/features/markdown_kramdown_in_slim.feature +42 -0
  42. data/features/markdown_redcarpet.feature +23 -24
  43. data/features/markdown_redcarpet_in_haml.feature +0 -1
  44. data/features/markdown_redcarpet_in_slim.feature +41 -0
  45. data/features/minify_css.feature +34 -18
  46. data/features/minify_javascript.feature +18 -24
  47. data/features/mount_rack.feature +2 -4
  48. data/features/move_files.feature +44 -0
  49. data/features/multiple-sources.feature +35 -0
  50. data/features/nested_layouts.feature +20 -17
  51. data/features/page-id.feature +74 -0
  52. data/features/paginate.feature +204 -0
  53. data/features/partials.feature +15 -8
  54. data/features/proxy_pages.feature +0 -10
  55. data/features/redirects.feature +7 -6
  56. data/features/relative_assets.feature +59 -58
  57. data/features/relative_assets_helpers_only.feature +125 -0
  58. data/features/sass_in_slim.feature +40 -0
  59. data/features/scss-support.feature +6 -1
  60. data/features/slim.feature +11 -7
  61. data/features/support/env.rb +2 -1
  62. data/features/template-key-collision.feature +26 -0
  63. data/features/unicode_filenames.feature +3 -3
  64. data/fixtures/asset-hash-app/config.rb +0 -2
  65. data/fixtures/asset-hash-app/source/apple-touch-icon.png +0 -0
  66. data/fixtures/asset-hash-app/source/favicon.ico +0 -0
  67. data/fixtures/asset-hash-app/source/fonts/fontawesome-webfont.woff +0 -0
  68. data/fixtures/asset-hash-app/source/fonts/fontawesome-webfont.woff2 +0 -0
  69. data/fixtures/asset-hash-app/source/images/100px.gif +0 -0
  70. data/fixtures/asset-hash-app/source/images/100px.jpg +0 -0
  71. data/fixtures/asset-hash-app/source/images/100px.png +0 -0
  72. data/fixtures/asset-hash-app/source/images/200px.jpg +0 -0
  73. data/fixtures/asset-hash-app/source/images/300px.jpg +0 -0
  74. data/fixtures/asset-hash-app/source/index.html.erb +3 -0
  75. data/fixtures/asset-hash-app/source/layout.erb +3 -3
  76. data/fixtures/asset-hash-app/source/other.html.erb +3 -0
  77. data/fixtures/asset-hash-app/source/stylesheets/fragment.css.scss +7 -0
  78. data/fixtures/asset-hash-app/source/stylesheets/site.css.scss +2 -2
  79. data/fixtures/asset-hash-app/source/stylesheets/uses_fonts.css +4 -0
  80. data/fixtures/asset-hash-app/source/subdir/index.html.erb +10 -1
  81. data/fixtures/asset-hash-host-app/source/images/100px.gif +0 -0
  82. data/fixtures/asset-hash-host-app/source/images/100px.jpg +0 -0
  83. data/fixtures/asset-hash-host-app/source/images/100px.png +0 -0
  84. data/fixtures/asset-hash-host-app/source/index.html.erb +4 -1
  85. data/fixtures/asset-hash-host-app/source/layout.erb +3 -3
  86. data/fixtures/asset-hash-host-app/source/other.html.erb +3 -0
  87. data/fixtures/asset-hash-host-app/source/stylesheets/fragment.css.scss +3 -0
  88. data/fixtures/asset-hash-minified-app/config.rb +5 -0
  89. data/fixtures/asset-hash-minified-app/source/images/100px.jpg +0 -0
  90. data/fixtures/asset-hash-minified-app/source/javascripts/jquery.min.js +5 -0
  91. data/fixtures/asset-hash-minified-app/source/stylesheets/test.css +3 -0
  92. data/fixtures/asset-hash-prefix/config.rb +7 -0
  93. data/fixtures/asset-hash-prefix/lib/middleware.rb +16 -0
  94. data/fixtures/asset-hash-prefix/source/index.html.erb +6 -0
  95. data/fixtures/asset-hash-prefix/source/javascripts/application.js +2 -0
  96. data/fixtures/asset-hash-prefix/source/javascripts/application.js.map +1 -0
  97. data/fixtures/asset-hash-prefix/source/layout.erb +17 -0
  98. data/fixtures/asset-hash-remove-filename/config.rb +9 -0
  99. data/fixtures/asset-hash-remove-filename/source/index.html.erb +6 -0
  100. data/fixtures/asset-hash-remove-filename/source/javascripts/application.js +2 -0
  101. data/fixtures/asset-hash-remove-filename/source/javascripts/application.js.map +1 -0
  102. data/fixtures/asset-hash-remove-filename/source/layout.erb +17 -0
  103. data/fixtures/asset-hash-source-map/config.rb +6 -0
  104. data/fixtures/asset-hash-source-map/lib/middleware.rb +16 -0
  105. data/fixtures/asset-hash-source-map/source/index.html.erb +6 -0
  106. data/fixtures/asset-hash-source-map/source/javascripts/application.js +2 -0
  107. data/fixtures/asset-hash-source-map/source/javascripts/application.js.map +1 -0
  108. data/fixtures/asset-hash-source-map/source/layout.erb +17 -0
  109. data/fixtures/asset-host-app/config.rb +1 -0
  110. data/fixtures/asset-host-app/source/.htaccess +0 -0
  111. data/fixtures/asset-host-app/source/asset_host.html.erb +55 -1
  112. data/fixtures/{asciidoc-app/config.rb → asset-host-app/source/images/blank0.gif} +0 -0
  113. data/fixtures/{compass-sprites-app/config.rb → asset-host-app/source/images/blank1.gif} +0 -0
  114. data/fixtures/{implied-extensions-app/config.rb → asset-host-app/source/images/blank10.gif} +0 -0
  115. data/fixtures/{more-implied-extensions-app/config.rb → asset-host-app/source/images/blank100.gif} +0 -0
  116. data/fixtures/{more-instance-vars-app/config.rb → asset-host-app/source/images/blank101.gif} +0 -0
  117. data/fixtures/{queryable-app/config.rb → asset-host-app/source/images/blank1010.gif} +0 -0
  118. data/fixtures/{request-app/config.rb → asset-host-app/source/images/blank102.gif} +0 -0
  119. data/fixtures/{twitter-bootstrap-app/config.rb → asset-host-app/source/images/blank1020.gif} +0 -0
  120. data/fixtures/asset-host-app/source/images/blank1023.gif +0 -0
  121. data/fixtures/asset-host-app/source/images/blank1024.gif +0 -0
  122. data/fixtures/asset-host-app/source/images/blank103.gif +0 -0
  123. data/fixtures/asset-host-app/source/images/blank1030.gif +0 -0
  124. data/fixtures/asset-host-app/source/images/blank1031.gif +0 -0
  125. data/fixtures/asset-host-app/source/images/blank1032.gif +0 -0
  126. data/fixtures/asset-host-app/source/images/blank1033.gif +0 -0
  127. data/fixtures/asset-host-app/source/images/blank1034.gif +0 -0
  128. data/fixtures/asset-host-app/source/images/blank104.gif +0 -0
  129. data/fixtures/asset-host-app/source/images/blank1043.gif +0 -0
  130. data/fixtures/asset-host-app/source/images/blank1054.gif +0 -0
  131. data/fixtures/asset-host-app/source/images/blank2.gif +0 -0
  132. data/fixtures/asset-host-app/source/images/blank20.gif +0 -0
  133. data/fixtures/asset-host-app/source/images/blank21.gif +0 -0
  134. data/fixtures/asset-host-app/source/images/blank22.gif +0 -0
  135. data/fixtures/asset-host-app/source/images/blank23.gif +0 -0
  136. data/fixtures/asset-host-app/source/images/blank24.gif +0 -0
  137. data/fixtures/asset-host-app/source/images/blank3.gif +0 -0
  138. data/fixtures/asset-host-app/source/images/blank30.gif +0 -0
  139. data/fixtures/asset-host-app/source/images/blank31.gif +0 -0
  140. data/fixtures/asset-host-app/source/images/blank32.gif +0 -0
  141. data/fixtures/asset-host-app/source/images/blank33.gif +0 -0
  142. data/fixtures/asset-host-app/source/images/blank34.gif +0 -0
  143. data/fixtures/asset-host-app/source/images/blank4.gif +0 -0
  144. data/fixtures/asset-host-app/source/images/blank43.gif +0 -0
  145. data/fixtures/asset-host-app/source/images/blank54.gif +0 -0
  146. data/fixtures/asset-host-app/source/javascripts/asset_host.js +2 -0
  147. data/fixtures/asset-host-app/source/stylesheets/asset_host.css.sass +47 -2
  148. data/fixtures/auto-css-app/config.rb +8 -10
  149. data/fixtures/auto-css-app/source/stylesheets/auto-css/index.css +0 -0
  150. data/fixtures/auto-js-app/config.rb +8 -10
  151. data/fixtures/auto-js-directory-index-app/config.rb +0 -0
  152. data/fixtures/automatic-alt-tags-app/config.rb +0 -0
  153. data/fixtures/automatic-directory-matcher-app/source/root-plain.html +0 -0
  154. data/fixtures/automatic-directory-matcher-app/source/root.html.erb +0 -0
  155. data/fixtures/automatic-directory-matcher-app/source/sub--sub--sub-plain.html +0 -0
  156. data/fixtures/automatic-directory-matcher-app/source/sub--sub--sub.html.erb +0 -0
  157. data/fixtures/automatic-directory-matcher-app/source/sub--sub-plain.html +0 -0
  158. data/fixtures/automatic-directory-matcher-app/source/sub--sub.html.erb +0 -0
  159. data/fixtures/automatic-image-size-app/config.rb +0 -0
  160. data/fixtures/automatic-image-size-app/source/markdown-sizes.html.markdown +1 -0
  161. data/fixtures/basic-data-app/config.rb +2 -4
  162. data/fixtures/basic-data-app/data/test3.toml +7 -0
  163. data/fixtures/basic-data-app/source/data4.html.erb +5 -0
  164. data/fixtures/build-with-errors-app/source/index.html.erb +0 -0
  165. data/fixtures/cache-buster-app/config.rb +0 -0
  166. data/fixtures/cache-buster-app/source/stylesheets/relative_assets.css.sass +0 -1
  167. data/fixtures/cache-buster-app/source/stylesheets/site.css.sass +3 -1
  168. data/fixtures/capture-html-app/config.rb +3 -5
  169. data/fixtures/chained-app/config.rb +0 -0
  170. data/fixtures/chained-app/source/test.erb.combobreaker.str.erb +8 -0
  171. data/fixtures/clean-app/config-complications.rb +4 -6
  172. data/fixtures/clean-app/config-empty.rb +0 -0
  173. data/fixtures/clean-app/config-hidden-dir-after.rb +5 -0
  174. data/fixtures/clean-app/config-hidden-dir-before.rb +1 -0
  175. data/fixtures/clean-app/config.rb +4 -6
  176. data/fixtures/clean-app/source/real.html +0 -0
  177. data/fixtures/clean-app/source/should_be_ignored.html +0 -0
  178. data/fixtures/clean-app/source/should_be_ignored2.html +0 -0
  179. data/fixtures/clean-app/source/should_be_ignored3.html +0 -0
  180. data/fixtures/clean-dir-app/source/about.html +0 -0
  181. data/fixtures/clean-nested-app/config.rb +0 -0
  182. data/fixtures/clean-nested-app/source/about.html +0 -0
  183. data/fixtures/clean-nested-app/source/nested/nested.html +0 -0
  184. data/fixtures/coffeescript-app/config.rb +0 -0
  185. data/fixtures/collections-app/source/blog1/2011-01-01-new-article.html.markdown +7 -0
  186. data/fixtures/collections-app/source/blog1/2011-01-02-another-article.html.markdown +9 -0
  187. data/fixtures/collections-app/source/blog2/2011-01-01-new-article.html.markdown +9 -0
  188. data/fixtures/collections-app/source/blog2/2011-01-02-another-article.html.markdown +8 -0
  189. data/fixtures/content-for-app/config.rb +3 -5
  190. data/fixtures/content-type-app/source/.htaccess +0 -0
  191. data/fixtures/content-type-app/source/README +0 -0
  192. data/fixtures/content-type-app/source/javascripts/app.js +0 -0
  193. data/fixtures/content-type-app/source/stylesheets/site.css +0 -0
  194. data/fixtures/csspie/config.rb +0 -0
  195. data/fixtures/custom-layout-app/config.rb +1 -1
  196. data/fixtures/custom-layout-app2/config.rb +0 -0
  197. data/fixtures/custom-src-app/src/index.html +0 -0
  198. data/fixtures/data-app/config.rb +1 -1
  199. data/fixtures/default-alt-tags-app/config.rb +0 -0
  200. data/fixtures/default-alt-tags-app/source/empty-alt-tag.html.erb +1 -0
  201. data/fixtures/default-alt-tags-app/source/meaningful-alt-tag.html.erb +1 -0
  202. data/fixtures/different-engine-layout/config.rb +0 -0
  203. data/fixtures/different-engine-partial/config.rb +0 -0
  204. data/fixtures/different-engine-partial/source/index.html.erb +0 -0
  205. data/fixtures/different-engine-partial/source/shared/_footer.str +0 -0
  206. data/fixtures/different-engine-partial/source/shared/_header.erb +0 -0
  207. data/fixtures/dynamic-pages-app/config.rb +22 -40
  208. data/fixtures/dynamic-pages-app/source/real/index.html.erb +3 -3
  209. data/fixtures/dynamic-pages-app/source/real.html +0 -0
  210. data/fixtures/dynamic-pages-app/source/should_be_ignored.html +0 -0
  211. data/fixtures/dynamic-pages-app/source/should_be_ignored2.html +0 -0
  212. data/fixtures/dynamic-pages-app/source/should_be_ignored3.html +0 -0
  213. data/fixtures/dynamic-pages-app/source/should_be_ignored4.html +0 -0
  214. data/fixtures/dynamic-pages-app/source/should_be_ignored5.html +0 -0
  215. data/fixtures/dynamic-pages-app/source/should_be_ignored6.html +0 -0
  216. data/fixtures/dynamic-pages-app/source/should_be_ignored7.html +0 -0
  217. data/fixtures/dynamic-pages-app/source/should_be_ignored8.html +0 -0
  218. data/fixtures/dynamic-pages-app/source/should_be_ignored9.html +1 -0
  219. data/fixtures/ember-cli-app/config.rb +5 -0
  220. data/fixtures/ember-cli-app/source/javascripts/file.js +0 -0
  221. data/fixtures/ember-cli-app/test-app/.bowerrc +3 -0
  222. data/fixtures/ember-cli-app/test-app/.gitignore +17 -0
  223. data/fixtures/ember-cli-app/test-app/.jshintrc +32 -0
  224. data/fixtures/ember-cli-app/test-app/Brocfile.js +20 -0
  225. data/fixtures/ember-cli-app/test-app/README.md +25 -0
  226. data/fixtures/ember-cli-app/test-app/app/app.js +14 -0
  227. data/fixtures/ember-cli-app/test-app/app/components/.gitkeep +0 -0
  228. data/fixtures/ember-cli-app/test-app/app/controllers/.gitkeep +0 -0
  229. data/fixtures/ember-cli-app/test-app/app/helpers/.gitkeep +0 -0
  230. data/fixtures/ember-cli-app/test-app/app/index.html +26 -0
  231. data/fixtures/ember-cli-app/test-app/app/models/.gitkeep +0 -0
  232. data/fixtures/ember-cli-app/test-app/app/router.js +10 -0
  233. data/fixtures/ember-cli-app/test-app/app/routes/.gitkeep +0 -0
  234. data/fixtures/ember-cli-app/test-app/app/styles/.gitkeep +0 -0
  235. data/fixtures/ember-cli-app/test-app/app/styles/app.css +3 -0
  236. data/fixtures/ember-cli-app/test-app/app/templates/.gitkeep +0 -0
  237. data/fixtures/ember-cli-app/test-app/app/templates/application.hbs +3 -0
  238. data/fixtures/ember-cli-app/test-app/app/templates/components/.gitkeep +0 -0
  239. data/fixtures/ember-cli-app/test-app/app/views/.gitkeep +0 -0
  240. data/fixtures/ember-cli-app/test-app/bower.json +16 -0
  241. data/fixtures/ember-cli-app/test-app/config/environment.js +38 -0
  242. data/fixtures/ember-cli-app/test-app/package.json +31 -0
  243. data/fixtures/ember-cli-app/test-app/public/.gitkeep +0 -0
  244. data/fixtures/ember-cli-app/test-app/testem.json +6 -0
  245. data/fixtures/ember-cli-app/test-app/tests/.jshintrc +73 -0
  246. data/fixtures/ember-cli-app/test-app/tests/helpers/resolver.js +9 -0
  247. data/fixtures/ember-cli-app/test-app/tests/helpers/start-app.js +30 -0
  248. data/fixtures/ember-cli-app/test-app/tests/index.html +50 -0
  249. data/fixtures/ember-cli-app/test-app/tests/test-helper.js +6 -0
  250. data/fixtures/ember-cli-app/test-app/tests/unit/.gitkeep +0 -0
  251. data/fixtures/empty-app/not-config.rb +0 -0
  252. data/fixtures/engine-matching-layout/config.rb +0 -0
  253. data/fixtures/env-app/config.rb +0 -0
  254. data/fixtures/env-app/environments/development.rb +1 -0
  255. data/fixtures/env-app/environments/production.rb +2 -0
  256. data/fixtures/env-app/source/index.html.erb +3 -0
  257. data/fixtures/env-app/source/stylesheets/site.css.scss +3 -0
  258. data/fixtures/extension-api-deprecations-app/config.rb +11 -0
  259. data/fixtures/extension-api-deprecations-app/source/index.html.erb +1 -0
  260. data/fixtures/extension-api-deprecations-app/source/layouts/layout.erb +3 -0
  261. data/fixtures/extension-hooks-app/config.rb +39 -0
  262. data/fixtures/extension-hooks-app/source/index.html.erb +9 -0
  263. data/fixtures/extensionless-text-files-app/config.rb +0 -0
  264. data/fixtures/extensionless-text-files-app/source/CNAME +0 -0
  265. data/fixtures/extensionless-text-files-app/source/LICENSE +0 -0
  266. data/fixtures/extensionless-text-files-app/source/README +0 -0
  267. data/fixtures/extensionless-text-files-app/source/index.html +0 -0
  268. data/fixtures/external-helpers/config.rb +1 -1
  269. data/fixtures/external-helpers/source/automatic.html.erb +0 -0
  270. data/fixtures/external-helpers/source/index.html.erb +0 -0
  271. data/fixtures/external-pipeline-error/config.rb +5 -0
  272. data/fixtures/external-pipeline-error/source/javascripts/file.js +0 -0
  273. data/fixtures/feature-params-app/config.rb +10 -6
  274. data/fixtures/feature-params-app/source/index.html.erb +2 -3
  275. data/fixtures/fonts-app/config.rb +0 -0
  276. data/fixtures/fonts-app/source/fonts/blank/blank.otf +0 -0
  277. data/fixtures/fonts-app/source/stylesheets/fonts.css.scss +6 -0
  278. data/fixtures/frontmatter-app/config.rb +1 -0
  279. data/fixtures/frontmatter-app/source/front-matter-haml.html.haml +6 -0
  280. data/fixtures/frontmatter-app/source/front-matter-line-2.html.erb +4 -1
  281. data/fixtures/frontmatter-app/source/raw-front-matter-toml.html +6 -0
  282. data/fixtures/frontmatter-app/source/raw-front-matter.html +1 -1
  283. data/fixtures/frontmatter-neighbor-app/config.rb +30 -0
  284. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter-toml.html +1 -0
  285. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter-toml.html.frontmatter +4 -0
  286. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.php +0 -0
  287. data/fixtures/frontmatter-settings-app/config.rb +2 -2
  288. data/fixtures/frontmatter-settings-app/source/layouts/override.erb +0 -0
  289. data/fixtures/frontmatter-settings-neighbor-app/config.rb +38 -3
  290. data/fixtures/frontmatter-settings-neighbor-app/source/layouts/override.erb +0 -0
  291. data/fixtures/frontmatter-settings-neighbor-app/source/override_layout.html.erb +0 -0
  292. data/fixtures/frontmatter-settings-neighbor-app/source/page_mentioned.html.erb +0 -0
  293. data/fixtures/generator-test/config.rb +6 -16
  294. data/fixtures/glob-app/config.rb +1 -1
  295. data/fixtures/gzip-app/source/index.html +0 -0
  296. data/fixtures/i-8859-1-app/config.rb +1 -0
  297. data/fixtures/i-8859-1-app/source/index.html.erb +1 -0
  298. data/fixtures/i18n-alt-root-app/source/lang_data/hello.html.erb +0 -0
  299. data/fixtures/i18n-alt-root-app/source/lang_data/index.html.erb +0 -0
  300. data/fixtures/i18n-alt-root-app/source/layout.erb +0 -0
  301. data/fixtures/i18n-force-locale/config.rb +2 -4
  302. data/fixtures/i18n-mixed-sources/config.rb +1 -0
  303. data/fixtures/i18n-mixed-sources/locales/en.yml +4 -0
  304. data/fixtures/i18n-mixed-sources/locales/es.yml +4 -0
  305. data/fixtures/i18n-mixed-sources/source/a/sub.html.erb +9 -0
  306. data/fixtures/i18n-mixed-sources/source/b/index.html.erb +9 -0
  307. data/fixtures/i18n-mixed-sources/source/index.html.erb +9 -0
  308. data/fixtures/i18n-mixed-sources/source/localizable/a/index.html.erb +9 -0
  309. data/fixtures/i18n-mixed-sources/source/localizable/b/sub.html.erb +9 -0
  310. data/fixtures/i18n-mixed-sources/source/localizable/index.html.erb +9 -0
  311. data/fixtures/i18n-test-app/data/defaults_en.yml +0 -0
  312. data/fixtures/i18n-test-app/data/defaults_es.yml +0 -0
  313. data/fixtures/i18n-test-app/data/en_defaults.yml +0 -0
  314. data/fixtures/i18n-test-app/source/_country.en.erb +0 -0
  315. data/fixtures/i18n-test-app/source/_country.es.erb +0 -0
  316. data/fixtures/i18n-test-app/source/_site.erb +0 -0
  317. data/fixtures/i18n-test-app/source/images/president.en.svg +0 -0
  318. data/fixtures/i18n-test-app/source/images/president.es.svg +0 -0
  319. data/fixtures/i18n-test-app/source/localizable/_state.en.erb +0 -0
  320. data/fixtures/i18n-test-app/source/localizable/_state.es.erb +0 -0
  321. data/fixtures/i18n-test-app/source/localizable/hello.html.erb +0 -0
  322. data/fixtures/i18n-test-app/source/localizable/images/flag.en.svg +0 -0
  323. data/fixtures/i18n-test-app/source/localizable/images/flag.es.svg +0 -0
  324. data/fixtures/i18n-test-app/source/localizable/index.html.erb +0 -0
  325. data/fixtures/i18n-test-app/source/localizable/partials/_greeting.en.erb +0 -0
  326. data/fixtures/i18n-test-app/source/localizable/partials/_greeting.es.erb +0 -0
  327. data/fixtures/i18n-test-app/source/localizable/partials/index.html.erb +3 -1
  328. data/fixtures/ignore-app/source/about.html.erb +0 -0
  329. data/fixtures/ignore-app/source/images/icon/messages.png +0 -0
  330. data/fixtures/ignore-app/source/images/pic.png +0 -0
  331. data/fixtures/ignore-app/source/images/portrait.jpg +0 -0
  332. data/fixtures/ignore-app/source/index.html.erb +0 -0
  333. data/fixtures/ignore-app/source/plain.html +0 -0
  334. data/fixtures/ignore-app/source/reports/another.html +0 -0
  335. data/fixtures/ignore-app/source/reports/index.html +0 -0
  336. data/fixtures/import-app/bower.json +21 -0
  337. data/fixtures/import-app/bower_components/jquery/.bower.json +39 -0
  338. data/fixtures/import-app/bower_components/jquery/MIT-LICENSE.txt +21 -0
  339. data/fixtures/import-app/bower_components/jquery/bower.json +28 -0
  340. data/fixtures/import-app/bower_components/jquery/dist/jquery.js +9210 -0
  341. data/fixtures/import-app/bower_components/jquery/dist/jquery.min.js +5 -0
  342. data/fixtures/import-app/bower_components/jquery/dist/jquery.min.map +1 -0
  343. data/fixtures/import-app/bower_components/jquery/src/ajax/jsonp.js +89 -0
  344. data/fixtures/import-app/bower_components/jquery/src/ajax/load.js +75 -0
  345. data/fixtures/import-app/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  346. data/fixtures/import-app/bower_components/jquery/src/ajax/parseXML.js +28 -0
  347. data/fixtures/import-app/bower_components/jquery/src/ajax/script.js +64 -0
  348. data/fixtures/import-app/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  349. data/fixtures/import-app/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  350. data/fixtures/import-app/bower_components/jquery/src/ajax/xhr.js +136 -0
  351. data/fixtures/import-app/bower_components/jquery/src/ajax.js +786 -0
  352. data/fixtures/import-app/bower_components/jquery/src/attributes/attr.js +141 -0
  353. data/fixtures/import-app/bower_components/jquery/src/attributes/classes.js +158 -0
  354. data/fixtures/import-app/bower_components/jquery/src/attributes/prop.js +94 -0
  355. data/fixtures/import-app/bower_components/jquery/src/attributes/support.js +35 -0
  356. data/fixtures/import-app/bower_components/jquery/src/attributes/val.js +161 -0
  357. data/fixtures/import-app/bower_components/jquery/src/attributes.js +11 -0
  358. data/fixtures/import-app/bower_components/jquery/src/callbacks.js +205 -0
  359. data/fixtures/import-app/bower_components/jquery/src/core/access.js +60 -0
  360. data/fixtures/import-app/bower_components/jquery/src/core/init.js +123 -0
  361. data/fixtures/import-app/bower_components/jquery/src/core/parseHTML.js +39 -0
  362. data/fixtures/import-app/bower_components/jquery/src/core/ready.js +97 -0
  363. data/fixtures/import-app/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  364. data/fixtures/import-app/bower_components/jquery/src/core.js +502 -0
  365. data/fixtures/import-app/bower_components/jquery/src/css/addGetHookIf.js +22 -0
  366. data/fixtures/import-app/bower_components/jquery/src/css/curCSS.js +57 -0
  367. data/fixtures/import-app/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  368. data/fixtures/import-app/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  369. data/fixtures/import-app/bower_components/jquery/src/css/support.js +96 -0
  370. data/fixtures/import-app/bower_components/jquery/src/css/swap.js +28 -0
  371. data/fixtures/import-app/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  372. data/fixtures/import-app/bower_components/jquery/src/css/var/getStyles.js +12 -0
  373. data/fixtures/import-app/bower_components/jquery/src/css/var/isHidden.js +13 -0
  374. data/fixtures/import-app/bower_components/jquery/src/css/var/rmargin.js +3 -0
  375. data/fixtures/import-app/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  376. data/fixtures/import-app/bower_components/jquery/src/css.js +450 -0
  377. data/fixtures/import-app/bower_components/jquery/src/data/Data.js +181 -0
  378. data/fixtures/import-app/bower_components/jquery/src/data/accepts.js +20 -0
  379. data/fixtures/import-app/bower_components/jquery/src/data/var/data_priv.js +5 -0
  380. data/fixtures/import-app/bower_components/jquery/src/data/var/data_user.js +5 -0
  381. data/fixtures/import-app/bower_components/jquery/src/data.js +178 -0
  382. data/fixtures/import-app/bower_components/jquery/src/deferred.js +149 -0
  383. data/fixtures/import-app/bower_components/jquery/src/deprecated.js +13 -0
  384. data/fixtures/import-app/bower_components/jquery/src/dimensions.js +50 -0
  385. data/fixtures/import-app/bower_components/jquery/src/effects/Tween.js +114 -0
  386. data/fixtures/import-app/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  387. data/fixtures/import-app/bower_components/jquery/src/effects.js +648 -0
  388. data/fixtures/import-app/bower_components/jquery/src/event/ajax.js +13 -0
  389. data/fixtures/import-app/bower_components/jquery/src/event/alias.js +39 -0
  390. data/fixtures/import-app/bower_components/jquery/src/event/support.js +9 -0
  391. data/fixtures/import-app/bower_components/jquery/src/event.js +868 -0
  392. data/fixtures/import-app/bower_components/jquery/src/exports/amd.js +24 -0
  393. data/fixtures/import-app/bower_components/jquery/src/exports/global.js +32 -0
  394. data/fixtures/import-app/bower_components/jquery/src/intro.js +44 -0
  395. data/fixtures/import-app/bower_components/jquery/src/jquery.js +37 -0
  396. data/fixtures/import-app/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  397. data/fixtures/import-app/bower_components/jquery/src/manipulation/support.js +32 -0
  398. data/fixtures/import-app/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  399. data/fixtures/import-app/bower_components/jquery/src/manipulation.js +580 -0
  400. data/fixtures/import-app/bower_components/jquery/src/offset.js +207 -0
  401. data/fixtures/import-app/bower_components/jquery/src/outro.js +1 -0
  402. data/fixtures/import-app/bower_components/jquery/src/queue/delay.js +22 -0
  403. data/fixtures/import-app/bower_components/jquery/src/queue.js +142 -0
  404. data/fixtures/import-app/bower_components/jquery/src/selector-native.js +172 -0
  405. data/fixtures/import-app/bower_components/jquery/src/selector-sizzle.js +14 -0
  406. data/fixtures/import-app/bower_components/jquery/src/selector.js +1 -0
  407. data/fixtures/import-app/bower_components/jquery/src/serialize.js +111 -0
  408. data/fixtures/import-app/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  409. data/fixtures/import-app/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  410. data/fixtures/import-app/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  411. data/fixtures/import-app/bower_components/jquery/src/traversing/findFilter.js +100 -0
  412. data/fixtures/import-app/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  413. data/fixtures/import-app/bower_components/jquery/src/traversing.js +199 -0
  414. data/fixtures/import-app/bower_components/jquery/src/var/arr.js +3 -0
  415. data/fixtures/import-app/bower_components/jquery/src/var/class2type.js +4 -0
  416. data/fixtures/import-app/bower_components/jquery/src/var/concat.js +5 -0
  417. data/fixtures/import-app/bower_components/jquery/src/var/hasOwn.js +5 -0
  418. data/fixtures/import-app/bower_components/jquery/src/var/indexOf.js +5 -0
  419. data/fixtures/import-app/bower_components/jquery/src/var/pnum.js +3 -0
  420. data/fixtures/import-app/bower_components/jquery/src/var/push.js +5 -0
  421. data/fixtures/import-app/bower_components/jquery/src/var/rnotwhite.js +3 -0
  422. data/fixtures/import-app/bower_components/jquery/src/var/slice.js +5 -0
  423. data/fixtures/import-app/bower_components/jquery/src/var/strundefined.js +3 -0
  424. data/fixtures/import-app/bower_components/jquery/src/var/support.js +4 -0
  425. data/fixtures/import-app/bower_components/jquery/src/var/toString.js +5 -0
  426. data/fixtures/import-app/bower_components/jquery/src/wrap.js +79 -0
  427. data/fixtures/import-app/config.rb +7 -0
  428. data/fixtures/import-app/source/test.html +0 -0
  429. data/fixtures/import-app/static.html +1 -0
  430. data/fixtures/indexable-app/config.rb +3 -2
  431. data/fixtures/indexable-app/source/.htaccess +0 -0
  432. data/fixtures/indexable-app/source/.htpasswd +0 -0
  433. data/fixtures/indexable-app/source/.nojekyll +0 -0
  434. data/fixtures/indexable-app/source/a_folder/needs_index.html +0 -0
  435. data/fixtures/indexable-app/source/leave_me_alone.html +0 -0
  436. data/fixtures/indexable-app/source/needs_index.html +0 -0
  437. data/fixtures/indexable-app/source/regex_leave_me_alone2.html +1 -0
  438. data/fixtures/indexable-app/source/regular/index.html +0 -0
  439. data/fixtures/javascript-app/config.rb +0 -0
  440. data/fixtures/javascript-app/source/index.html +17 -0
  441. data/fixtures/large-build-app/config.rb +2 -4
  442. data/fixtures/large-build-app/source/.htaccess +0 -0
  443. data/fixtures/large-build-app/source/.htpasswd +0 -0
  444. data/fixtures/large-build-app/source/other_layout.erb +0 -0
  445. data/fixtures/large-build-app/source/spaces in file.html.erb +0 -0
  446. data/fixtures/link-to-app/config.rb +0 -0
  447. data/fixtures/liquid-app/config.rb +0 -0
  448. data/fixtures/liquid-app/source/_liquid_partial.liquid +0 -0
  449. data/fixtures/liquid-app/source/liquid_master.html.liquid +0 -0
  450. data/fixtures/manual-layout-override/config.rb +1 -1
  451. data/fixtures/markdown-app/config.rb +1 -1
  452. data/fixtures/markdown-app/source/filter_html.html.markdown +0 -0
  453. data/fixtures/markdown-app/source/highlighted.html.markdown +0 -0
  454. data/fixtures/markdown-app/source/img.html.markdown +0 -0
  455. data/fixtures/markdown-app/source/link.html.markdown +0 -0
  456. data/fixtures/markdown-app/source/mailto.html.markdown +0 -0
  457. data/fixtures/markdown-app/source/quote.html.markdown +0 -0
  458. data/fixtures/markdown-app/source/safe_links.html.markdown +0 -0
  459. data/fixtures/markdown-app/source/underline.html.markdown +0 -0
  460. data/fixtures/markdown-frontmatter-options-app/config.rb +1 -1
  461. data/fixtures/markdown-in-haml-app/config.rb +0 -0
  462. data/fixtures/markdown-in-slim-app/config.rb +0 -0
  463. data/fixtures/markdown-in-slim-app/source/images/blank.gif +0 -0
  464. data/fixtures/markdown-in-slim-app/source/link_target.html.markdown +4 -0
  465. data/fixtures/minify-css-app/source/stylesheets/base/_base.scss +15 -0
  466. data/fixtures/minify-css-app/source/stylesheets/base/_buttons.scss +35 -0
  467. data/fixtures/minify-css-app/source/stylesheets/base/_forms.scss +90 -0
  468. data/fixtures/minify-css-app/source/stylesheets/base/_grid-settings.scss +14 -0
  469. data/fixtures/minify-css-app/source/stylesheets/base/_lists.scss +31 -0
  470. data/fixtures/minify-css-app/source/stylesheets/base/_tables.scss +25 -0
  471. data/fixtures/minify-css-app/source/stylesheets/base/_typography.scss +49 -0
  472. data/fixtures/minify-css-app/source/stylesheets/base/_variables.scss +42 -0
  473. data/fixtures/minify-css-app/source/stylesheets/bourbon/_bourbon-deprecated-upcoming.scss +411 -0
  474. data/fixtures/minify-css-app/source/stylesheets/bourbon/_bourbon.scss +87 -0
  475. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_border-color.scss +26 -0
  476. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_border-radius.scss +48 -0
  477. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_border-style.scss +25 -0
  478. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_border-width.scss +25 -0
  479. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_buttons.scss +64 -0
  480. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_clearfix.scss +25 -0
  481. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_ellipsis.scss +30 -0
  482. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_font-stacks.scss +31 -0
  483. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_hide-text.scss +27 -0
  484. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_margin.scss +26 -0
  485. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_padding.scss +26 -0
  486. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_position.scss +48 -0
  487. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_prefixer.scss +66 -0
  488. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_retina-image.scss +25 -0
  489. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_size.scss +51 -0
  490. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_text-inputs.scss +113 -0
  491. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_timing-functions.scss +34 -0
  492. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_triangle.scss +63 -0
  493. data/fixtures/minify-css-app/source/stylesheets/bourbon/addons/_word-wrap.scss +29 -0
  494. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_animation.scss +43 -0
  495. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_appearance.scss +3 -0
  496. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_backface-visibility.scss +3 -0
  497. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_background-image.scss +42 -0
  498. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_background.scss +55 -0
  499. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_border-image.scss +59 -0
  500. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_calc.scss +4 -0
  501. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_columns.scss +47 -0
  502. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_filter.scss +4 -0
  503. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_flex-box.scss +287 -0
  504. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_font-face.scss +24 -0
  505. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_font-feature-settings.scss +4 -0
  506. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_hidpi-media-query.scss +10 -0
  507. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_hyphens.scss +4 -0
  508. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_image-rendering.scss +14 -0
  509. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_keyframes.scss +36 -0
  510. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_linear-gradient.scss +38 -0
  511. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_perspective.scss +8 -0
  512. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_placeholder.scss +8 -0
  513. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_radial-gradient.scss +39 -0
  514. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_selection.scss +42 -0
  515. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_text-decoration.scss +19 -0
  516. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_transform.scss +15 -0
  517. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_transition.scss +71 -0
  518. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_user-select.scss +3 -0
  519. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_assign-inputs.scss +11 -0
  520. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_contains-falsy.scss +20 -0
  521. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_contains.scss +26 -0
  522. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_is-length.scss +11 -0
  523. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_is-light.scss +21 -0
  524. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_is-number.scss +11 -0
  525. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_is-size.scss +13 -0
  526. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_modular-scale.scss +69 -0
  527. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_px-to-em.scss +13 -0
  528. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_px-to-rem.scss +15 -0
  529. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_shade.scss +24 -0
  530. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_strip-units.scss +17 -0
  531. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_tint.scss +24 -0
  532. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_transition-property-name.scss +22 -0
  533. data/fixtures/minify-css-app/source/stylesheets/bourbon/functions/_unpack.scss +27 -0
  534. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_convert-units.scss +21 -0
  535. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_directional-values.scss +96 -0
  536. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_font-source-declaration.scss +43 -0
  537. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_gradient-positions-parser.scss +13 -0
  538. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_linear-angle-parser.scss +25 -0
  539. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_linear-gradient-parser.scss +41 -0
  540. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_linear-positions-parser.scss +61 -0
  541. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_linear-side-corner-parser.scss +31 -0
  542. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_radial-arg-parser.scss +69 -0
  543. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_radial-gradient-parser.scss +50 -0
  544. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_radial-positions-parser.scss +18 -0
  545. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_render-gradients.scss +26 -0
  546. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_shape-size-stripper.scss +10 -0
  547. data/fixtures/minify-css-app/source/stylesheets/bourbon/helpers/_str-to-num.scss +50 -0
  548. data/fixtures/minify-css-app/source/stylesheets/bourbon/settings/_asset-pipeline.scss +7 -0
  549. data/fixtures/minify-css-app/source/stylesheets/bourbon/settings/_prefixer.scss +9 -0
  550. data/fixtures/minify-css-app/source/stylesheets/bourbon/settings/_px-to-em.scss +1 -0
  551. data/fixtures/minify-css-app/source/stylesheets/report.css +0 -0
  552. data/fixtures/minify-css-app/source/stylesheets/site.css.sass +3 -1
  553. data/fixtures/minify-css-app/source/stylesheets/site.xcss.sass +3 -2
  554. data/fixtures/minify-js-app/config.rb +0 -0
  555. data/fixtures/missing-tilt-library-app/source/danger-zone/more-wiki.html.wiki +0 -0
  556. data/fixtures/missing-tilt-library-app/source/safe-zone/my-wiki.html.wiki +0 -0
  557. data/fixtures/missing-tilt-library-app/source/textile-source.html.textile +0 -0
  558. data/fixtures/missing-tilt-library-app/source/wiki-source.html.wiki +0 -0
  559. data/fixtures/more-extensionless-text-files-app/source/CNAME +0 -0
  560. data/fixtures/more-extensionless-text-files-app/source/LICENSE +0 -0
  561. data/fixtures/more-extensionless-text-files-app/source/README +0 -0
  562. data/fixtures/more-extensionless-text-files-app/source/index.html +0 -0
  563. data/fixtures/more-frontmatter-settings-app/config.rb +1 -1
  564. data/fixtures/more-ignore-app/source/about.html.erb +0 -0
  565. data/fixtures/more-ignore-app/source/images/icon/messages.png +0 -0
  566. data/fixtures/more-ignore-app/source/images/pic.png +0 -0
  567. data/fixtures/more-ignore-app/source/images/portrait.jpg +0 -0
  568. data/fixtures/more-ignore-app/source/index.html.erb +0 -0
  569. data/fixtures/more-ignore-app/source/plain.html +0 -0
  570. data/fixtures/more-ignore-app/source/reports/another.html +0 -0
  571. data/fixtures/more-ignore-app/source/reports/index.html +0 -0
  572. data/fixtures/more-preview-app/config.rb +0 -0
  573. data/fixtures/more-preview-app/source/content.html.erb +0 -0
  574. data/fixtures/more-preview-app/source/layout.erb +0 -0
  575. data/fixtures/more-traversal-app/config.rb +4 -4
  576. data/fixtures/more-traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
  577. data/fixtures/more-traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
  578. data/fixtures/more-traversal-app/source/directory-indexed.html.erb +0 -0
  579. data/fixtures/more-traversal-app/source/index.html.erb +0 -0
  580. data/fixtures/more-traversal-app/source/layout.erb +2 -2
  581. data/fixtures/more-traversal-app/source/proxied.html.erb +0 -0
  582. data/fixtures/more-traversal-app/source/root.html.erb +0 -0
  583. data/fixtures/more-traversal-app/source/sub/index.html.erb +0 -0
  584. data/fixtures/more-traversal-app/source/sub/sibling.html.erb +0 -0
  585. data/fixtures/more-traversal-app/source/sub/sibling2.html.erb +0 -0
  586. data/fixtures/more-traversal-app/source/sub/sub2/index.html.erb +0 -0
  587. data/fixtures/more-traversal-app/source/sub/sub3/deep.html.erb +0 -0
  588. data/fixtures/multiple-data-sources-app/config.rb +3 -0
  589. data/fixtures/multiple-data-sources-app/data/data.yml +1 -0
  590. data/fixtures/multiple-data-sources-app/data/two.yml +1 -0
  591. data/fixtures/multiple-data-sources-app/data0/one.yml +1 -0
  592. data/fixtures/multiple-data-sources-app/data1/data1.yml +1 -0
  593. data/fixtures/multiple-data-sources-app/data1/one.yml +1 -0
  594. data/fixtures/multiple-data-sources-app/data2/data2.yml +1 -0
  595. data/fixtures/multiple-data-sources-app/data2/two.yml +1 -0
  596. data/fixtures/multiple-data-sources-app/source/index.html.erb +5 -0
  597. data/fixtures/multiple-layouts/config.rb +0 -0
  598. data/fixtures/multiple-sources-app/config.rb +3 -0
  599. data/fixtures/multiple-sources-app/source/index.html.erb +1 -0
  600. data/fixtures/multiple-sources-app/source/override-in-two.html.erb +1 -0
  601. data/fixtures/multiple-sources-app/source0/override-in-one.html.erb +1 -0
  602. data/fixtures/multiple-sources-app/source1/index1.html.erb +1 -0
  603. data/fixtures/multiple-sources-app/source1/override-in-one.html.erb +1 -0
  604. data/fixtures/multiple-sources-app/source2/index2.html.erb +1 -0
  605. data/fixtures/multiple-sources-app/source2/override-in-two.html.erb +1 -0
  606. data/fixtures/multiple-sources-with-duplicate-file-names-app/config.rb +2 -0
  607. data/fixtures/multiple-sources-with-duplicate-file-names-app/source/index.html.erb +1 -0
  608. data/fixtures/multiple-sources-with-duplicate-file-names-app/source2/index.html.erb +1 -0
  609. data/fixtures/nested-data-app/data/examples/deeper/stuff.yml +0 -0
  610. data/fixtures/nested-data-app/data/examples/more.yml +0 -0
  611. data/fixtures/nested-data-app/data/examples/withcontent.yaml +11 -0
  612. data/fixtures/nested-data-app/source/extracontent.html.haml.erb +4 -0
  613. data/fixtures/nested-layout-app/source/layouts/inner.erb +5 -2
  614. data/fixtures/nested-layout-app/source/layouts/inner_haml.haml +6 -2
  615. data/fixtures/nested-layout-app/source/layouts/inner_slim.slim +6 -2
  616. data/fixtures/nested-layout-app/source/layouts/master.erb +7 -1
  617. data/fixtures/nested-layout-app/source/layouts/master_haml.haml +5 -1
  618. data/fixtures/nested-layout-app/source/layouts/master_slim.slim +5 -1
  619. data/fixtures/nested-layout-app/source/layouts/outer.erb +6 -2
  620. data/fixtures/nested-layout-app/source/layouts/outer_haml.haml +5 -1
  621. data/fixtures/nested-layout-app/source/layouts/outer_slim.slim +5 -1
  622. data/fixtures/no-layout/config.rb +0 -0
  623. data/fixtures/padrino-helpers-app/source/former_padrino_test.html.erb +3 -3
  624. data/fixtures/page-classes-app/config.rb +2 -4
  625. data/fixtures/page-classes-app/source/1-folder/1-inside-with-numeric.html.erb +0 -0
  626. data/fixtures/page-classes-app/source/1-starts-with-numeric.html.erb +0 -0
  627. data/fixtures/page-classes-app/source/2-starts-with-numeric-custom.html.erb +1 -1
  628. data/fixtures/page-helper-layout-block-app/config.rb +1 -1
  629. data/fixtures/page-helper-layout-block-app/source/index.html.erb +0 -0
  630. data/fixtures/page-helper-layout-block-app/source/path/child.html.erb +0 -0
  631. data/fixtures/page-helper-layout-block-app/source/path/index.html.erb +0 -0
  632. data/fixtures/page-id-app/config-proc.rb +7 -0
  633. data/fixtures/page-id-app/config.rb +5 -0
  634. data/fixtures/page-id-app/source/feed.xml.erb +1 -0
  635. data/fixtures/page-id-app/source/fm.html.erb +5 -0
  636. data/fixtures/page-id-app/source/folder/foldern.html.erb +1 -0
  637. data/fixtures/page-id-app/source/fourty-two.html.erb +5 -0
  638. data/fixtures/page-id-app/source/implicit.html.erb +1 -0
  639. data/fixtures/page-id-app/source/index.html.erb +15 -0
  640. data/fixtures/page-id-app/source/overwrites/from-default.html.erb +1 -0
  641. data/fixtures/page-id-app/source/overwrites/from-frontmatter.html.erb +5 -0
  642. data/fixtures/paginate-app/config.rb +0 -0
  643. data/fixtures/paginate-app/source/archive/2011/index.html.erb +20 -0
  644. data/fixtures/paginate-app/source/blog/2011-01-01-test-article.html.markdown +6 -0
  645. data/fixtures/paginate-app/source/blog/2011-01-02-test-article.html.markdown +6 -0
  646. data/fixtures/paginate-app/source/blog/2011-01-03-test-article.html.markdown +6 -0
  647. data/fixtures/paginate-app/source/blog/2011-01-04-test-article.html.markdown +6 -0
  648. data/fixtures/paginate-app/source/blog/2011-01-05-test-article.html.markdown +6 -0
  649. data/fixtures/paginate-app/source/blog/2011-02-01-test-article.html.markdown +6 -0
  650. data/fixtures/paginate-app/source/blog/2011-02-02-test-article.html.markdown +6 -0
  651. data/fixtures/paginate-app/source/index.html.erb +15 -0
  652. data/fixtures/paginate-app/source/tag.html.erb +23 -0
  653. data/fixtures/partial-chained_templates-app/config.rb +0 -0
  654. data/fixtures/partials-app/config.rb +0 -0
  655. data/fixtures/partials-app/source/_block.erb +3 -0
  656. data/fixtures/partials-app/source/_code_snippet.html +0 -0
  657. data/fixtures/partials-app/source/_locals.erb +0 -0
  658. data/fixtures/partials-app/source/_main.erb +0 -0
  659. data/fixtures/partials-app/source/_main.str +0 -0
  660. data/fixtures/partials-app/source/block.html.erb +3 -0
  661. data/fixtures/partials-app/source/index_missing.html.erb +3 -0
  662. data/fixtures/partials-app/source/locals.html.erb +1 -1
  663. data/fixtures/partials-app/source/shared/_footer.erb +0 -0
  664. data/fixtures/partials-app/source/shared/_header.erb +0 -0
  665. data/fixtures/partials-app/source/shared/{snippet.erb → _snippet.html.erb} +0 -0
  666. data/fixtures/partials-app/source/static_underscore.html.erb +0 -0
  667. data/fixtures/partials-app/source/sub/_local.erb +0 -0
  668. data/fixtures/partials-app/source/sub/index.html.erb +1 -1
  669. data/fixtures/partials-app/source/svg.html.erb +0 -0
  670. data/fixtures/passthrough-app/source/.htaccess +0 -0
  671. data/fixtures/passthrough-app/source/stylesheets/site.css.sass +5 -1
  672. data/fixtures/preview-app/config.rb +0 -0
  673. data/fixtures/preview-app/source/content.html.erb +0 -0
  674. data/fixtures/preview-app/source/layout.erb +0 -0
  675. data/fixtures/proxy-pages-app/config.rb +12 -15
  676. data/fixtures/proxy-pages-app/source/real.html +0 -0
  677. data/fixtures/proxy-pages-app/source/should_be_ignored3.html +0 -0
  678. data/fixtures/proxy-pages-app/source/should_be_ignored6.html +0 -0
  679. data/fixtures/proxy-pages-app/source/should_be_ignored7.html +0 -0
  680. data/fixtures/proxy-pages-app/source/should_be_ignored8.html +0 -0
  681. data/fixtures/related-files-app/config.rb +0 -0
  682. data/fixtures/related-files-app/source/index.html.erb +0 -0
  683. data/fixtures/related-files-app/source/partials/_test.erb +0 -0
  684. data/fixtures/related-files-app/source/partials/_test2.haml +0 -0
  685. data/fixtures/related-files-app/source/stylesheets/_include3.sass +0 -0
  686. data/fixtures/related-files-app/source/stylesheets/_include4.scss +0 -0
  687. data/fixtures/related-files-app/source/stylesheets/include1.css +0 -0
  688. data/fixtures/related-files-app/source/stylesheets/include2.css.scss +0 -0
  689. data/fixtures/related-files-app/source/stylesheets/site.css.scss +0 -0
  690. data/fixtures/relative-app/config.rb +0 -0
  691. data/fixtures/relative-app/source/stylesheets/relative_assets.css.sass +1 -2
  692. data/fixtures/relative-assets-app/config.rb +5 -1
  693. data/fixtures/relative-assets-app/source/absolute_image_relative_css.html.erb +9 -0
  694. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.eot +0 -0
  695. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.svg +0 -0
  696. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.ttf +0 -0
  697. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.woff +0 -0
  698. data/fixtures/relative-assets-app/source/images/blank2.gif +0 -0
  699. data/fixtures/relative-assets-app/source/javascripts/app.js +3 -0
  700. data/fixtures/relative-assets-app/source/javascripts/application.js +8 -0
  701. data/fixtures/relative-assets-app/source/relative_image.html.erb +1 -0
  702. data/fixtures/relative-assets-app/source/relative_image_absolute_css.html.erb +9 -0
  703. data/fixtures/relative-assets-app/source/stylesheets/fonts.css +10 -0
  704. data/fixtures/relative-assets-app/source/stylesheets/fonts2.css.scss +10 -0
  705. data/fixtures/relative-assets-app/source/stylesheets/relative_assets.css.sass +1 -2
  706. data/fixtures/sass-in-slim-app/config.rb +0 -0
  707. data/fixtures/scss-app/config.rb +0 -0
  708. data/fixtures/scss-app/source/stylesheets/error.css.sass +1 -0
  709. data/fixtures/scss-app/source/stylesheets/site_scss.css.scss +3 -1
  710. data/fixtures/strip-url-app/config.rb +0 -0
  711. data/fixtures/stylus-preview-app/config.rb +0 -0
  712. data/fixtures/stylus-preview-app/source/content.html.erb +4 -0
  713. data/fixtures/traversal-app/config.rb +4 -4
  714. data/fixtures/traversal-app/source/.htaccess +0 -0
  715. data/fixtures/traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
  716. data/fixtures/traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
  717. data/fixtures/traversal-app/source/directory-indexed.html.erb +0 -0
  718. data/fixtures/traversal-app/source/index.html.erb +0 -0
  719. data/fixtures/traversal-app/source/layout.erb +2 -2
  720. data/fixtures/traversal-app/source/proxied.html.erb +0 -0
  721. data/fixtures/traversal-app/source/root.html.erb +0 -0
  722. data/fixtures/traversal-app/source/sub/index.html.erb +0 -0
  723. data/fixtures/traversal-app/source/sub/sibling.html.erb +0 -0
  724. data/fixtures/traversal-app/source/sub/sibling2.html.erb +0 -0
  725. data/fixtures/traversal-app/source/sub/sub2/index.html.erb +0 -0
  726. data/fixtures/traversal-app/source/sub/sub3/deep.html.erb +0 -0
  727. data/fixtures/v4-extension-callbacks/config.rb +21 -5
  728. data/fixtures/wildcard-app/config.rb +1 -1
  729. data/fixtures/wildcard-app/source/admin/index.html.erb +0 -0
  730. data/fixtures/wildcard-app/source/admin/page.html.erb +0 -0
  731. data/fixtures/wildcard-app/source/index.html.erb +0 -0
  732. data/fixtures/wildcard-directory-index-app/config.rb +1 -1
  733. data/fixtures/wildcard-directory-index-app/source/admin/index.html.erb +0 -0
  734. data/fixtures/wildcard-directory-index-app/source/admin/page.html.erb +0 -0
  735. data/fixtures/wildcard-directory-index-app/source/index.html.erb +0 -0
  736. data/lib/middleman/rack.rb +7 -0
  737. data/lib/middleman-core/application.rb +348 -151
  738. data/lib/middleman-core/builder.rb +305 -0
  739. data/lib/middleman-core/callback_manager.rb +68 -0
  740. data/lib/middleman-core/config_context.rb +67 -0
  741. data/lib/middleman-core/configuration.rb +16 -96
  742. data/lib/middleman-core/contracts.rb +111 -0
  743. data/lib/middleman-core/core_extensions/collections/lazy_root.rb +30 -0
  744. data/lib/middleman-core/core_extensions/collections/lazy_step.rb +50 -0
  745. data/lib/middleman-core/core_extensions/collections/pagination.rb +59 -0
  746. data/lib/middleman-core/core_extensions/collections/step_context.rb +34 -0
  747. data/lib/middleman-core/core_extensions/collections.rb +121 -0
  748. data/lib/middleman-core/core_extensions/data.rb +96 -82
  749. data/lib/{middleman-more → middleman-core}/core_extensions/default_helpers.rb +95 -75
  750. data/lib/middleman-core/core_extensions/external_helpers.rb +19 -26
  751. data/lib/middleman-core/core_extensions/file_watcher.rb +66 -163
  752. data/lib/middleman-core/core_extensions/front_matter.rb +53 -174
  753. data/lib/middleman-core/core_extensions/i18n.rb +307 -0
  754. data/lib/middleman-core/core_extensions/inline_url_rewriter.rb +140 -0
  755. data/lib/middleman-core/core_extensions/rendering.rb +40 -520
  756. data/lib/middleman-core/core_extensions/routing.rb +52 -54
  757. data/lib/middleman-core/core_extensions/show_exceptions.rb +6 -19
  758. data/lib/middleman-core/core_extensions.rb +97 -45
  759. data/lib/middleman-core/dns_resolver/basic_network_resolver.rb +50 -0
  760. data/lib/middleman-core/dns_resolver/hosts_resolver.rb +63 -0
  761. data/lib/middleman-core/dns_resolver/local_link_resolver.rb +44 -0
  762. data/lib/middleman-core/dns_resolver/network_resolver.rb +42 -0
  763. data/lib/middleman-core/dns_resolver.rb +71 -0
  764. data/lib/middleman-core/extension.rb +439 -47
  765. data/lib/middleman-core/extension_manager.rb +95 -0
  766. data/lib/middleman-core/extensions/asset_hash.rb +120 -0
  767. data/lib/middleman-core/extensions/asset_host.rb +41 -0
  768. data/lib/{middleman-more → middleman-core}/extensions/automatic_alt_tags.rb +6 -5
  769. data/lib/{middleman-more → middleman-core}/extensions/automatic_image_sizes.rb +14 -5
  770. data/lib/middleman-core/extensions/cache_buster.rb +23 -0
  771. data/lib/middleman-core/extensions/directory_indexes.rb +32 -0
  772. data/lib/middleman-core/extensions/external_pipeline.rb +88 -0
  773. data/lib/{middleman-more → middleman-core}/extensions/gzip.rb +15 -7
  774. data/lib/{middleman-more → middleman-core}/extensions/lorem.rb +3 -3
  775. data/lib/{middleman-more → middleman-core}/extensions/minify_css.rb +35 -19
  776. data/lib/{middleman-more → middleman-core}/extensions/minify_javascript.rb +36 -23
  777. data/lib/middleman-core/extensions/relative_assets.rb +78 -0
  778. data/lib/middleman-core/extensions.rb +105 -66
  779. data/lib/middleman-core/file_renderer.rb +136 -0
  780. data/lib/middleman-core/load_paths.rb +24 -28
  781. data/lib/middleman-core/logger.rb +4 -3
  782. data/lib/middleman-core/meta_pages/assets/glyphicons-halflings.png +0 -0
  783. data/lib/middleman-core/meta_pages/assets/sitemap.js +0 -0
  784. data/lib/middleman-core/meta_pages/sitemap_resource.rb +6 -5
  785. data/lib/middleman-core/meta_pages/templates/config.html.erb +14 -14
  786. data/lib/middleman-core/meta_pages/templates/index.html.erb +3 -1
  787. data/lib/middleman-core/meta_pages.rb +14 -9
  788. data/lib/middleman-core/preview_server/checks.rb +81 -0
  789. data/lib/middleman-core/preview_server/information.rb +273 -0
  790. data/lib/middleman-core/preview_server/network_interface_inventory.rb +65 -0
  791. data/lib/middleman-core/preview_server/server_hostname.rb +39 -0
  792. data/lib/middleman-core/preview_server/server_information.rb +153 -0
  793. data/lib/middleman-core/preview_server/server_information_callback_proxy.rb +35 -0
  794. data/lib/middleman-core/preview_server/server_information_validator.rb +18 -0
  795. data/lib/middleman-core/preview_server/server_ip_address.rb +46 -0
  796. data/lib/middleman-core/preview_server/server_url.rb +63 -0
  797. data/lib/middleman-core/preview_server/tcp_port_prober.rb +29 -0
  798. data/lib/middleman-core/preview_server.rb +180 -129
  799. data/lib/middleman-core/profiling.rb +16 -19
  800. data/lib/middleman-core/rack.rb +156 -0
  801. data/lib/middleman-core/renderers/coffee_script.rb +9 -14
  802. data/lib/middleman-core/renderers/erb.rb +3 -15
  803. data/lib/middleman-core/renderers/haml.rb +58 -14
  804. data/lib/middleman-core/renderers/kramdown.rb +18 -5
  805. data/lib/middleman-core/renderers/less.rb +12 -19
  806. data/lib/middleman-core/renderers/liquid.rb +40 -17
  807. data/lib/middleman-core/renderers/markdown.rb +31 -50
  808. data/lib/middleman-core/renderers/redcarpet.rb +21 -7
  809. data/lib/middleman-core/renderers/sass.rb +66 -61
  810. data/lib/middleman-core/renderers/sass_functions.rb +109 -0
  811. data/lib/middleman-core/renderers/slim.rb +24 -30
  812. data/lib/middleman-core/sitemap/extensions/ignores.rb +59 -60
  813. data/lib/middleman-core/sitemap/extensions/import.rb +65 -0
  814. data/lib/middleman-core/sitemap/extensions/move_file.rb +39 -0
  815. data/lib/middleman-core/sitemap/extensions/on_disk.rb +36 -54
  816. data/lib/middleman-core/sitemap/extensions/proxies.rb +93 -136
  817. data/lib/middleman-core/sitemap/extensions/redirects.rb +63 -105
  818. data/lib/middleman-core/sitemap/extensions/request_endpoints.rb +48 -87
  819. data/lib/middleman-core/sitemap/extensions/traversal.rb +33 -19
  820. data/lib/middleman-core/sitemap/resource.rb +186 -80
  821. data/lib/middleman-core/sitemap/store.rb +157 -145
  822. data/lib/middleman-core/sources/source_watcher.rb +372 -0
  823. data/lib/middleman-core/sources.rb +376 -0
  824. data/lib/middleman-core/step_definitions/builder_steps.rb +3 -49
  825. data/lib/middleman-core/step_definitions/commandline_steps.rb +84 -0
  826. data/lib/middleman-core/step_definitions/middleman_steps.rb +50 -7
  827. data/lib/middleman-core/step_definitions/server_steps.rb +48 -54
  828. data/lib/middleman-core/step_definitions.rb +2 -2
  829. data/lib/middleman-core/template_context.rb +213 -0
  830. data/lib/middleman-core/template_renderer.rb +252 -0
  831. data/lib/middleman-core/util/binary.rb +78 -0
  832. data/lib/middleman-core/util/data.rb +187 -0
  833. data/lib/middleman-core/util/files.rb +137 -0
  834. data/lib/middleman-core/util/paths.rb +313 -0
  835. data/lib/middleman-core/util/rack.rb +62 -0
  836. data/lib/middleman-core/util/uri_templates.rb +97 -0
  837. data/lib/middleman-core/util.rb +14 -276
  838. data/lib/middleman-core/version.rb +1 -1
  839. data/lib/middleman-core.rb +0 -3
  840. data/middleman-core.gemspec +45 -26
  841. data/spec/middleman-core/binary_spec/middleman +0 -0
  842. data/spec/middleman-core/binary_spec/middleman.png +0 -0
  843. data/spec/middleman-core/binary_spec/stars.svgz +0 -0
  844. data/spec/middleman-core/callbacks_spec.rb +132 -0
  845. data/spec/middleman-core/core_extensions/data_spec.rb +147 -0
  846. data/spec/middleman-core/dns_resolver_spec.rb +102 -0
  847. data/spec/middleman-core/preview_server/server_hostname_spec.rb +39 -0
  848. data/spec/middleman-core/preview_server/server_ip_address_spec.rb +43 -0
  849. data/spec/middleman-core/util_spec.rb +230 -0
  850. data/spec/spec_helper.rb +28 -0
  851. data/spec/support/given.rb +42 -0
  852. metadata +698 -1230
  853. data/bin/middleman +0 -18
  854. data/features/3rd_party_cli.feature +0 -15
  855. data/features/asciidoc.feature +0 -155
  856. data/features/cli_extension.feature +0 -14
  857. data/features/cli_init.feature +0 -151
  858. data/features/compass-sprites.feature +0 -6
  859. data/features/current_page_request_path_backwards.feature +0 -6
  860. data/features/fonts.feature +0 -15
  861. data/features/implied_extensions.feature +0 -69
  862. data/features/instance_vars.feature +0 -9
  863. data/features/more-implied_extensions.feature +0 -44
  864. data/features/more-instance_vars.feature +0 -18
  865. data/features/partials_dir.feature +0 -30
  866. data/features/queryable.feature +0 -35
  867. data/features/request_params.feature +0 -6
  868. data/features/static_server.feature +0 -6
  869. data/features/step_definitions/page_layout_steps.rb +0 -15
  870. data/features/step_definitions/queryable_steps.rb +0 -135
  871. data/features/stylus.feature +0 -55
  872. data/features/twitter-bootstrap-compile.feature +0 -6
  873. data/features/v3_extensions.feature +0 -20
  874. data/features/working_directory.feature +0 -33
  875. data/fixtures/asciidoc-app/source/_include.adoc +0 -1
  876. data/fixtures/asciidoc-app/source/code.adoc +0 -3
  877. data/fixtures/asciidoc-app/source/custom-attribute.adoc +0 -3
  878. data/fixtures/asciidoc-app/source/gallery.adoc +0 -1
  879. data/fixtures/asciidoc-app/source/hello-no-layout.adoc +0 -2
  880. data/fixtures/asciidoc-app/source/hello-with-front-matter.adoc +0 -5
  881. data/fixtures/asciidoc-app/source/hello-with-layout.adoc +0 -2
  882. data/fixtures/asciidoc-app/source/hello-with-title.adoc +0 -4
  883. data/fixtures/asciidoc-app/source/hello.adoc +0 -4
  884. data/fixtures/asciidoc-app/source/layouts/default.erb +0 -9
  885. data/fixtures/asciidoc-app/source/master.adoc +0 -3
  886. data/fixtures/asset-hash-host-app/config.rb +0 -6
  887. data/fixtures/compass-sprites-app/source/images/icon/arrow_down.png +0 -0
  888. data/fixtures/compass-sprites-app/source/images/icon/arrow_left.png +0 -0
  889. data/fixtures/compass-sprites-app/source/images/icon/arrow_right.png +0 -0
  890. data/fixtures/compass-sprites-app/source/images/icon/arrow_up.png +0 -0
  891. data/fixtures/compass-sprites-app/source/stylesheets/site.css.scss +0 -3
  892. data/fixtures/current-page-app/config.rb +0 -3
  893. data/fixtures/current-page-app/source/request-path.html.erb +0 -1
  894. data/fixtures/default-partials-dir-app/source/_partial.html.erb +0 -1
  895. data/fixtures/default-partials-dir-app/source/index.html.erb +0 -2
  896. data/fixtures/fonts-app/source/stylesheets/fonts.css.sass +0 -5
  897. data/fixtures/frontmatter-app/source/front-matter-auto.erb +0 -6
  898. data/fixtures/frontmatter-app/source/json-front-matter-2.php.erb +0 -7
  899. data/fixtures/frontmatter-app/source/json-front-matter-auto.erb +0 -6
  900. data/fixtures/frontmatter-app/source/json-front-matter-encoding.html.erb +0 -7
  901. data/fixtures/frontmatter-app/source/json-front-matter-line-2.html.erb +0 -7
  902. data/fixtures/frontmatter-app/source/json-front-matter.html.erb +0 -6
  903. data/fixtures/frontmatter-neighbor-app/source/front-matter-auto.erb +0 -1
  904. data/fixtures/frontmatter-neighbor-app/source/front-matter-auto.erb.frontmatter +0 -4
  905. data/fixtures/frontmatter-neighbor-app/source/json-front-matter-2.php.erb +0 -2
  906. data/fixtures/frontmatter-neighbor-app/source/json-front-matter-2.php.erb.frontmatter +0 -4
  907. data/fixtures/frontmatter-neighbor-app/source/json-front-matter-auto.erb +0 -1
  908. data/fixtures/frontmatter-neighbor-app/source/json-front-matter-auto.erb.frontmatter +0 -4
  909. data/fixtures/frontmatter-neighbor-app/source/json-front-matter.html.erb +0 -1
  910. data/fixtures/frontmatter-neighbor-app/source/json-front-matter.html.erb.frontmatter +0 -4
  911. data/fixtures/implied-extensions-app/source/index.erb +0 -1
  912. data/fixtures/instance-vars-app/config.rb +0 -7
  913. data/fixtures/instance-vars-app/source/content.html.erb +0 -2
  914. data/fixtures/instance-vars-app/source/layout.erb +0 -1
  915. data/fixtures/more-implied-extensions-app/source/javascripts/app.coffee +0 -1
  916. data/fixtures/more-implied-extensions-app/source/layouts/layout.erb +0 -3
  917. data/fixtures/more-implied-extensions-app/source/stylesheets/style.scss +0 -3
  918. data/fixtures/more-implied-extensions-app/source/stylesheets/style2.sass +0 -3
  919. data/fixtures/more-implied-extensions-app/source/test.haml +0 -4
  920. data/fixtures/more-implied-extensions-app/source/test2.markdown +0 -3
  921. data/fixtures/more-implied-extensions-app/source/test3.slim +0 -3
  922. data/fixtures/more-implied-extensions-app/source/test4.liquid +0 -1
  923. data/fixtures/more-instance-vars-app/source/_vartial.erb +0 -5
  924. data/fixtures/more-instance-vars-app/source/instance-var-set.html.erb +0 -2
  925. data/fixtures/more-instance-vars-app/source/layout.erb +0 -3
  926. data/fixtures/more-instance-vars-app/source/no-instance-var.html.erb +0 -1
  927. data/fixtures/partials-dir-app/source/index.html.erb +0 -2
  928. data/fixtures/partials-dir-app/source/nested/partials/_partial.html.erb +0 -1
  929. data/fixtures/partials-dir-app/source/partials/_partial.html.erb +0 -1
  930. data/fixtures/plain-app/index.html +0 -1
  931. data/fixtures/proxy-pages-app/source/real/index-ivars.html.erb +0 -6
  932. data/fixtures/queryable-app/source/2010-08-08-test-document-file.html.markdown +0 -8
  933. data/fixtures/queryable-app/source/2010-08-09-another-test-document.html.markdown +0 -10
  934. data/fixtures/queryable-app/source/2011-12-26-some-test-document.html.markdown +0 -6
  935. data/fixtures/queryable-app/source/document_with_date_in_yaml.html.markdown +0 -7
  936. data/fixtures/queryable-app/source/document_without_date.html.markdown +0 -7
  937. data/fixtures/request-app/source/index.html.erb +0 -3
  938. data/fixtures/stylus-preview-app/source/layout.erb +0 -1
  939. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/.gitignore +0 -36
  940. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/.travis.yml +0 -3
  941. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/LICENSE +0 -176
  942. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/README.md +0 -137
  943. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/img/glyphicons-halflings-white.png +0 -0
  944. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/img/glyphicons-halflings.png +0 -0
  945. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/.jshintrc +0 -10
  946. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/README.md +0 -112
  947. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-alert.js +0 -90
  948. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-button.js +0 -96
  949. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-carousel.js +0 -169
  950. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-collapse.js +0 -157
  951. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-dropdown.js +0 -100
  952. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-modal.js +0 -218
  953. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-popover.js +0 -98
  954. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-scrollspy.js +0 -151
  955. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-tab.js +0 -135
  956. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-tooltip.js +0 -275
  957. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-transition.js +0 -61
  958. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-typeahead.js +0 -285
  959. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/index.html +0 -54
  960. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/phantom.js +0 -63
  961. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/server.js +0 -14
  962. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-alert.js +0 -56
  963. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-button.js +0 -77
  964. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-carousel.js +0 -28
  965. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-collapse.js +0 -54
  966. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-dropdown.js +0 -87
  967. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-modal.js +0 -114
  968. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-phantom.js +0 -21
  969. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-popover.js +0 -93
  970. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-scrollspy.js +0 -31
  971. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-tab.js +0 -61
  972. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-tooltip.js +0 -155
  973. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-transition.js +0 -13
  974. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-typeahead.js +0 -148
  975. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/jquery.js +0 -9252
  976. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/qunit.css +0 -232
  977. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/qunit.js +0 -1510
  978. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_accordion.less +0 -33
  979. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_alerts.less +0 -58
  980. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_breadcrumbs.less +0 -24
  981. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_button-groups.less +0 -191
  982. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_buttons.less +0 -191
  983. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_carousel.less +0 -121
  984. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_close.less +0 -29
  985. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_code.less +0 -57
  986. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_component-animations.less +0 -20
  987. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_dropdowns.less +0 -143
  988. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_forms.less +0 -583
  989. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_grid.less +0 -5
  990. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_hero-unit.less +0 -22
  991. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_labels-badges.less +0 -55
  992. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_layouts.less +0 -17
  993. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_mixins.less +0 -646
  994. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_modals.less +0 -90
  995. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_navbar.less +0 -358
  996. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_navs.less +0 -363
  997. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_pager.less +0 -36
  998. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_pagination.less +0 -56
  999. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_popovers.less +0 -49
  1000. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_progress-bars.less +0 -117
  1001. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_reset.less +0 -131
  1002. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-1200px-min.less +0 -26
  1003. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-767px-max.less +0 -149
  1004. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-768px-979px.less +0 -17
  1005. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-navbar.less +0 -153
  1006. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-utilities.less +0 -41
  1007. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_scaffolding.less +0 -29
  1008. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_sprites.less +0 -191
  1009. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_tables.less +0 -176
  1010. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_thumbnails.less +0 -47
  1011. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_tooltip.less +0 -35
  1012. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_type.less +0 -232
  1013. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_utilities.less +0 -23
  1014. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_variables.less +0 -206
  1015. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_wells.less +0 -27
  1016. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/bootstrap.less +0 -62
  1017. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/responsive.less +0 -48
  1018. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/css-tests.css +0 -52
  1019. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/css-tests.html +0 -917
  1020. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/forms.html +0 -179
  1021. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/navbar.html +0 -108
  1022. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/package.json +0 -25
  1023. data/lib/middleman-core/cli/build.rb +0 -298
  1024. data/lib/middleman-core/cli/bundler.rb +0 -39
  1025. data/lib/middleman-core/cli/console.rb +0 -52
  1026. data/lib/middleman-core/cli/extension.rb +0 -47
  1027. data/lib/middleman-core/cli/init.rb +0 -71
  1028. data/lib/middleman-core/cli/server.rb +0 -91
  1029. data/lib/middleman-core/cli.rb +0 -88
  1030. data/lib/middleman-core/core_extensions/extensions.rb +0 -197
  1031. data/lib/middleman-core/core_extensions/request.rb +0 -312
  1032. data/lib/middleman-core/renderers/asciidoc.rb +0 -58
  1033. data/lib/middleman-core/renderers/stylus.rb +0 -24
  1034. data/lib/middleman-core/sitemap/extensions/content_type.rb +0 -16
  1035. data/lib/middleman-core/sitemap/queryable.rb +0 -150
  1036. data/lib/middleman-core/sitemap.rb +0 -76
  1037. data/lib/middleman-core/templates/default/source/images/background.png +0 -0
  1038. data/lib/middleman-core/templates/default/source/images/middleman.png +0 -0
  1039. data/lib/middleman-core/templates/default/source/index.html.erb +0 -10
  1040. data/lib/middleman-core/templates/default/source/javascripts/all.js +0 -1
  1041. data/lib/middleman-core/templates/default/source/layouts/layout.erb +0 -19
  1042. data/lib/middleman-core/templates/default/source/stylesheets/all.css +0 -55
  1043. data/lib/middleman-core/templates/default/source/stylesheets/normalize.css +0 -375
  1044. data/lib/middleman-core/templates/default.rb +0 -37
  1045. data/lib/middleman-core/templates/empty/Gemfile.tt +0 -6
  1046. data/lib/middleman-core/templates/empty.rb +0 -22
  1047. data/lib/middleman-core/templates/extension/Gemfile +0 -19
  1048. data/lib/middleman-core/templates/extension/Rakefile +0 -14
  1049. data/lib/middleman-core/templates/extension/features/support/env.rb +0 -4
  1050. data/lib/middleman-core/templates/extension/gemspec +0 -24
  1051. data/lib/middleman-core/templates/extension/gitignore +0 -5
  1052. data/lib/middleman-core/templates/extension/lib/lib.rb +0 -38
  1053. data/lib/middleman-core/templates/extension/lib/middleman_extension.rb +0 -1
  1054. data/lib/middleman-core/templates/html5/source/.htaccess +0 -542
  1055. data/lib/middleman-core/templates/html5/source/404.html +0 -157
  1056. data/lib/middleman-core/templates/html5/source/LICENSE.md +0 -19
  1057. data/lib/middleman-core/templates/html5/source/README.md +0 -63
  1058. data/lib/middleman-core/templates/html5/source/apple-touch-icon-114x114-precomposed.png +0 -0
  1059. data/lib/middleman-core/templates/html5/source/apple-touch-icon-144x144-precomposed.png +0 -0
  1060. data/lib/middleman-core/templates/html5/source/apple-touch-icon-57x57-precomposed.png +0 -0
  1061. data/lib/middleman-core/templates/html5/source/apple-touch-icon-72x72-precomposed.png +0 -0
  1062. data/lib/middleman-core/templates/html5/source/apple-touch-icon-precomposed.png +0 -0
  1063. data/lib/middleman-core/templates/html5/source/apple-touch-icon.png +0 -0
  1064. data/lib/middleman-core/templates/html5/source/crossdomain.xml +0 -15
  1065. data/lib/middleman-core/templates/html5/source/css/main.css +0 -298
  1066. data/lib/middleman-core/templates/html5/source/css/normalize.css +0 -504
  1067. data/lib/middleman-core/templates/html5/source/favicon.ico +0 -0
  1068. data/lib/middleman-core/templates/html5/source/humans.txt +0 -15
  1069. data/lib/middleman-core/templates/html5/source/index.html.erb +0 -6
  1070. data/lib/middleman-core/templates/html5/source/js/main.js +0 -1
  1071. data/lib/middleman-core/templates/html5/source/js/plugins.js +0 -14
  1072. data/lib/middleman-core/templates/html5/source/js/vendor/jquery-1.8.0.min.js +0 -2
  1073. data/lib/middleman-core/templates/html5/source/js/vendor/modernizr-2.6.1.min.js +0 -4
  1074. data/lib/middleman-core/templates/html5/source/layouts/layout.erb +0 -40
  1075. data/lib/middleman-core/templates/html5/source/robots.txt +0 -3
  1076. data/lib/middleman-core/templates/html5.rb +0 -29
  1077. data/lib/middleman-core/templates/local.rb +0 -27
  1078. data/lib/middleman-core/templates/mobile/source/404.html +0 -37
  1079. data/lib/middleman-core/templates/mobile/source/README.markdown +0 -21
  1080. data/lib/middleman-core/templates/mobile/source/crossdomain.xml +0 -25
  1081. data/lib/middleman-core/templates/mobile/source/css/style.css +0 -315
  1082. data/lib/middleman-core/templates/mobile/source/humans.txt +0 -43
  1083. data/lib/middleman-core/templates/mobile/source/img/h/apple-touch-icon.png +0 -0
  1084. data/lib/middleman-core/templates/mobile/source/img/h/splash.png +0 -0
  1085. data/lib/middleman-core/templates/mobile/source/img/l/apple-touch-icon-precomposed.png +0 -0
  1086. data/lib/middleman-core/templates/mobile/source/img/l/apple-touch-icon.png +0 -0
  1087. data/lib/middleman-core/templates/mobile/source/img/l/splash.png +0 -0
  1088. data/lib/middleman-core/templates/mobile/source/img/m/apple-touch-icon.png +0 -0
  1089. data/lib/middleman-core/templates/mobile/source/index.html +0 -92
  1090. data/lib/middleman-core/templates/mobile/source/js/libs/modernizr-custom.js +0 -14
  1091. data/lib/middleman-core/templates/mobile/source/js/libs/respond.min.js +0 -7
  1092. data/lib/middleman-core/templates/mobile/source/js/mylibs/helper.js +0 -171
  1093. data/lib/middleman-core/templates/mobile/source/js/plugins.js +0 -20
  1094. data/lib/middleman-core/templates/mobile/source/robots.txt +0 -4
  1095. data/lib/middleman-core/templates/mobile/source/sitemap.xml +0 -9
  1096. data/lib/middleman-core/templates/mobile/source/test/index.html +0 -31
  1097. data/lib/middleman-core/templates/mobile/source/test/qunit/qunit.css +0 -148
  1098. data/lib/middleman-core/templates/mobile/source/test/qunit/qunit.js +0 -1265
  1099. data/lib/middleman-core/templates/mobile/source/test/tests.js +0 -21
  1100. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/Readme.PDF +0 -0
  1101. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx1.snippet +0 -31
  1102. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx2.snippet +0 -2
  1103. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/ga.aspx +0 -195
  1104. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/sample.aspx +0 -44
  1105. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/ga.jsp +0 -225
  1106. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp1.snippet +0 -35
  1107. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp2.snippet +0 -2
  1108. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/sample.jsp +0 -51
  1109. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/ga.php +0 -176
  1110. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/php1.snippet +0 -30
  1111. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/php2.snippet +0 -4
  1112. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/sample.php +0 -44
  1113. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/ga.pl +0 -195
  1114. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/perl1.snippet +0 -27
  1115. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/perl2.snippet +0 -1
  1116. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/sample.pl +0 -38
  1117. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/COPYING +0 -202
  1118. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/bookmark_bubble.js +0 -559
  1119. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.html +0 -43
  1120. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.js +0 -57
  1121. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/arrow.png +0 -0
  1122. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/close.png +0 -0
  1123. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/generate_base64_images +0 -33
  1124. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/icon_calendar.png +0 -0
  1125. data/lib/middleman-core/templates/mobile/source/tools/wspl/README +0 -27
  1126. data/lib/middleman-core/templates/mobile/source/tools/wspl/databasefactory.js +0 -45
  1127. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworker.js +0 -324
  1128. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworker_test.html +0 -393
  1129. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworkerstarter.js +0 -32
  1130. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_gears.js +0 -595
  1131. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_gears_test.html +0 -404
  1132. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_html5.js +0 -203
  1133. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_html5_test.html +0 -468
  1134. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapperapi.js +0 -202
  1135. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapperapi_test.html +0 -51
  1136. data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_resultset.js +0 -71
  1137. data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_resultset_test.html +0 -86
  1138. data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_transaction.js +0 -196
  1139. data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_transaction_test.html +0 -221
  1140. data/lib/middleman-core/templates/mobile/source/tools/wspl/gearsutils.js +0 -94
  1141. data/lib/middleman-core/templates/mobile/source/tools/wspl/gearsutils_test.html +0 -84
  1142. data/lib/middleman-core/templates/mobile/source/tools/wspl/global_functions.js +0 -72
  1143. data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/index.html +0 -347
  1144. data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/simplenotes.js +0 -503
  1145. data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/styles.css +0 -66
  1146. data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/template.js +0 -75
  1147. data/lib/middleman-core/templates/mobile.rb +0 -24
  1148. data/lib/middleman-core/templates/shared/Gemfile.tt +0 -14
  1149. data/lib/middleman-core/templates/shared/config.ru +0 -4
  1150. data/lib/middleman-core/templates/shared/config.tt +0 -87
  1151. data/lib/middleman-core/templates/shared/gitignore +0 -18
  1152. data/lib/middleman-core/templates.rb +0 -101
  1153. data/lib/middleman-more/core_extensions/compass.rb +0 -75
  1154. data/lib/middleman-more/core_extensions/i18n.rb +0 -238
  1155. data/lib/middleman-more/extensions/asset_hash.rb +0 -128
  1156. data/lib/middleman-more/extensions/asset_host.rb +0 -50
  1157. data/lib/middleman-more/extensions/cache_buster.rb +0 -55
  1158. data/lib/middleman-more/extensions/directory_indexes.rb +0 -24
  1159. data/lib/middleman-more/extensions/relative_assets.rb +0 -28
  1160. data/lib/middleman-more/templates/smacss/source/_footer.haml +0 -1
  1161. data/lib/middleman-more/templates/smacss/source/index.html.haml +0 -1
  1162. data/lib/middleman-more/templates/smacss/source/layouts/layout.haml +0 -13
  1163. data/lib/middleman-more/templates/smacss/source/stylesheets/base/README.markdown +0 -11
  1164. data/lib/middleman-more/templates/smacss/source/stylesheets/base/base.scss +0 -1
  1165. data/lib/middleman-more/templates/smacss/source/stylesheets/base/normalize.scss +0 -375
  1166. data/lib/middleman-more/templates/smacss/source/stylesheets/layout/README.markdown +0 -9
  1167. data/lib/middleman-more/templates/smacss/source/stylesheets/modules/README.markdown +0 -9
  1168. data/lib/middleman-more/templates/smacss/source/stylesheets/states/README.markdown +0 -12
  1169. data/lib/middleman-more/templates/smacss/source/stylesheets/style.css.scss +0 -12
  1170. data/lib/middleman-more/templates/smacss.rb +0 -29
  1171. data/lib/vendored-middleman-deps/fastimage.rb +0 -287
  1172. data/spec/middleman-core/binary_spec.rb +0 -15
  1173. /data/{lib/middleman-core/templates/html5/source/img/.gitignore → fixtures/asset-host-app/source/images/blank1021.gif} +0 -0
  1174. /data/{lib/middleman-core/templates/mobile/source/js/script.js → fixtures/asset-host-app/source/images/blank1022.gif} +0 -0
  1175. /data/fixtures/{asciidoc-app/source/images/tiger.gif → default-alt-tags-app/source/images/blank.gif} +0 -0
  1176. /data/fixtures/i18n-force-locale/source/{index.haml → index.html.haml} +0 -0
  1177. /data/fixtures/i18n-test-app/source/localizable/{one.en.md → one.en.html.md} +0 -0
  1178. /data/fixtures/i18n-test-app/source/localizable/{one.es.md → one.es.html.md} +0 -0
  1179. /data/fixtures/more-markdown-app/source/{with_layout.markdown → with_layout.html.markdown} +0 -0
  1180. /data/fixtures/more-markdown-app/source/{with_layout_erb.markdown.erb → with_layout_erb.html.markdown.erb} +0 -0
@@ -0,0 +1,120 @@
1
+ require 'middleman-core/util'
2
+ require 'middleman-core/rack'
3
+
4
+ class Middleman::Extensions::AssetHash < ::Middleman::Extension
5
+ option :sources, %w(.css .htm .html .js .php .xhtml), 'List of extensions that are searched for hashable assets.'
6
+ option :exts, nil, 'List of extensions that get asset hashes appended to them.'
7
+ option :ignore, [], 'Regexes of filenames to skip adding asset hashes to'
8
+ option :rewrite_ignore, [], 'Regexes of filenames to skip processing for path rewrites'
9
+ option :prefix, '', 'Prefix for hash'
10
+ option :rename_proc, proc { |path, basename, digest, extension, options|
11
+ "#{path}#{basename}-#{options.prefix}#{digest}#{extension}"
12
+ }, 'Accepts path parameters and returns path name'
13
+
14
+ def initialize(app, options_hash={}, &block)
15
+ super
16
+
17
+ require 'addressable/uri'
18
+ require 'digest/sha1'
19
+ require 'rack/mock'
20
+
21
+ # Allow specifying regexes to ignore, plus always ignore apple touch icons
22
+ @ignore = Array(options.ignore) + [/^apple-touch-icon/]
23
+
24
+ # Exclude .ico from the default list because browsers expect it
25
+ # to be named "favicon.ico"
26
+ @exts = options.exts || (app.config[:asset_extensions] - %w(.ico))
27
+
28
+ app.rewrite_inline_urls id: :asset_hash,
29
+ url_extensions: @exts.sort.reverse,
30
+ source_extensions: options.sources,
31
+ ignore: @ignore,
32
+ rewrite_ignore: options.rewrite_ignore,
33
+ proc: method(:rewrite_url),
34
+ after: :asset_host
35
+ end
36
+
37
+ Contract String, Or[String, Pathname], Any => Maybe[String]
38
+ def rewrite_url(asset_path, dirpath, _request_path)
39
+ uri = ::Middleman::Util.parse_uri(asset_path)
40
+ relative_path = !uri.path.start_with?('/')
41
+
42
+ full_asset_path = if relative_path
43
+ dirpath.join(asset_path).to_s
44
+ else
45
+ asset_path
46
+ end
47
+
48
+ return unless asset_page = app.sitemap.find_resource_by_destination_path(full_asset_path) || app.sitemap.find_resource_by_path(full_asset_path)
49
+
50
+ replacement_path = "/#{asset_page.destination_path}"
51
+ replacement_path = Pathname.new(replacement_path).relative_path_from(dirpath).to_s if relative_path
52
+
53
+ replacement_path
54
+ end
55
+
56
+ # Update the main sitemap resource list
57
+ # @return Array<Middleman::Sitemap::Resource>
58
+ Contract ResourceList => ResourceList
59
+ def manipulate_resource_list(resources)
60
+ @rack_client ||= begin
61
+ rack_app = ::Middleman::Rack.new(app).to_app
62
+ ::Rack::MockRequest.new(rack_app)
63
+ end
64
+
65
+ # Process resources in order: binary images and fonts, then SVG, then JS/CSS.
66
+ # This is so by the time we get around to the text files (which may reference
67
+ # images and fonts) the static assets' hashes are already calculated.
68
+ resources.sort_by do |a|
69
+ if %w(.svg .svgz).include? a.ext
70
+ 0
71
+ elsif %w(.js .css).include? a.ext
72
+ 1
73
+ else
74
+ -1
75
+ end
76
+ end.each(&method(:manipulate_single_resource))
77
+ end
78
+
79
+ Contract IsA['Middleman::Sitemap::Resource'] => Maybe[IsA['Middleman::Sitemap::Resource']]
80
+ def manipulate_single_resource(resource)
81
+ return unless @exts.include?(resource.ext)
82
+ return if ignored_resource?(resource)
83
+ return if resource.ignored?
84
+
85
+ digest = if resource.binary?
86
+ ::Digest::SHA1.file(resource.source_file).hexdigest[0..7]
87
+ else
88
+ # Render through the Rack interface so middleware and mounted apps get a shot
89
+ response = @rack_client.get(
90
+ ::WEBrick::HTTPUtils.escape(resource.destination_path),
91
+ 'bypass_inline_url_rewriter_asset_hash' => 'true'
92
+ )
93
+
94
+ raise "#{resource.path} should be in the sitemap!" unless response.status == 200
95
+
96
+ ::Digest::SHA1.hexdigest(response.body)[0..7]
97
+ end
98
+
99
+ path, basename, extension = split_path(resource.destination_path)
100
+ resource.destination_path = options.rename_proc.call(path, basename, digest, extension, options)
101
+ resource
102
+ end
103
+
104
+ Contract IsA['Middleman::Sitemap::Resource'] => Bool
105
+ def ignored_resource?(resource)
106
+ @ignore.any? do |ignore|
107
+ Middleman::Util.path_match(ignore, resource.destination_path)
108
+ end
109
+ end
110
+
111
+ private
112
+
113
+ # Splits resource path into path, basename and extension
114
+ # (e.g. "/images/landscape.png" => ["/images/", "landscape", ".png]
115
+ def split_path(filepath)
116
+ basename = File.basename(filepath, extension = File.extname(filepath))
117
+ path = filepath.chomp(basename + extension)
118
+ [path, basename, extension]
119
+ end
120
+ end
@@ -0,0 +1,41 @@
1
+ require 'addressable/uri'
2
+
3
+ class Middleman::Extensions::AssetHost < ::Middleman::Extension
4
+ option :host, nil, 'The asset host to use or a Proc to determine asset host', required: true
5
+ option :exts, nil, 'List of extensions that get cache busters strings appended to them.'
6
+ option :sources, %w(.css .htm .html .js .php .xhtml), 'List of extensions that are searched for bustable assets.'
7
+ option :ignore, [], 'Regexes of filenames to skip adding query strings to'
8
+ option :rewrite_ignore, [], 'Regexes of filenames to skip processing for host rewrites'
9
+
10
+ def initialize(app, options_hash={}, &block)
11
+ super
12
+
13
+ app.rewrite_inline_urls id: :asset_host,
14
+ url_extensions: options.exts || app.config[:asset_extensions],
15
+ source_extensions: options.sources,
16
+ ignore: options.ignore,
17
+ rewrite_ignore: options.rewrite_ignore,
18
+ proc: method(:rewrite_url)
19
+ end
20
+
21
+ Contract String, Or[String, Pathname], Any => String
22
+ def rewrite_url(asset_path, dirpath, _request_path)
23
+ uri = ::Middleman::Util.parse_uri(asset_path)
24
+ relative_path = uri.path[0..0] != '/'
25
+
26
+ full_asset_path = if relative_path
27
+ dirpath.join(asset_path).to_s
28
+ else
29
+ asset_path
30
+ end
31
+
32
+ asset_prefix = if options[:host].is_a?(Proc)
33
+ options[:host].call(full_asset_path)
34
+ elsif options[:host].is_a?(String)
35
+ options[:host]
36
+ end
37
+
38
+ File.join(asset_prefix, full_asset_path)
39
+ end
40
+ memoize :rewrite_url
41
+ end
@@ -8,13 +8,14 @@ class Middleman::Extensions::AutomaticAltTags < ::Middleman::Extension
8
8
  unless path.include?('://')
9
9
  params[:alt] ||= ''
10
10
 
11
- real_path = path
12
- real_path = File.join(images_dir, real_path) unless real_path.start_with?('/')
13
- full_path = File.join(source_dir, real_path)
11
+ real_path = path.dup
12
+ real_path = File.join(config[:images_dir], real_path) unless real_path.start_with?('/')
14
13
 
15
- if File.exist?(full_path)
14
+ file = app.files.find(:source, real_path)
15
+
16
+ if file && file[:full_path].exist?
16
17
  begin
17
- alt_text = File.basename(full_path, '.*')
18
+ alt_text = File.basename(file[:full_path].to_s, '.*')
18
19
  alt_text.capitalize!
19
20
  params[:alt] = alt_text
20
21
  end
@@ -4,7 +4,7 @@ class Middleman::Extensions::AutomaticImageSizes < ::Middleman::Extension
4
4
  super
5
5
 
6
6
  # Include 3rd-party fastimage library
7
- require 'vendored-middleman-deps/fastimage'
7
+ require 'fastimage'
8
8
  end
9
9
 
10
10
  helpers do
@@ -16,13 +16,22 @@ class Middleman::Extensions::AutomaticImageSizes < ::Middleman::Extension
16
16
  # @return [String]
17
17
  def image_tag(path, params={})
18
18
  if !params.key?(:width) && !params.key?(:height) && !path.include?('://')
19
- real_path = path
20
- real_path = File.join(images_dir, real_path) unless real_path.start_with?('/')
21
- full_path = File.join(source_dir, real_path)
19
+ real_path = path.dup
20
+ real_path = File.join(config[:images_dir], real_path) unless real_path.start_with?('/')
22
21
 
23
- if File.exist?(full_path)
22
+ file = app.files.find(:source, real_path) || app.files.find(:source, real_path.sub(/^\//, ''))
23
+
24
+ if file && file[:full_path].exist?
24
25
  begin
26
+ full_path = file[:full_path].to_s
25
27
  width, height = ::FastImage.size(full_path, raise_on_failure: true)
28
+ # Check for @2x and @3x image
29
+ retina = full_path.match(/@(\d)x\.[a-zA-Z]{3,4}$/)
30
+ if retina
31
+ factor = retina[1].to_i
32
+ width /= factor
33
+ height /= factor
34
+ end
26
35
  params[:width] = width
27
36
  params[:height] = height
28
37
  rescue FastImage::UnknownImageType
@@ -0,0 +1,23 @@
1
+ # The Cache Buster extension
2
+ class Middleman::Extensions::CacheBuster < ::Middleman::Extension
3
+ option :exts, nil, 'List of extensions that get cache busters strings appended to them.'
4
+ option :sources, %w(.css .htm .html .js .php .xhtml), 'List of extensions that are searched for bustable assets.'
5
+ option :ignore, [], 'Regexes of filenames to skip adding query strings to'
6
+ option :rewrite_ignore, [], 'Regexes of filenames to skip processing for path rewrites'
7
+
8
+ def initialize(app, options_hash={}, &block)
9
+ super
10
+
11
+ app.rewrite_inline_urls id: :cache_buster,
12
+ url_extensions: options.exts || app.config[:asset_extensions],
13
+ source_extensions: options.sources,
14
+ ignore: options.ignore,
15
+ rewrite_ignore: options.rewrite_ignore,
16
+ proc: method(:rewrite_url)
17
+ end
18
+
19
+ Contract String, Or[String, Pathname], Any => String
20
+ def rewrite_url(asset_path, _dirpath, _request_path)
21
+ asset_path + '?' + Time.now.strftime('%s')
22
+ end
23
+ end
@@ -0,0 +1,32 @@
1
+ # Directory Indexes extension
2
+ class Middleman::Extensions::DirectoryIndexes < ::Middleman::Extension
3
+ # This should run after most other sitemap manipulators so that it
4
+ # gets a chance to modify any new resources that get added.
5
+ self.resource_list_manipulator_priority = 100
6
+
7
+ # Update the main sitemap resource list
8
+ # @return Array<Middleman::Sitemap::Resource>
9
+ Contract ResourceList => ResourceList
10
+ def manipulate_resource_list(resources)
11
+ index_file = app.config[:index_file]
12
+ new_index_path = "/#{index_file}"
13
+
14
+ extensions = %w(.htm .html .php .xhtml)
15
+
16
+ resources.each do |resource|
17
+ # Check if it would be pointless to reroute
18
+ next if resource.destination_path == index_file ||
19
+ resource.destination_path.end_with?(new_index_path) ||
20
+ !extensions.include?(resource.ext)
21
+
22
+ # Check if file metadata (options set by "page" in config.rb or frontmatter) turns directory_index off
23
+ next if resource.options[:directory_index] == false
24
+
25
+ extensions.each do |ext|
26
+ resource.destination_path = resource.destination_path.chomp(ext)
27
+ end
28
+
29
+ resource.destination_path += new_index_path
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,88 @@
1
+ class Middleman::Extensions::ExternalPipeline < ::Middleman::Extension
2
+ self.supports_multiple_instances = true
3
+
4
+ option :name, nil, 'The name of the pipeline', required: true
5
+ option :command, nil, 'The command to initialize', required: true
6
+ option :source, nil, 'Path to merge into sitemap', required: true
7
+ option :latency, 0.25, 'Latency between refreshes of source'
8
+ option :disable_background_execution, false, "Don't run the command in a separate background thread"
9
+
10
+ def initialize(app, config={}, &block)
11
+ super
12
+
13
+ return if app.mode?(:config)
14
+
15
+ require 'servolux'
16
+ require 'thread'
17
+ require 'fileutils'
18
+
19
+ source_path = File.expand_path(options[:source], app.root)
20
+
21
+ # Make sure it exists, or `listen` will explode.
22
+ ::FileUtils.mkdir_p(source_path)
23
+
24
+ @watcher = app.files.watch :source,
25
+ path: source_path,
26
+ latency: options[:latency],
27
+ frontmatter: false
28
+
29
+ @current_thread = nil
30
+ app.reload(&method(:reload!))
31
+
32
+ logger.info "== Executing: `#{options[:command]}`"
33
+
34
+ if app.build? || options[:disable_background_execution]
35
+ watch_command!(false)
36
+
37
+ @watcher.poll_once!
38
+ else
39
+ watch_command!(true)
40
+ end
41
+ end
42
+
43
+ def reload!
44
+ if @current_thread
45
+ logger.info "== Stopping: `#{options[:command]}`"
46
+
47
+ @current_thread.stop
48
+ @current_thread = nil
49
+ end
50
+ end
51
+
52
+ def watch_command!(async)
53
+ @current_thread = ::Servolux::Child.new(
54
+ command: options[:command],
55
+ suspend: 2
56
+ )
57
+
58
+ @current_thread.start
59
+
60
+ watch_thread = Thread.new do
61
+ while buf = @current_thread.io.gets
62
+ without_newline = buf.sub(/\n$/, '')
63
+ logger.info "== External: #{without_newline}" unless without_newline.empty?
64
+ end
65
+
66
+ @current_thread.wait
67
+
68
+ if !@current_thread.exitstatus.nil? && @current_thread.exitstatus != 0
69
+ logger.error '== External: Command failed with non-zero exit status'
70
+ exit(1)
71
+ end
72
+ end
73
+
74
+ watch_thread.join unless async
75
+ rescue ::Errno::ENOENT => e
76
+ logger.error "== External: Command failed with message: #{e.message}"
77
+ exit(1)
78
+ end
79
+
80
+ private
81
+
82
+ def print_command(stdout)
83
+ while buf = stdout.gets
84
+ without_newline = buf.sub(/\n$/, '')
85
+ logger.info "== External: #{without_newline}" unless without_newline.empty?
86
+ end
87
+ end
88
+ end
@@ -7,11 +7,16 @@
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 .html, .htm, .js and .css.
10
+ # to .css, .htm, .html, .js, and .xhtml
11
11
  #
12
12
  class Middleman::Extensions::Gzip < ::Middleman::Extension
13
- option :exts, %w(.js .css .html .htm), 'File extensions to Gzip when building.'
13
+ option :exts, %w(.css .htm .html .js .svg .xhtml), 'File extensions to Gzip when building.'
14
14
  option :ignore, [], 'Patterns to avoid gzipping'
15
+ option :overwrite, false, 'Overwrite original files instead of adding .gz extension.'
16
+
17
+ class NumberHelpers
18
+ include ::Padrino::Helpers::NumberHelpers
19
+ end
15
20
 
16
21
  def initialize(app, options_hash={})
17
22
  super
@@ -24,7 +29,7 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension
24
29
 
25
30
  def after_build(builder)
26
31
  num_threads = 4
27
- paths = ::Middleman::Util.all_files_under(app.build_dir)
32
+ paths = ::Middleman::Util.all_files_under(app.config[:build_dir])
28
33
  total_savings = 0
29
34
 
30
35
  # Fill a queue with inputs
@@ -59,20 +64,21 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension
59
64
 
60
65
  total_savings += (old_size - new_size)
61
66
  size_change_word = (old_size - new_size) > 0 ? 'smaller' : 'larger'
62
- builder.say_status :gzip, "#{output_filename} (#{app.number_to_human_size((old_size - new_size).abs)} #{size_change_word})"
67
+ builder.trigger :created, "#{output_filename} (#{NumberHelpers.new.number_to_human_size((old_size - new_size).abs)} #{size_change_word})"
63
68
  end
64
69
 
65
- builder.say_status :gzip, "Total gzip savings: #{app.number_to_human_size(total_savings)}", :blue
70
+ builder.trigger :gzip, '', "Total gzip savings: #{NumberHelpers.new.number_to_human_size(total_savings)}"
66
71
  I18n.locale = old_locale
67
72
  end
68
73
 
74
+ Contract String => [Maybe[String], Maybe[Num], Maybe[Num]]
69
75
  def gzip_file(path)
70
76
  input_file = File.open(path, 'rb').read
71
- output_filename = path + '.gz'
77
+ output_filename = options.overwrite ? path : path + '.gz'
72
78
  input_file_time = File.mtime(path)
73
79
 
74
80
  # Check if the right file's already there
75
- if File.exist?(output_filename) && File.mtime(output_filename) == input_file_time
81
+ if !options.overwrite && File.exist?(output_filename) && File.mtime(output_filename) == input_file_time
76
82
  return [nil, nil, nil]
77
83
  end
78
84
 
@@ -100,7 +106,9 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension
100
106
  # Whether a path should be gzipped
101
107
  # @param [Pathname] path A destination path
102
108
  # @return [Boolean]
109
+ Contract Pathname => Bool
103
110
  def should_gzip?(path)
111
+ path = path.sub app.config[:build_dir] + '/', ''
104
112
  options.exts.include?(path.extname) && options.ignore.none? { |ignore| Middleman::Util.path_match(ignore, path.to_s) }
105
113
  end
106
114
  end
@@ -44,7 +44,7 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
44
44
  module LoremObject
45
45
  class << self
46
46
  # 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)
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
48
 
49
49
  # Get one placeholder word
50
50
  # @return [String]
@@ -152,8 +152,8 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
152
152
  color = options[:color]
153
153
 
154
154
  if options[:random_color]
155
- background_color = hex.shuffle[0...6].join
156
- color = hex.shuffle[0...6].join
155
+ background_color = hex.sample(6).join
156
+ color = hex.sample(6).join
157
157
  end
158
158
 
159
159
  src << "/#{background_color.sub(/^#/, '')}" if background_color
@@ -1,22 +1,21 @@
1
+ require 'active_support/core_ext/object/try'
2
+ require 'memoist'
3
+ require 'middleman-core/contracts'
4
+ require 'sassc'
5
+
1
6
  # Minify CSS Extension
2
7
  class Middleman::Extensions::MinifyCss < ::Middleman::Extension
3
- option :compressor, nil, 'Set the CSS compressor to use.'
4
8
  option :inline, false, 'Whether to minify CSS inline within HTML files'
5
9
  option :ignore, [], 'Patterns to avoid minifying'
10
+ option :compressor, proc {
11
+ SassCompressor
12
+ }, 'Set the CSS compressor to use.'
6
13
  option :content_types, %w(text/css), 'Content types of resources that contain CSS'
7
14
  option :inline_content_types, %w(text/html text/php), 'Content types of resources that contain inline CSS'
8
15
 
9
- def initialize(app, options_hash={}, &block)
10
- super
11
-
12
- app.config.define_setting :css_compressor, nil, 'Set the CSS compressor to use. Deprecated in favor of the :compressor option when activating :minify_css'
13
- end
14
-
15
- def after_configuration
16
- chosen_compressor = app.config[:css_compressor] || options[:compressor] || SassCompressor
17
-
16
+ def ready
18
17
  # Setup Rack middleware to minify CSS
19
- app.use Rack, compressor: chosen_compressor,
18
+ app.use Rack, compressor: options[:compressor],
20
19
  ignore: Array(options[:ignore]) + [/\.min\./],
21
20
  inline: options[:inline],
22
21
  content_types: options[:content_types],
@@ -24,25 +23,37 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
24
23
  end
25
24
 
26
25
  class SassCompressor
26
+ COMPRESSED_OPTIONS = { style: :compressed }.freeze
27
+
27
28
  def self.compress(style, options={})
28
- root_node = ::Sass::SCSS::CssParser.new(style, 'middleman-css-input', 1).parse
29
- root_node.options = options.merge(style: :compressed)
30
- root_node.render.strip
29
+ options = options.merge(COMPRESSED_OPTIONS)
30
+
31
+ ::SassC::Engine.new(style, options).render.strip
31
32
  end
32
33
  end
33
34
 
34
35
  # Rack middleware to look for CSS and compress it
35
36
  class Rack
37
+ extend Memoist
38
+ include Contracts
36
39
  INLINE_CSS_REGEX = /(<style[^>]*>\s*(?:\/\*<!\[CDATA\[\*\/\n)?)(.*?)((?:(?:\n\s*)?\/\*\]\]>\*\/)?\s*<\/style>)/m
37
40
 
38
41
  # Init
39
42
  # @param [Class] app
40
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
41
49
  def initialize(app, options={})
42
50
  @app = app
43
- @compressor = options[:compressor]
44
- @ignore = options[:ignore]
45
- @inline = options[:inline]
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
46
57
  @content_types = options[:content_types]
47
58
  @inline_content_types = options[:inline_content_types]
48
59
  end
@@ -63,7 +74,7 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
63
74
  end
64
75
 
65
76
  if minified
66
- headers['Content-Length'] = ::Rack::Utils.bytesize(minified).to_s
77
+ headers['Content-Length'] = minified.bytesize.to_s
67
78
  response = [minified]
68
79
  end
69
80
 
@@ -76,8 +87,9 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
76
87
  # @param [String] path
77
88
  # @return [Boolean]
78
89
  def ignore?(path)
79
- @ignore.any? { |ignore| Middleman::Util.path_match(ignore, path) }
90
+ @ignore.any? { |ignore| ::Middleman::Util.path_match(ignore, path) }
80
91
  end
92
+ memoize :ignore?
81
93
 
82
94
  # Whether this type of content can be minified
83
95
  # @param [String, nil] content_type
@@ -85,6 +97,7 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
85
97
  def minifiable?(content_type)
86
98
  @content_types.include?(content_type)
87
99
  end
100
+ memoize :minifiable?
88
101
 
89
102
  # Whether this type of content contains inline content that can be minified
90
103
  # @param [String, nil] content_type
@@ -92,6 +105,7 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
92
105
  def minifiable_inline?(content_type)
93
106
  @inline_content_types.include?(content_type)
94
107
  end
108
+ memoize :minifiable_inline?
95
109
 
96
110
  # Minify the content
97
111
  # @param [String] content
@@ -99,6 +113,7 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
99
113
  def minify(content)
100
114
  @compressor.compress(content)
101
115
  end
116
+ memoize :minify
102
117
 
103
118
  # Detect and minify inline content
104
119
  # @param [String] content
@@ -108,5 +123,6 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
108
123
  $1 + minify($2) + $3
109
124
  end
110
125
  end
126
+ memoize :minify_inline
111
127
  end
112
128
  end