middleman-core 4.5.0 → 4.6.0

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 (364) hide show
  1. checksums.yaml +4 -4
  2. data/.simplecov +0 -2
  3. data/.yardopts +1 -2
  4. data/Rakefile +1 -1
  5. data/features/builder.feature +4 -4
  6. data/features/content_type.feature +1 -1
  7. data/features/data.feature +5 -0
  8. data/features/front-matter.feature +21 -0
  9. data/features/minify_javascript.feature +38 -39
  10. data/features/preview_changes.feature +11 -0
  11. data/features/sass_in_slim.feature +2 -2
  12. data/features/support/env.rb +8 -0
  13. data/fixtures/asset-hash-app/source/apple-touch-icon.png +0 -0
  14. data/fixtures/asset-hash-app/source/favicon.ico +0 -0
  15. data/fixtures/asset-hash-app/source/fonts/fontawesome-webfont.woff +0 -0
  16. data/fixtures/asset-hash-app/source/fonts/fontawesome-webfont.woff2 +0 -0
  17. data/fixtures/asset-hash-app/source/images/100px.gif +0 -0
  18. data/fixtures/asset-hash-app/source/images/100px.jpg +0 -0
  19. data/fixtures/asset-hash-app/source/images/100px.png +0 -0
  20. data/fixtures/asset-hash-app/source/images/200px.jpg +0 -0
  21. data/fixtures/asset-hash-app/source/images/300px.jpg +0 -0
  22. data/fixtures/asset-hash-host-app/source/images/100px.gif +0 -0
  23. data/fixtures/asset-hash-host-app/source/images/100px.jpg +0 -0
  24. data/fixtures/asset-hash-host-app/source/images/100px.png +0 -0
  25. data/fixtures/asset-hash-minified-app/source/images/100px.jpg +0 -0
  26. data/fixtures/asset-hash-prefix/source/javascripts/application.js.map +0 -0
  27. data/fixtures/asset-hash-remove-filename/source/javascripts/application.js.map +0 -0
  28. data/fixtures/asset-hash-source-map/source/javascripts/application.js.map +0 -0
  29. data/fixtures/asset-host-app/source/.htaccess +0 -0
  30. data/fixtures/asset-host-app/source/images/blank0.gif +0 -0
  31. data/fixtures/asset-host-app/source/images/blank1.gif +0 -0
  32. data/fixtures/asset-host-app/source/images/blank10.gif +0 -0
  33. data/fixtures/asset-host-app/source/images/blank100.gif +0 -0
  34. data/fixtures/asset-host-app/source/images/blank101.gif +0 -0
  35. data/fixtures/asset-host-app/source/images/blank1010.gif +0 -0
  36. data/fixtures/asset-host-app/source/images/blank102.gif +0 -0
  37. data/fixtures/asset-host-app/source/images/blank1020.gif +0 -0
  38. data/fixtures/asset-host-app/source/images/blank1021.gif +0 -0
  39. data/fixtures/asset-host-app/source/images/blank1022.gif +0 -0
  40. data/fixtures/asset-host-app/source/images/blank1023.gif +0 -0
  41. data/fixtures/asset-host-app/source/images/blank1024.gif +0 -0
  42. data/fixtures/asset-host-app/source/images/blank103.gif +0 -0
  43. data/fixtures/asset-host-app/source/images/blank1030.gif +0 -0
  44. data/fixtures/asset-host-app/source/images/blank1031.gif +0 -0
  45. data/fixtures/asset-host-app/source/images/blank1032.gif +0 -0
  46. data/fixtures/asset-host-app/source/images/blank1033.gif +0 -0
  47. data/fixtures/asset-host-app/source/images/blank1034.gif +0 -0
  48. data/fixtures/asset-host-app/source/images/blank104.gif +0 -0
  49. data/fixtures/asset-host-app/source/images/blank1043.gif +0 -0
  50. data/fixtures/asset-host-app/source/images/blank1054.gif +0 -0
  51. data/fixtures/asset-host-app/source/images/blank2.gif +0 -0
  52. data/fixtures/asset-host-app/source/images/blank20.gif +0 -0
  53. data/fixtures/asset-host-app/source/images/blank21.gif +0 -0
  54. data/fixtures/asset-host-app/source/images/blank22.gif +0 -0
  55. data/fixtures/asset-host-app/source/images/blank23.gif +0 -0
  56. data/fixtures/asset-host-app/source/images/blank24.gif +0 -0
  57. data/fixtures/asset-host-app/source/images/blank3.gif +0 -0
  58. data/fixtures/asset-host-app/source/images/blank30.gif +0 -0
  59. data/fixtures/asset-host-app/source/images/blank31.gif +0 -0
  60. data/fixtures/asset-host-app/source/images/blank32.gif +0 -0
  61. data/fixtures/asset-host-app/source/images/blank33.gif +0 -0
  62. data/fixtures/asset-host-app/source/images/blank34.gif +0 -0
  63. data/fixtures/asset-host-app/source/images/blank4.gif +0 -0
  64. data/fixtures/asset-host-app/source/images/blank43.gif +0 -0
  65. data/fixtures/asset-host-app/source/images/blank54.gif +0 -0
  66. data/fixtures/auto-css-app/source/stylesheets/auto-css/index.css +0 -0
  67. data/fixtures/auto-js-directory-index-app/config.rb +0 -0
  68. data/fixtures/automatic-alt-tags-app/config.rb +0 -0
  69. data/fixtures/automatic-directory-matcher-app/source/root-plain.html +0 -0
  70. data/fixtures/automatic-directory-matcher-app/source/root.html.erb +0 -0
  71. data/fixtures/automatic-directory-matcher-app/source/sub--sub--sub-plain.html +0 -0
  72. data/fixtures/automatic-directory-matcher-app/source/sub--sub--sub.html.erb +0 -0
  73. data/fixtures/automatic-directory-matcher-app/source/sub--sub-plain.html +0 -0
  74. data/fixtures/automatic-directory-matcher-app/source/sub--sub.html.erb +0 -0
  75. data/fixtures/automatic-image-size-app/config.rb +0 -0
  76. data/fixtures/build-with-errors-app/source/index.html.erb +0 -0
  77. data/fixtures/cache-buster-app/config.rb +0 -0
  78. data/fixtures/chained-app/config.rb +0 -0
  79. data/fixtures/clean-app/config-empty.rb +0 -0
  80. data/fixtures/clean-app/source/real.html +0 -0
  81. data/fixtures/clean-app/source/should_be_ignored.html +0 -0
  82. data/fixtures/clean-app/source/should_be_ignored2.html +0 -0
  83. data/fixtures/clean-app/source/should_be_ignored3.html +0 -0
  84. data/fixtures/clean-dir-app/source/about.html +0 -0
  85. data/fixtures/clean-nested-app/config.rb +0 -0
  86. data/fixtures/clean-nested-app/source/about.html +0 -0
  87. data/fixtures/clean-nested-app/source/nested/nested.html +0 -0
  88. data/fixtures/coffeescript-app/config.rb +0 -0
  89. data/fixtures/content-type-app/source/.htaccess +0 -0
  90. data/fixtures/content-type-app/source/README +0 -0
  91. data/fixtures/content-type-app/source/javascripts/app.js +0 -0
  92. data/fixtures/content-type-app/source/stylesheets/site.css +0 -0
  93. data/fixtures/csspie/config.rb +0 -0
  94. data/fixtures/custom-layout-app2/config.rb +0 -0
  95. data/fixtures/custom-src-app/src/index.html +0 -0
  96. data/fixtures/data-with-aliases-app/config.rb +3 -0
  97. data/fixtures/data-with-aliases-app/data/pages.yml +9 -0
  98. data/fixtures/data-with-aliases-app/source/index.html.erb +1 -0
  99. data/fixtures/data-with-aliases-app/source/layout.erb +5 -0
  100. data/fixtures/default-alt-tags-app/config.rb +0 -0
  101. data/fixtures/default-alt-tags-app/source/images/blank.gif +0 -0
  102. data/fixtures/different-engine-layout/config.rb +0 -0
  103. data/fixtures/different-engine-partial/config.rb +0 -0
  104. data/fixtures/different-engine-partial/source/index.html.erb +0 -0
  105. data/fixtures/different-engine-partial/source/shared/_footer.str +0 -0
  106. data/fixtures/different-engine-partial/source/shared/_header.erb +0 -0
  107. data/fixtures/dynamic-pages-app/source/real.html +0 -0
  108. data/fixtures/dynamic-pages-app/source/should_be_ignored.html +0 -0
  109. data/fixtures/dynamic-pages-app/source/should_be_ignored2.html +0 -0
  110. data/fixtures/dynamic-pages-app/source/should_be_ignored3.html +0 -0
  111. data/fixtures/dynamic-pages-app/source/should_be_ignored4.html +0 -0
  112. data/fixtures/dynamic-pages-app/source/should_be_ignored5.html +0 -0
  113. data/fixtures/dynamic-pages-app/source/should_be_ignored6.html +0 -0
  114. data/fixtures/dynamic-pages-app/source/should_be_ignored7.html +0 -0
  115. data/fixtures/dynamic-pages-app/source/should_be_ignored8.html +0 -0
  116. data/fixtures/ember-cli-app/source/javascripts/file.js +0 -0
  117. data/fixtures/ember-cli-app/test-app/app/components/.gitkeep +0 -0
  118. data/fixtures/ember-cli-app/test-app/app/controllers/.gitkeep +0 -0
  119. data/fixtures/ember-cli-app/test-app/app/helpers/.gitkeep +0 -0
  120. data/fixtures/ember-cli-app/test-app/app/models/.gitkeep +0 -0
  121. data/fixtures/ember-cli-app/test-app/app/routes/.gitkeep +0 -0
  122. data/fixtures/ember-cli-app/test-app/app/styles/.gitkeep +0 -0
  123. data/fixtures/ember-cli-app/test-app/app/templates/.gitkeep +0 -0
  124. data/fixtures/ember-cli-app/test-app/app/templates/components/.gitkeep +0 -0
  125. data/fixtures/ember-cli-app/test-app/app/views/.gitkeep +0 -0
  126. data/fixtures/ember-cli-app/test-app/public/.gitkeep +0 -0
  127. data/fixtures/ember-cli-app/test-app/tests/unit/.gitkeep +0 -0
  128. data/fixtures/empty-app/not-config.rb +0 -0
  129. data/fixtures/engine-matching-layout/config.rb +0 -0
  130. data/fixtures/env-app/config.rb +0 -0
  131. data/fixtures/extensionless-text-files-app/config.rb +0 -0
  132. data/fixtures/extensionless-text-files-app/source/CNAME +0 -0
  133. data/fixtures/extensionless-text-files-app/source/LICENSE +0 -0
  134. data/fixtures/extensionless-text-files-app/source/README +0 -0
  135. data/fixtures/extensionless-text-files-app/source/index.html +0 -0
  136. data/fixtures/external-helpers/source/automatic.html.erb +0 -0
  137. data/fixtures/external-helpers/source/index.html.erb +0 -0
  138. data/fixtures/external-pipeline-error/source/javascripts/file.js +0 -0
  139. data/fixtures/fonts-app/config.rb +0 -0
  140. data/fixtures/fonts-app/source/fonts/blank/blank.otf +0 -0
  141. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter-toml.html +0 -0
  142. data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.php +0 -0
  143. data/fixtures/frontmatter-settings-app/source/layouts/override.erb +0 -0
  144. data/fixtures/frontmatter-settings-neighbor-app/source/layouts/override.erb +0 -0
  145. data/fixtures/frontmatter-settings-neighbor-app/source/override_layout.html.erb +0 -0
  146. data/fixtures/frontmatter-settings-neighbor-app/source/page_mentioned.html.erb +0 -0
  147. data/fixtures/generator-test/config.rb +1 -14
  148. data/fixtures/gzip-app/source/index.html +0 -0
  149. data/fixtures/i18n-alt-root-app/source/lang_data/hello.html.erb +0 -0
  150. data/fixtures/i18n-alt-root-app/source/lang_data/index.html.erb +0 -0
  151. data/fixtures/i18n-alt-root-app/source/layout.erb +0 -0
  152. data/fixtures/i18n-test-app/data/defaults_en.yml +0 -0
  153. data/fixtures/i18n-test-app/data/defaults_es.yml +0 -0
  154. data/fixtures/i18n-test-app/data/en_defaults.yml +0 -0
  155. data/fixtures/i18n-test-app/source/_country.en.erb +0 -0
  156. data/fixtures/i18n-test-app/source/_country.es.erb +0 -0
  157. data/fixtures/i18n-test-app/source/_site.erb +0 -0
  158. data/fixtures/i18n-test-app/source/images/president.en.svg +0 -0
  159. data/fixtures/i18n-test-app/source/images/president.es.svg +0 -0
  160. data/fixtures/i18n-test-app/source/localizable/_state.en.erb +0 -0
  161. data/fixtures/i18n-test-app/source/localizable/_state.es.erb +0 -0
  162. data/fixtures/i18n-test-app/source/localizable/fallback.html.erb +0 -0
  163. data/fixtures/i18n-test-app/source/localizable/hello.html.erb +0 -0
  164. data/fixtures/i18n-test-app/source/localizable/images/flag.en.svg +0 -0
  165. data/fixtures/i18n-test-app/source/localizable/images/flag.es.svg +0 -0
  166. data/fixtures/i18n-test-app/source/localizable/index.html.erb +0 -0
  167. data/fixtures/i18n-test-app/source/localizable/partials/_greeting.en.erb +0 -0
  168. data/fixtures/i18n-test-app/source/localizable/partials/_greeting.es.erb +0 -0
  169. data/fixtures/ignore-app/source/about.html.erb +0 -0
  170. data/fixtures/ignore-app/source/images/icon/messages.png +0 -0
  171. data/fixtures/ignore-app/source/images/pic.png +0 -0
  172. data/fixtures/ignore-app/source/images/portrait.jpg +0 -0
  173. data/fixtures/ignore-app/source/index.html.erb +0 -0
  174. data/fixtures/ignore-app/source/plain.html +0 -0
  175. data/fixtures/ignore-app/source/reports/another.html +0 -0
  176. data/fixtures/ignore-app/source/reports/index.html +0 -0
  177. data/fixtures/import-app/bower_components/jquery/dist/jquery.min.map +0 -0
  178. data/fixtures/import-app/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -0
  179. data/fixtures/import-app/source/test.html +0 -0
  180. data/fixtures/import-app/static.html +0 -0
  181. data/fixtures/indexable-app/source/.htaccess +0 -0
  182. data/fixtures/indexable-app/source/.htpasswd +0 -0
  183. data/fixtures/indexable-app/source/.nojekyll +0 -0
  184. data/fixtures/indexable-app/source/a_folder/needs_index.html +0 -0
  185. data/fixtures/indexable-app/source/leave_me_alone.html +0 -0
  186. data/fixtures/indexable-app/source/needs_index.html +0 -0
  187. data/fixtures/indexable-app/source/regular/index.html +0 -0
  188. data/fixtures/javascript-app/config.rb +0 -0
  189. data/fixtures/large-build-app/source/.htaccess +0 -0
  190. data/fixtures/large-build-app/source/.htpasswd +0 -0
  191. data/fixtures/large-build-app/source/other_layout.erb +0 -0
  192. data/fixtures/large-build-app/source/spaces in file.html.erb +0 -0
  193. data/fixtures/link-to-app/config.rb +0 -0
  194. data/fixtures/liquid-app/config.rb +0 -0
  195. data/fixtures/liquid-app/source/_liquid_partial.liquid +0 -0
  196. data/fixtures/liquid-app/source/liquid_master.html.liquid +0 -0
  197. data/fixtures/markdown-app/source/filter_html.html.markdown +0 -0
  198. data/fixtures/markdown-app/source/highlighted.html.markdown +0 -0
  199. data/fixtures/markdown-app/source/img.html.markdown +0 -0
  200. data/fixtures/markdown-app/source/link.html.markdown +0 -0
  201. data/fixtures/markdown-app/source/mailto.html.markdown +0 -0
  202. data/fixtures/markdown-app/source/quote.html.markdown +0 -0
  203. data/fixtures/markdown-app/source/safe_links.html.markdown +0 -0
  204. data/fixtures/markdown-app/source/underline.html.markdown +0 -0
  205. data/fixtures/markdown-in-haml-app/config.rb +0 -0
  206. data/fixtures/markdown-in-slim-app/config.rb +0 -0
  207. data/fixtures/minify-css-app/source/stylesheets/bourbon/css3/_selection.scss +0 -0
  208. data/fixtures/minify-css-app/source/stylesheets/report.css +0 -0
  209. data/fixtures/minify-js-app/config.rb +0 -0
  210. data/fixtures/missing-tilt-library-app/source/danger-zone/more-wiki.html.wiki +0 -0
  211. data/fixtures/missing-tilt-library-app/source/safe-zone/my-wiki.html.wiki +0 -0
  212. data/fixtures/missing-tilt-library-app/source/textile-source.html.textile +0 -0
  213. data/fixtures/missing-tilt-library-app/source/wiki-source.html.wiki +0 -0
  214. data/fixtures/more-extensionless-text-files-app/source/CNAME +0 -0
  215. data/fixtures/more-extensionless-text-files-app/source/LICENSE +0 -0
  216. data/fixtures/more-extensionless-text-files-app/source/README +0 -0
  217. data/fixtures/more-extensionless-text-files-app/source/index.html +0 -0
  218. data/fixtures/more-ignore-app/source/about.html.erb +0 -0
  219. data/fixtures/more-ignore-app/source/images/icon/messages.png +0 -0
  220. data/fixtures/more-ignore-app/source/images/pic.png +0 -0
  221. data/fixtures/more-ignore-app/source/images/portrait.jpg +0 -0
  222. data/fixtures/more-ignore-app/source/index.html.erb +0 -0
  223. data/fixtures/more-ignore-app/source/plain.html +0 -0
  224. data/fixtures/more-ignore-app/source/reports/another.html +0 -0
  225. data/fixtures/more-ignore-app/source/reports/index.html +0 -0
  226. data/fixtures/more-preview-app/config.rb +0 -0
  227. data/fixtures/more-preview-app/source/content.html.erb +0 -0
  228. data/fixtures/more-preview-app/source/layout.erb +0 -0
  229. data/fixtures/more-traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
  230. data/fixtures/more-traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
  231. data/fixtures/more-traversal-app/source/directory-indexed.html.erb +0 -0
  232. data/fixtures/more-traversal-app/source/index.html.erb +0 -0
  233. data/fixtures/more-traversal-app/source/proxied.html.erb +0 -0
  234. data/fixtures/more-traversal-app/source/root.html.erb +0 -0
  235. data/fixtures/more-traversal-app/source/sub/index.html.erb +0 -0
  236. data/fixtures/more-traversal-app/source/sub/sibling.html.erb +0 -0
  237. data/fixtures/more-traversal-app/source/sub/sibling2.html.erb +0 -0
  238. data/fixtures/more-traversal-app/source/sub/sub2/index.html.erb +0 -0
  239. data/fixtures/more-traversal-app/source/sub/sub3/deep.html.erb +0 -0
  240. data/fixtures/multiple-data-sources-app/data/two.yml +0 -0
  241. data/fixtures/multiple-data-sources-app/data1/data1.yml +0 -0
  242. data/fixtures/multiple-data-sources-app/data2/data2.yml +0 -0
  243. data/fixtures/multiple-data-sources-app/data2/two.yml +0 -0
  244. data/fixtures/multiple-layouts/config.rb +0 -0
  245. data/fixtures/multiple-sources-app/source/index.html.erb +0 -0
  246. data/fixtures/multiple-sources-app/source/override-in-two.html.erb +0 -0
  247. data/fixtures/multiple-sources-app/source0/override-in-one.html.erb +0 -0
  248. data/fixtures/multiple-sources-app/source1/index1.html.erb +0 -0
  249. data/fixtures/multiple-sources-app/source1/override-in-one.html.erb +0 -0
  250. data/fixtures/multiple-sources-app/source2/index2.html.erb +0 -0
  251. data/fixtures/multiple-sources-app/source2/override-in-two.html.erb +0 -0
  252. data/fixtures/multiple-sources-with-duplicate-file-names-app/source/index.html.erb +0 -0
  253. data/fixtures/multiple-sources-with-duplicate-file-names-app/source2/index.html.erb +0 -0
  254. data/fixtures/nested-data-app/data/examples/deeper/stuff.yml +0 -0
  255. data/fixtures/nested-data-app/data/examples/more.yml +0 -0
  256. data/fixtures/no-layout/config.rb +0 -0
  257. data/fixtures/page-classes-app/source/1-folder/1-inside-with-numeric.html.erb +0 -0
  258. data/fixtures/page-classes-app/source/1-starts-with-numeric.html.erb +0 -0
  259. data/fixtures/page-classes-app/source/2-starts-with-numeric-custom.html.erb +0 -0
  260. data/fixtures/page-helper-layout-block-app/source/index.html.erb +0 -0
  261. data/fixtures/page-helper-layout-block-app/source/path/child.html.erb +0 -0
  262. data/fixtures/page-helper-layout-block-app/source/path/index.html.erb +0 -0
  263. data/fixtures/paginate-app/config.rb +0 -0
  264. data/fixtures/partial-chained_templates-app/config.rb +0 -0
  265. data/fixtures/partials-app/config.rb +0 -0
  266. data/fixtures/partials-app/source/_code_snippet.html +0 -0
  267. data/fixtures/partials-app/source/_locals.erb +0 -0
  268. data/fixtures/partials-app/source/_main.erb +0 -0
  269. data/fixtures/partials-app/source/_main.str +0 -0
  270. data/fixtures/partials-app/source/shared/_footer.erb +0 -0
  271. data/fixtures/partials-app/source/shared/_header.erb +0 -0
  272. data/fixtures/partials-app/source/shared/_snippet.html.erb +0 -0
  273. data/fixtures/partials-app/source/static_underscore.html.erb +0 -0
  274. data/fixtures/partials-app/source/sub/_local.erb +0 -0
  275. data/fixtures/partials-app/source/svg.html.erb +0 -0
  276. data/fixtures/passthrough-app/source/.htaccess +0 -0
  277. data/fixtures/preview-app/config.rb +0 -0
  278. data/fixtures/preview-app/source/content.html.erb +0 -0
  279. data/fixtures/preview-app/source/layout.erb +0 -0
  280. data/fixtures/proxy-pages-app/source/real.html +0 -0
  281. data/fixtures/proxy-pages-app/source/should_be_ignored3.html +0 -0
  282. data/fixtures/proxy-pages-app/source/should_be_ignored6.html +0 -0
  283. data/fixtures/proxy-pages-app/source/should_be_ignored7.html +0 -0
  284. data/fixtures/proxy-pages-app/source/should_be_ignored8.html +0 -0
  285. data/fixtures/related-files-app/config.rb +0 -0
  286. data/fixtures/related-files-app/source/index.html.erb +0 -0
  287. data/fixtures/related-files-app/source/partials/_test.erb +0 -0
  288. data/fixtures/related-files-app/source/partials/_test2.haml +0 -0
  289. data/fixtures/related-files-app/source/stylesheets/_include3.sass +0 -0
  290. data/fixtures/related-files-app/source/stylesheets/_include4.scss +0 -0
  291. data/fixtures/related-files-app/source/stylesheets/include1.css +0 -0
  292. data/fixtures/related-files-app/source/stylesheets/include2.css.scss +0 -0
  293. data/fixtures/related-files-app/source/stylesheets/site.css.scss +0 -0
  294. data/fixtures/relative-app/config.rb +0 -0
  295. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.eot +0 -0
  296. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.svg +0 -0
  297. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.ttf +0 -0
  298. data/fixtures/relative-assets-app/source/fonts/roboto/roboto-regular-webfont.woff +0 -0
  299. data/fixtures/relative-assets-app/source/images/blank2.gif +0 -0
  300. data/fixtures/sass-in-slim-app/config.rb +0 -0
  301. data/fixtures/scss-app/config.rb +0 -0
  302. data/fixtures/scss-app/source/stylesheets/error.css.sass +0 -0
  303. data/fixtures/sinatra-app/config.rb +2 -0
  304. data/fixtures/strip-url-app/config.rb +0 -0
  305. data/fixtures/stylus-preview-app/config.rb +0 -0
  306. data/fixtures/traversal-app/source/.htaccess +0 -0
  307. data/fixtures/traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
  308. data/fixtures/traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
  309. data/fixtures/traversal-app/source/directory-indexed.html.erb +0 -0
  310. data/fixtures/traversal-app/source/index.html.erb +0 -0
  311. data/fixtures/traversal-app/source/proxied.html.erb +0 -0
  312. data/fixtures/traversal-app/source/root.html.erb +0 -0
  313. data/fixtures/traversal-app/source/sub/index.html.erb +0 -0
  314. data/fixtures/traversal-app/source/sub/sibling.html.erb +0 -0
  315. data/fixtures/traversal-app/source/sub/sibling2.html.erb +0 -0
  316. data/fixtures/traversal-app/source/sub/sub2/index.html.erb +0 -0
  317. data/fixtures/traversal-app/source/sub/sub3/deep.html.erb +0 -0
  318. data/fixtures/wildcard-app/source/admin/index.html.erb +0 -0
  319. data/fixtures/wildcard-app/source/admin/page.html.erb +0 -0
  320. data/fixtures/wildcard-app/source/index.html.erb +0 -0
  321. data/fixtures/wildcard-directory-index-app/source/admin/index.html.erb +0 -0
  322. data/fixtures/wildcard-directory-index-app/source/admin/page.html.erb +0 -0
  323. data/fixtures/wildcard-directory-index-app/source/index.html.erb +0 -0
  324. data/lib/middleman-core/application.rb +0 -13
  325. data/lib/middleman-core/builder.rb +3 -3
  326. data/lib/middleman-core/contracts.rb +0 -1
  327. data/lib/middleman-core/core_extensions/collections/lazy_root.rb +1 -1
  328. data/lib/middleman-core/core_extensions/collections/lazy_step.rb +1 -1
  329. data/lib/middleman-core/extensions/minify_javascript.rb +1 -1
  330. data/lib/middleman-core/file_renderer.rb +1 -7
  331. data/lib/middleman-core/meta_pages/assets/glyphicons-halflings.png +0 -0
  332. data/lib/middleman-core/meta_pages/assets/sitemap.js +0 -0
  333. data/lib/middleman-core/preview_server/server_hostname.rb +0 -2
  334. data/lib/middleman-core/preview_server.rb +3 -2
  335. data/lib/middleman-core/rack.rb +6 -6
  336. data/lib/middleman-core/renderers/coffee_script.rb +2 -6
  337. data/lib/middleman-core/renderers/erb.rb +15 -3
  338. data/lib/middleman-core/renderers/haml.rb +1 -3
  339. data/lib/middleman-core/renderers/kramdown.rb +7 -11
  340. data/lib/middleman-core/renderers/less.rb +10 -26
  341. data/lib/middleman-core/renderers/liquid.rb +1 -1
  342. data/lib/middleman-core/renderers/redcarpet.rb +4 -14
  343. data/lib/middleman-core/renderers/sass.rb +3 -10
  344. data/lib/middleman-core/renderers/sass_functions.rb +2 -2
  345. data/lib/middleman-core/renderers/slim.rb +9 -1
  346. data/lib/middleman-core/sources/source_watcher.rb +1 -1
  347. data/lib/middleman-core/step_definitions/commandline_steps.rb +14 -14
  348. data/lib/middleman-core/step_definitions/server_steps.rb +1 -1
  349. data/lib/middleman-core/step_definitions.rb +3 -0
  350. data/lib/middleman-core/template_renderer.rb +2 -2
  351. data/lib/middleman-core/util/data.rb +4 -5
  352. data/lib/middleman-core/util/paths.rb +2 -1
  353. data/lib/middleman-core/util.rb +6 -0
  354. data/lib/middleman-core/version.rb +1 -1
  355. data/lib/middleman-core.rb +0 -2
  356. data/middleman-core.gemspec +16 -15
  357. data/spec/middleman-core/binary_spec/middleman +0 -0
  358. data/spec/middleman-core/binary_spec/middleman.png +0 -0
  359. data/spec/middleman-core/binary_spec/stars.svgz +0 -0
  360. data/spec/spec_helper.rb +2 -2
  361. metadata +1176 -56
  362. data/.gemtest +0 -0
  363. data/.rspec +0 -1
  364. data/cucumber.yml +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 955d0ea89728b170a8a5e7b94dadbf9c7e848ac05c41ee69e8d6932e531c6d45
4
- data.tar.gz: 1c59256a26b181e745b0a263514411c61aa6887fff9c293b5a9dba0ebb10f665
3
+ metadata.gz: 4f75b57d4f7b5046290d41e0748282ab8fa02a2b230be9fb5045242432f2a72d
4
+ data.tar.gz: 4aba8ff90a5e723281990b3a1a7341509c1aa8891d231ecc3fe3ad39de29c7e9
5
5
  SHA512:
6
- metadata.gz: 6a7956f26e7c55806f06ab7dc18e5fb544f3f91a43b814011edb5aecec5fa0d9124cd873b402a04d65edabba4f0d3f32750d963be889d3379a0f17bb1356428a
7
- data.tar.gz: a6f6e1038e04ea990628b2a6a62b59fdfb4da77acfa46f49a07ac3774c2f706c1ff7366a1f745e0a70ccd1dbe4f18ad276664a616bb05da4f0033186b3fe292e
6
+ metadata.gz: 3e63cf33f58076d4b2d8ebcaf7803157236a86443e273ea0400d93aa6a8456c7e641ca0552a6ed9197f3494ba045dd22c8fafef293f6aad5273d1bc9cc8cc5b6
7
+ data.tar.gz: d2012044ebe3eaf1aaba82208b945d03fc18bc9830373cc5603242bc90eef9183c852ad0c7e2cf2ad6e047b7eace0c14228ca77e152c32579d34f9e5d4cfe393
data/.simplecov CHANGED
@@ -2,6 +2,4 @@ SimpleCov.configure do
2
2
  add_filter '/fixtures/'
3
3
  add_filter '/features/'
4
4
  add_filter '/spec/'
5
- add_filter '/step_definitions/'
6
- add_filter '/lib/vendored-middleman-deps/'
7
5
  end
data/.yardopts CHANGED
@@ -1,6 +1,5 @@
1
1
  lib/**/*.rb
2
- --exclude lib/vendored-middleman-deps/
3
2
  --exclude lib/middleman-core/step_definitions
4
3
  --no-private
5
4
  --hide-void-return
6
- --markup=markdown
5
+ --markup=markdown
data/Rakefile CHANGED
@@ -1,3 +1,3 @@
1
1
  RAKE_ROOT = __FILE__.freeze
2
2
  GEM_NAME = ENV['NAME'] || 'middleman-core'
3
- require File.expand_path(File.dirname(__FILE__) + '/../gem_rake_helper')
3
+ require File.expand_path("#{File.dirname(__FILE__)}/../gem_rake_helper")
@@ -55,7 +55,7 @@ Feature: Builder
55
55
  Scenario: Builded text file(ex: html, css, xml, txt)'s permission is 0644
56
56
  Given a successfully built app at "large-build-app"
57
57
  When I cd to "build"
58
- Then the mode of filesystem object "index.html" should match "0644"
59
- And the mode of filesystem object "stylesheets/static.css" should match "0644"
60
- And the mode of filesystem object "feed.xml" should match "0644"
61
- And the mode of filesystem object ".htaccess" should match "0644"
58
+ Then the file named "index.html" should have permissions "0644"
59
+ And the file named "stylesheets/static.css" should have permissions "0644"
60
+ And the file named "feed.xml" should have permissions "0644"
61
+ And the file named ".htaccess" should have permissions "0644"
@@ -7,7 +7,7 @@ Feature: Setting the right content type for files
7
7
  When I go to "/images/blank.gif"
8
8
  Then the content type should be "image/gif"
9
9
  When I go to "/javascripts/app.js"
10
- Then the content type should be "application/javascript"
10
+ Then the content type should be "text/javascript"
11
11
  When I go to "/stylesheets/site.css"
12
12
  Then the content type should be "text/css"
13
13
  When I go to "/README"
@@ -83,6 +83,11 @@ Feature: Local Data API
83
83
  Then I should see "title2:More"
84
84
  Then I should see "title3:Stuff"
85
85
 
86
+ Scenario: Using data with aliases
87
+ Given the Server is running at "data-with-aliases-app"
88
+ When I go to "/test1.html"
89
+ Then I should see "Welcome"
90
+
86
91
  Scenario: Using data postscript
87
92
  Given the Server is running at "nested-data-app"
88
93
  When I go to "/extracontent.html"
@@ -80,6 +80,27 @@ Feature: YAML Front Matter
80
80
  When I go to "/front-matter-change.html"
81
81
  Then I should see "Hello World"
82
82
 
83
+ Scenario: A template should handle YAML with types
84
+ Given the Server is running at "frontmatter-app"
85
+ And the file "source/front-matter-types.html.erb" has the contents
86
+ """
87
+ ---
88
+ date_matter: 2020-01-01
89
+ time_matter: 2020-12-31 13:14:15 +0000
90
+ symbol_matter: :a_symbol
91
+ regexp_matter: !ruby/regexp /a|b/
92
+ ---
93
+ Date: <%= current_page.data.date_matter.strftime('%d %m %Y') %>
94
+ Time: <%= current_page.data.time_matter.strftime('%d %m %Y %H::%M::%S %z') %>
95
+ Symbol: <%= current_page.data.symbol_matter.is_a? Symbol %>
96
+ Regexp: <%= "za" =~ current_page.data.regexp_matter %>
97
+ """
98
+ When I go to "/front-matter-types.html"
99
+ Then I should see "Date: 01 01 2020"
100
+ Then I should see "Time: 31 12 2020 13::14::15 +0000"
101
+ Then I should see "Symbol: true"
102
+ Then I should see "Regexp: 1"
103
+
83
104
  Scenario: Rendering raw (template-less) (toml)
84
105
  Given the Server is running at "frontmatter-app"
85
106
  When I go to "/raw-front-matter-toml.html"
@@ -19,23 +19,23 @@ Feature: Minify Javascript
19
19
  })();
20
20
  </script>
21
21
  <script>
22
- ;(function() {
23
- this;
24
- should();
25
- too();
26
- })();
22
+ ;(function() {
23
+ this;
24
+ should();
25
+ too();
26
+ })();
27
27
  </script>
28
28
  <script type='text/javascript'>
29
- //<!--
30
- ;(function() {
31
- one;
32
- line();
33
- here();
34
- })();
35
- //-->
29
+ //<!--
30
+ ;(function() {
31
+ one;
32
+ line();
33
+ here();
34
+ })();
35
+ //-->
36
36
  </script>
37
37
  <script type='text/html'>
38
- I'm a jQuery {{template}}.
38
+ I'm a jQuery {{template}}.
39
39
  </script>
40
40
  """
41
41
 
@@ -66,23 +66,23 @@ Feature: Minify Javascript
66
66
  })();
67
67
  </script>
68
68
  <script>
69
- ;(function() {
70
- this;
71
- should();
72
- too();
73
- })();
69
+ ;(function() {
70
+ this;
71
+ should();
72
+ too();
73
+ })();
74
74
  </script>
75
75
  <script type='text/javascript'>
76
- //<!--
77
- ;(function() {
78
- one;
79
- line();
80
- here();
81
- })();
82
- //-->
76
+ //<!--
77
+ ;(function() {
78
+ one;
79
+ line();
80
+ here();
81
+ })();
82
+ //-->
83
83
  </script>
84
84
  <script type='text/html'>
85
- I'm a jQuery {{template}}.
85
+ I'm a jQuery {{template}}.
86
86
  </script>
87
87
  """
88
88
 
@@ -108,15 +108,15 @@ Feature: Minify Javascript
108
108
  Hello
109
109
  </script>
110
110
  <script>
111
- Hello
111
+ Hello
112
112
  </script>
113
113
  <script type='text/javascript'>
114
- //<!--
114
+ //<!--
115
115
  Hello
116
- //-->
116
+ //-->
117
117
  </script>
118
118
  <script type='text/html'>
119
- I'm a jQuery {{template}}.
119
+ I'm a jQuery {{template}}.
120
120
  </script>
121
121
  """
122
122
 
@@ -131,18 +131,18 @@ Feature: Minify Javascript
131
131
  Then I should see:
132
132
  """
133
133
  <script>
134
- !function(){should(),all.be(),on={one:line}}();
134
+ should(),all.be(),on={one:line};
135
135
  </script>
136
136
  <script>
137
- !function(){should(),too()}();
137
+ should(),too();
138
138
  </script>
139
139
  <script type='text/javascript'>
140
- //<!--
141
- !function(){one,line(),here()}();
142
- //-->
140
+ //<!--
141
+ one,line(),here();
142
+ //-->
143
143
  </script>
144
144
  <script type='text/html'>
145
- I'm a jQuery {{template}}.
145
+ I'm a jQuery {{template}}.
146
146
  </script>
147
147
  """
148
148
 
@@ -159,11 +159,11 @@ Feature: Minify Javascript
159
159
  <?='Hello'?>
160
160
 
161
161
  <script>
162
- !function(){should(),all.be(),on={one:line}}();
162
+ should(),all.be(),on={one:line};
163
163
  </script>
164
164
  <script type='text/javascript'>
165
165
  //<!--
166
- !function(){one,line(),here()}();
166
+ one,line(),here();
167
167
  //-->
168
168
  </script>
169
169
  <script type='text/html'>
@@ -263,4 +263,3 @@ Feature: Minify Javascript
263
263
  And the Server is running at "passthrough-app"
264
264
  When I go to "/javascripts/coffee_test.js"
265
265
  Then I should see "11" lines
266
-
@@ -27,3 +27,14 @@ Feature: Preview Changes
27
27
  And the file "source/a-page.html.erb" is removed
28
28
  When I go to "/a-page.html"
29
29
  Then I should see "File Not Found"
30
+
31
+ Scenario: A template with apostrophe is reloaded during preview
32
+ Given the Server is running at "preview-app"
33
+ And the file "source/a-page.html.erb" has the contents
34
+ """
35
+ Matz's Ruby Interpreter
36
+ """
37
+ When I go to "/a-page.html"
38
+ Then I should see "Matz's Ruby Interpreter"
39
+ When I go to "/a-page.html"
40
+ Then I should see "Matz's Ruby Interpreter"
@@ -15,7 +15,7 @@ Feature: Sass/SCSS support in Slim
15
15
  """
16
16
  Given the Server is running at "sass-in-slim-app"
17
17
  When I go to "/sass_filter/"
18
- Then I should see "text/css"
18
+ Then I should see "<style>"
19
19
  Then I should see ".sass"
20
20
  Then I should see "margin:0"
21
21
 
@@ -35,6 +35,6 @@ Feature: Sass/SCSS support in Slim
35
35
  """
36
36
  Given the Server is running at "sass-in-slim-app"
37
37
  When I go to "/scss_filter/"
38
- Then I should see "text/css"
38
+ Then I should see "<style>"
39
39
  Then I should see ".scss"
40
40
  Then I should see "margin:0"
@@ -7,6 +7,14 @@ SimpleCov.root(File.expand_path(File.dirname(__FILE__) + '/../..'))
7
7
 
8
8
  SimpleCov.start
9
9
 
10
+ require "rspec"
11
+
12
+ RSpec.configure do |config|
13
+ config.expect_with :rspec do |expectations|
14
+ expectations.max_formatted_output_length = nil
15
+ end
16
+ end
17
+
10
18
  PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
11
19
  require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-core')
12
20
  require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-core', 'step_definitions')
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ data.pages.each do |p|
2
+ proxy p.from, p.to, locals: { content: p.content }
3
+ end
@@ -0,0 +1,9 @@
1
+ -
2
+ from: "/test1.html"
3
+ to: "/index.html"
4
+ content: &greeting 'Welcome'
5
+
6
+ -
7
+ from: "/test2.html"
8
+ to: "/index.html"
9
+ content: *greeting
@@ -0,0 +1 @@
1
+ <p><%= content %></p>
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <%= yield %>
4
+ </body>
5
+ </html>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes