middleman-core 3.4.1 → 4.0.0.alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (507) hide show
  1. checksums.yaml +4 -4
  2. data/{fixtures/asciidoc-app/config.rb → .gemtest} +0 -0
  3. data/.yardopts +2 -6
  4. data/Rakefile +5 -1
  5. data/features/asset_hash.feature +32 -61
  6. data/features/asset_host.feature +11 -23
  7. data/features/builder.feature +2 -0
  8. data/features/cache_buster.feature +1 -1
  9. data/features/chained_templates.feature +2 -92
  10. data/features/clean_build.feature +0 -18
  11. data/features/cli_init.feature +17 -111
  12. data/features/content_type.feature +2 -5
  13. data/features/custom_layouts.feature +24 -20
  14. data/features/data.feature +0 -28
  15. data/features/directory_index.feature +9 -9
  16. data/features/front-matter-neighbor.feature +0 -32
  17. data/features/front-matter.feature +0 -17
  18. data/features/helpers_content_tag.feature +2 -2
  19. data/features/helpers_form_tag.feature +4 -4
  20. data/features/helpers_link_to.feature +11 -29
  21. data/features/helpers_url_for.feature +11 -11
  22. data/features/i18n_builder.feature +5 -5
  23. data/features/i18n_preview.feature +8 -8
  24. data/features/markdown_kramdown.feature +1 -1
  25. data/features/markdown_kramdown_in_haml.feature +1 -2
  26. data/features/markdown_redcarpet.feature +23 -23
  27. data/features/minify_css.feature +9 -75
  28. data/features/minify_javascript.feature +12 -65
  29. data/features/mount_rack.feature +2 -4
  30. data/features/multiple-sources.feature +27 -0
  31. data/features/proxy_pages.feature +0 -10
  32. data/features/redirects.feature +6 -7
  33. data/features/relative_assets.feature +21 -66
  34. data/features/slim.feature +11 -7
  35. data/features/stylus.feature +1 -1
  36. data/features/support/env.rb +4 -4
  37. data/fixtures/asset-hash-app/config.rb +0 -2
  38. data/fixtures/asset-hash-app/source/index.html.erb +1 -1
  39. data/fixtures/asset-hash-host-app/config.rb +1 -3
  40. data/fixtures/asset-host-app/source/asset_host.html.erb +20 -1
  41. data/fixtures/asset-host-app/source/stylesheets/asset_host.css.sass +47 -2
  42. data/fixtures/auto-css-app/config.rb +8 -10
  43. data/fixtures/auto-js-app/config.rb +8 -10
  44. data/fixtures/basic-data-app/config.rb +2 -4
  45. data/fixtures/cache-buster-app/source/stylesheets/relative_assets.css.sass +0 -1
  46. data/fixtures/cache-buster-app/source/stylesheets/site.css.sass +3 -1
  47. data/fixtures/capture-html-app/config.rb +3 -5
  48. data/fixtures/clean-app/config-complications.rb +4 -6
  49. data/fixtures/clean-app/config.rb +4 -6
  50. data/fixtures/content-for-app/config.rb +3 -5
  51. data/fixtures/custom-layout-app/config.rb +1 -1
  52. data/fixtures/data-app/config.rb +1 -1
  53. data/fixtures/dynamic-pages-app/config.rb +20 -42
  54. data/fixtures/dynamic-pages-app/source/real/index.html.erb +3 -3
  55. data/fixtures/ember-cli-app/config.rb +5 -0
  56. data/fixtures/{compass-sprites-app/config.rb → ember-cli-app/source/javascripts/file.js} +0 -0
  57. data/fixtures/ember-cli-app/test-app/.bowerrc +3 -0
  58. data/fixtures/ember-cli-app/test-app/.gitignore +17 -0
  59. data/fixtures/ember-cli-app/test-app/.jshintrc +32 -0
  60. data/fixtures/ember-cli-app/test-app/Brocfile.js +20 -0
  61. data/fixtures/ember-cli-app/test-app/README.md +25 -0
  62. data/fixtures/ember-cli-app/test-app/app/app.js +14 -0
  63. data/fixtures/{implied-extensions-app/config.rb → ember-cli-app/test-app/app/components/.gitkeep} +0 -0
  64. data/fixtures/{javascript-app/config.rb → ember-cli-app/test-app/app/controllers/.gitkeep} +0 -0
  65. data/fixtures/{more-implied-extensions-app/config.rb → ember-cli-app/test-app/app/helpers/.gitkeep} +0 -0
  66. data/fixtures/ember-cli-app/test-app/app/index.html +26 -0
  67. data/fixtures/{partial-chained_templates-app/config.rb → ember-cli-app/test-app/app/models/.gitkeep} +0 -0
  68. data/fixtures/ember-cli-app/test-app/app/router.js +10 -0
  69. data/fixtures/{preview-server-app/config-empty.rb → ember-cli-app/test-app/app/routes/.gitkeep} +0 -0
  70. data/fixtures/{request-app/config.rb → ember-cli-app/test-app/app/styles/.gitkeep} +0 -0
  71. data/fixtures/ember-cli-app/test-app/app/styles/app.css +3 -0
  72. data/fixtures/{traversal-app/source/.htaccess → ember-cli-app/test-app/app/templates/.gitkeep} +0 -0
  73. data/fixtures/ember-cli-app/test-app/app/templates/application.hbs +3 -0
  74. data/{lib/middleman-core/templates/html5/source/img/.gitignore → fixtures/ember-cli-app/test-app/app/templates/components/.gitkeep} +0 -0
  75. data/{lib/middleman-core/templates/mobile/source/js/script.js → fixtures/ember-cli-app/test-app/app/views/.gitkeep} +0 -0
  76. data/fixtures/ember-cli-app/test-app/bower.json +16 -0
  77. data/fixtures/ember-cli-app/test-app/config/environment.js +38 -0
  78. data/fixtures/ember-cli-app/test-app/package.json +31 -0
  79. data/fixtures/ember-cli-app/test-app/public/.gitkeep +0 -0
  80. data/fixtures/ember-cli-app/test-app/testem.json +6 -0
  81. data/fixtures/ember-cli-app/test-app/tests/.jshintrc +73 -0
  82. data/fixtures/ember-cli-app/test-app/tests/helpers/resolver.js +9 -0
  83. data/fixtures/ember-cli-app/test-app/tests/helpers/start-app.js +30 -0
  84. data/fixtures/ember-cli-app/test-app/tests/index.html +50 -0
  85. data/fixtures/ember-cli-app/test-app/tests/test-helper.js +6 -0
  86. data/fixtures/ember-cli-app/test-app/tests/unit/.gitkeep +0 -0
  87. data/fixtures/env-app/config.rb +0 -0
  88. data/fixtures/env-app/environments/development.rb +1 -0
  89. data/fixtures/env-app/environments/production.rb +2 -0
  90. data/fixtures/env-app/source/index.html.erb +3 -0
  91. data/fixtures/env-app/source/stylesheets/site.css.scss +3 -0
  92. data/fixtures/external-helpers/config.rb +1 -1
  93. data/fixtures/feature-params-app/config.rb +10 -6
  94. data/fixtures/feature-params-app/source/index.html.erb +2 -3
  95. data/fixtures/fonts-app/source/stylesheets/fonts.css.scss +6 -0
  96. data/fixtures/frontmatter-neighbor-app/config.rb +30 -0
  97. data/fixtures/frontmatter-settings-app/config.rb +2 -2
  98. data/fixtures/frontmatter-settings-neighbor-app/config.rb +33 -3
  99. data/fixtures/generator-test/config.rb +5 -10
  100. data/fixtures/glob-app/config.rb +1 -1
  101. data/fixtures/i18n-force-locale/config.rb +2 -4
  102. data/fixtures/i18n-force-locale/source/{index.haml → index.html.haml} +0 -0
  103. data/fixtures/i18n-test-app/source/localizable/{one.en.md → one.en.html.md} +0 -0
  104. data/fixtures/i18n-test-app/source/localizable/{one.es.md → one.es.html.md} +0 -0
  105. data/fixtures/indexable-app/config.rb +2 -2
  106. data/fixtures/indexable-app/source/evil spaces.html +1 -1
  107. data/fixtures/large-build-app/config.rb +1 -5
  108. data/fixtures/large-build-app/source/spaces in file.html.erb +1 -1
  109. data/fixtures/manual-layout-override/config.rb +1 -1
  110. data/fixtures/markdown-app/config.rb +1 -1
  111. data/fixtures/markdown-frontmatter-options-app/config.rb +1 -1
  112. data/fixtures/minify-css-app/source/stylesheets/site.css.sass +3 -1
  113. data/fixtures/more-frontmatter-settings-app/config.rb +1 -1
  114. data/fixtures/more-markdown-app/source/{with_layout.markdown → with_layout.html.markdown} +0 -0
  115. data/fixtures/more-markdown-app/source/{with_layout_erb.markdown.erb → with_layout_erb.html.markdown.erb} +0 -0
  116. data/fixtures/more-traversal-app/config.rb +4 -4
  117. data/fixtures/more-traversal-app/source/layout.erb +1 -1
  118. data/fixtures/multiple-data-sources-app/config.rb +3 -0
  119. data/fixtures/multiple-data-sources-app/data/data.yml +1 -0
  120. data/fixtures/multiple-data-sources-app/data/two.yml +1 -0
  121. data/fixtures/multiple-data-sources-app/data0/one.yml +1 -0
  122. data/fixtures/multiple-data-sources-app/data1/data1.yml +1 -0
  123. data/fixtures/multiple-data-sources-app/data1/one.yml +1 -0
  124. data/fixtures/multiple-data-sources-app/data2/data2.yml +1 -0
  125. data/fixtures/multiple-data-sources-app/data2/two.yml +1 -0
  126. data/fixtures/multiple-data-sources-app/source/index.html.erb +10 -0
  127. data/fixtures/multiple-sources-app/config.rb +3 -0
  128. data/fixtures/multiple-sources-app/source/index.html.erb +1 -0
  129. data/fixtures/multiple-sources-app/source/override-in-two.html.erb +1 -0
  130. data/fixtures/multiple-sources-app/source0/override-in-one.html.erb +1 -0
  131. data/fixtures/multiple-sources-app/source1/index1.html.erb +1 -0
  132. data/fixtures/multiple-sources-app/source1/override-in-one.html.erb +1 -0
  133. data/fixtures/multiple-sources-app/source2/index2.html.erb +1 -0
  134. data/fixtures/multiple-sources-app/source2/override-in-two.html.erb +1 -0
  135. data/fixtures/padrino-helpers-app/source/former_padrino_test.html.erb +3 -3
  136. data/fixtures/page-classes-app/config.rb +2 -4
  137. data/fixtures/page-classes-app/source/2-starts-with-numeric-custom.html.erb +1 -1
  138. data/fixtures/page-helper-layout-block-app/config.rb +1 -1
  139. data/fixtures/partials-app/source/locals.html.erb +1 -1
  140. data/fixtures/partials-app/source/shared/{snippet.erb → _snippet.html.erb} +0 -0
  141. data/fixtures/partials-app/source/sub/index.html.erb +1 -1
  142. data/fixtures/passthrough-app/source/stylesheets/site.css.sass +5 -1
  143. data/fixtures/proxy-pages-app/config.rb +12 -15
  144. data/fixtures/relative-app/source/stylesheets/relative_assets.css.sass +1 -2
  145. data/fixtures/relative-assets-app/source/javascripts/application.js +8 -0
  146. data/fixtures/relative-assets-app/source/relative_image.html.erb +0 -1
  147. data/fixtures/relative-assets-app/source/stylesheets/relative_assets.css.sass +1 -2
  148. data/fixtures/scss-app/source/stylesheets/site_scss.css.scss +3 -1
  149. data/fixtures/stylus-preview-app/source/content.html.erb +4 -0
  150. data/fixtures/traversal-app/config.rb +4 -4
  151. data/fixtures/traversal-app/source/layout.erb +1 -1
  152. data/fixtures/v4-extension-callbacks/config.rb +21 -5
  153. data/fixtures/wildcard-app/config.rb +1 -1
  154. data/fixtures/wildcard-directory-index-app/config.rb +1 -1
  155. data/lib/middleman-core.rb +5 -2
  156. data/lib/middleman-core/application.rb +212 -131
  157. data/lib/middleman-core/builder.rb +255 -0
  158. data/lib/middleman-core/config_context.rb +103 -0
  159. data/lib/middleman-core/configuration.rb +15 -92
  160. data/lib/middleman-core/contracts.rb +149 -0
  161. data/lib/middleman-core/core_extensions.rb +86 -45
  162. data/lib/middleman-core/core_extensions/data.rb +82 -72
  163. data/lib/{middleman-more → middleman-core}/core_extensions/default_helpers.rb +34 -140
  164. data/lib/middleman-core/core_extensions/external_helpers.rb +23 -27
  165. data/lib/middleman-core/core_extensions/file_watcher.rb +59 -169
  166. data/lib/middleman-core/core_extensions/front_matter.rb +72 -131
  167. data/lib/middleman-core/core_extensions/i18n.rb +186 -0
  168. data/lib/middleman-core/core_extensions/rendering.rb +45 -533
  169. data/lib/middleman-core/core_extensions/routing.rb +53 -51
  170. data/lib/middleman-core/core_extensions/show_exceptions.rb +11 -18
  171. data/lib/middleman-core/extension.rb +183 -56
  172. data/lib/middleman-core/extension_manager.rb +80 -0
  173. data/lib/middleman-core/extensions.rb +96 -67
  174. data/lib/middleman-core/extensions/asset_hash.rb +92 -0
  175. data/lib/middleman-core/extensions/asset_host.rb +37 -0
  176. data/lib/{middleman-more → middleman-core}/extensions/automatic_alt_tags.rb +6 -5
  177. data/lib/{middleman-more → middleman-core}/extensions/automatic_image_sizes.rb +9 -13
  178. data/lib/middleman-core/extensions/cache_buster.rb +27 -0
  179. data/lib/{middleman-more → middleman-core}/extensions/directory_indexes.rb +9 -7
  180. data/lib/middleman-core/extensions/external_pipeline.rb +37 -0
  181. data/lib/{middleman-more → middleman-core}/extensions/gzip.rb +10 -3
  182. data/lib/{middleman-more → middleman-core}/extensions/lorem.rb +2 -2
  183. data/lib/middleman-core/extensions/minify_css.rb +86 -0
  184. data/lib/middleman-core/extensions/minify_javascript.rb +93 -0
  185. data/lib/middleman-core/extensions/relative_assets.rb +38 -0
  186. data/lib/middleman-core/file_renderer.rb +139 -0
  187. data/lib/middleman-core/load_paths.rb +21 -28
  188. data/lib/middleman-core/meta_pages.rb +9 -9
  189. data/lib/middleman-core/meta_pages/sitemap_resource.rb +3 -6
  190. data/lib/middleman-core/meta_pages/sitemap_tree.rb +1 -1
  191. data/lib/middleman-core/middleware/inline_url_rewriter.rb +96 -0
  192. data/lib/middleman-core/preview_server.rb +65 -196
  193. data/lib/middleman-core/profiling.rb +14 -15
  194. data/lib/middleman-core/rack.rb +138 -0
  195. data/lib/middleman-core/renderers/coffee_script.rb +10 -13
  196. data/lib/middleman-core/renderers/erb.rb +3 -15
  197. data/lib/middleman-core/renderers/haml.rb +33 -18
  198. data/lib/middleman-core/renderers/kramdown.rb +6 -4
  199. data/lib/middleman-core/renderers/less.rb +12 -18
  200. data/lib/middleman-core/renderers/liquid.rb +22 -18
  201. data/lib/middleman-core/renderers/markdown.rb +36 -49
  202. data/lib/middleman-core/renderers/redcarpet.rb +11 -4
  203. data/lib/middleman-core/renderers/sass.rb +36 -27
  204. data/lib/middleman-core/renderers/sass_functions.rb +116 -0
  205. data/lib/middleman-core/renderers/slim.rb +19 -26
  206. data/lib/middleman-core/renderers/stylus.rb +4 -14
  207. data/lib/middleman-core/sitemap/extensions/ignores.rb +35 -73
  208. data/lib/middleman-core/sitemap/extensions/on_disk.rb +29 -48
  209. data/lib/middleman-core/sitemap/extensions/proxies.rb +111 -133
  210. data/lib/middleman-core/sitemap/extensions/redirects.rb +68 -102
  211. data/lib/middleman-core/sitemap/extensions/request_endpoints.rb +59 -83
  212. data/lib/middleman-core/sitemap/extensions/traversal.rb +14 -15
  213. data/lib/middleman-core/sitemap/resource.rb +99 -71
  214. data/lib/middleman-core/sitemap/store.rb +79 -132
  215. data/lib/middleman-core/sources.rb +310 -0
  216. data/lib/middleman-core/sources/source_watcher.rb +268 -0
  217. data/lib/middleman-core/step_definitions.rb +2 -3
  218. data/lib/middleman-core/step_definitions/builder_steps.rb +15 -13
  219. data/lib/middleman-core/step_definitions/middleman_steps.rb +2 -18
  220. data/lib/middleman-core/step_definitions/server_steps.rb +43 -77
  221. data/lib/middleman-core/template_context.rb +181 -0
  222. data/lib/middleman-core/template_renderer.rb +213 -0
  223. data/lib/middleman-core/util.rb +319 -241
  224. data/lib/middleman-core/util/hash_with_indifferent_access.rb +103 -0
  225. data/lib/middleman-core/version.rb +1 -1
  226. data/lib/middleman/rack.rb +0 -1
  227. data/middleman-core.gemspec +36 -28
  228. data/spec/middleman-core/path_match_spec.rb +37 -0
  229. data/spec/spec_helper.rb +2 -25
  230. metadata +237 -454
  231. data/bin/middleman +0 -18
  232. data/cucumber.yml +0 -2
  233. data/features/asciidoc.feature +0 -155
  234. data/features/cli/preview_server-hook.feature +0 -17
  235. data/features/cli/preview_server.feature +0 -532
  236. data/features/compass-sprites.feature +0 -6
  237. data/features/console.feature +0 -10
  238. data/features/current_page_request_path_backwards.feature +0 -6
  239. data/features/fonts.feature +0 -15
  240. data/features/i18n_link_to.feature +0 -209
  241. data/features/image_srcset_paths.feature +0 -7
  242. data/features/implied_extensions.feature +0 -69
  243. data/features/instance_vars.feature +0 -9
  244. data/features/javascript-testing.feature +0 -18
  245. data/features/more-implied_extensions.feature +0 -44
  246. data/features/partials_dir.feature +0 -30
  247. data/features/queryable.feature +0 -35
  248. data/features/request_params.feature +0 -6
  249. data/features/static_server.feature +0 -6
  250. data/features/step_definitions/page_layout_steps.rb +0 -15
  251. data/features/step_definitions/queryable_steps.rb +0 -212
  252. data/features/support/preserve_mime_types.rb +0 -7
  253. data/features/v3_extensions.feature +0 -20
  254. data/features/working_directory.feature +0 -33
  255. data/fixtures/asciidoc-app/source/_include.adoc +0 -1
  256. data/fixtures/asciidoc-app/source/code.adoc +0 -3
  257. data/fixtures/asciidoc-app/source/custom-attribute.adoc +0 -3
  258. data/fixtures/asciidoc-app/source/gallery.adoc +0 -1
  259. data/fixtures/asciidoc-app/source/hello-no-layout.adoc +0 -2
  260. data/fixtures/asciidoc-app/source/hello-with-front-matter.adoc +0 -5
  261. data/fixtures/asciidoc-app/source/hello-with-layout.adoc +0 -2
  262. data/fixtures/asciidoc-app/source/hello-with-title.adoc +0 -5
  263. data/fixtures/asciidoc-app/source/hello.adoc +0 -4
  264. data/fixtures/asciidoc-app/source/images/tiger.gif +0 -0
  265. data/fixtures/asciidoc-app/source/layouts/default.erb +0 -9
  266. data/fixtures/asciidoc-app/source/master.adoc +0 -3
  267. data/fixtures/asset-hash-app/source/api.json.erb +0 -1
  268. data/fixtures/asset-hash-app/source/fonts/fontawesome-webfont.woff +0 -0
  269. data/fixtures/asset-hash-app/source/fonts/fontawesome-webfont.woff2 +0 -0
  270. data/fixtures/asset-hash-app/source/images/200px.jpg +0 -0
  271. data/fixtures/asset-hash-app/source/images/300px.jpg +0 -0
  272. data/fixtures/asset-hash-app/source/slim.html.slim +0 -8
  273. data/fixtures/asset-hash-app/source/stylesheets/uses_fonts.css +0 -4
  274. data/fixtures/asset-hash-app/source/subdir/api.json.erb +0 -1
  275. data/fixtures/chained-app/source/test.erb.combobreaker.str.erb +0 -8
  276. data/fixtures/clean-app/config-hidden-dir-after.rb +0 -5
  277. data/fixtures/clean-app/config-hidden-dir-before.rb +0 -1
  278. data/fixtures/compass-sprites-app/source/images/icon/arrow_down.png +0 -0
  279. data/fixtures/compass-sprites-app/source/images/icon/arrow_left.png +0 -0
  280. data/fixtures/compass-sprites-app/source/images/icon/arrow_right.png +0 -0
  281. data/fixtures/compass-sprites-app/source/images/icon/arrow_up.png +0 -0
  282. data/fixtures/compass-sprites-app/source/stylesheets/site.css.scss +0 -3
  283. data/fixtures/content-type-app/source/index.php +0 -1
  284. data/fixtures/current-page-app/config.rb +0 -3
  285. data/fixtures/current-page-app/source/request-path.html.erb +0 -1
  286. data/fixtures/default-partials-dir-app/source/_partial.html.erb +0 -1
  287. data/fixtures/default-partials-dir-app/source/index.html.erb +0 -2
  288. data/fixtures/fonts-app/source/stylesheets/fonts.css.sass +0 -5
  289. data/fixtures/frontmatter-app/source/front-matter-auto.erb +0 -6
  290. data/fixtures/frontmatter-app/source/front-matter-pandoc.html.md.erb +0 -13
  291. data/fixtures/frontmatter-app/source/json-front-matter-auto.erb +0 -6
  292. data/fixtures/frontmatter-neighbor-app/source/front-matter-auto.erb +0 -1
  293. data/fixtures/frontmatter-neighbor-app/source/front-matter-auto.erb.frontmatter +0 -4
  294. data/fixtures/frontmatter-neighbor-app/source/json-front-matter-auto.erb +0 -1
  295. data/fixtures/frontmatter-neighbor-app/source/json-front-matter-auto.erb.frontmatter +0 -4
  296. data/fixtures/image-srcset-paths-app/image-srcset-paths.html.erb +0 -1
  297. data/fixtures/image-srcset-paths-app/images/blank.gif +0 -0
  298. data/fixtures/implied-extensions-app/source/index.erb +0 -1
  299. data/fixtures/instance-vars-app/config.rb +0 -7
  300. data/fixtures/instance-vars-app/source/content.html.erb +0 -2
  301. data/fixtures/instance-vars-app/source/layout.erb +0 -1
  302. data/fixtures/javascript-app/source/index.html +0 -17
  303. data/fixtures/minify-css-app/source/inline-css.php +0 -8
  304. data/fixtures/minify-css-app/source/stylesheets/site.xcss.sass +0 -5
  305. data/fixtures/minify-js-app/source/inline-js.php +0 -22
  306. data/fixtures/minify-js-app/source/javascripts/js_test.xjs +0 -8
  307. data/fixtures/more-implied-extensions-app/source/javascripts/app.coffee +0 -1
  308. data/fixtures/more-implied-extensions-app/source/layouts/layout.erb +0 -3
  309. data/fixtures/more-implied-extensions-app/source/stylesheets/style.scss +0 -3
  310. data/fixtures/more-implied-extensions-app/source/stylesheets/style2.sass +0 -3
  311. data/fixtures/more-implied-extensions-app/source/test.haml +0 -4
  312. data/fixtures/more-implied-extensions-app/source/test2.markdown +0 -3
  313. data/fixtures/more-implied-extensions-app/source/test3.slim +0 -3
  314. data/fixtures/more-implied-extensions-app/source/test4.liquid +0 -1
  315. data/fixtures/partials-dir-app/source/index.html.erb +0 -2
  316. data/fixtures/partials-dir-app/source/nested/partials/_partial.html.erb +0 -1
  317. data/fixtures/partials-dir-app/source/partials/_partial.html.erb +0 -1
  318. data/fixtures/plain-app/index.html +0 -1
  319. data/fixtures/preview-server-app/bin/dns_server.rb +0 -33
  320. data/fixtures/preview-server-app/config-complications.rb +0 -11
  321. data/fixtures/preview-server-app/config.rb +0 -11
  322. data/fixtures/preview-server-app/source/index.html.erb +0 -1
  323. data/fixtures/preview-server-app/source/layout.erb +0 -9
  324. data/fixtures/preview-server-app/source/layouts/custom.erb +0 -8
  325. data/fixtures/preview-server-app/source/real.html +0 -1
  326. data/fixtures/preview-server-app/source/real/index.html.erb +0 -5
  327. data/fixtures/preview-server-app/source/should_be_ignored.html +0 -1
  328. data/fixtures/preview-server-app/source/should_be_ignored2.html +0 -1
  329. data/fixtures/preview-server-app/source/should_be_ignored3.html +0 -1
  330. data/fixtures/preview-server-app/source/static.html +0 -1
  331. data/fixtures/preview-server-hook-app/config.rb +0 -19
  332. data/fixtures/preview-server-hook-app/source/index.html.erb +0 -9
  333. data/fixtures/proxy-pages-app/source/real/index-ivars.html.erb +0 -6
  334. data/fixtures/relative-assets-app/source/absolute_image_relative_css.html.erb +0 -9
  335. data/fixtures/relative-assets-app/source/javascripts/app.js +0 -3
  336. data/fixtures/relative-assets-app/source/relative_image_absolute_css.html.erb +0 -9
  337. data/fixtures/request-app/source/index.html.erb +0 -3
  338. data/fixtures/stylus-preview-app/source/layout.erb +0 -1
  339. data/lib/middleman-core/cli.rb +0 -88
  340. data/lib/middleman-core/cli/build.rb +0 -300
  341. data/lib/middleman-core/cli/bundler.rb +0 -39
  342. data/lib/middleman-core/cli/console.rb +0 -52
  343. data/lib/middleman-core/cli/extension.rb +0 -47
  344. data/lib/middleman-core/cli/init.rb +0 -71
  345. data/lib/middleman-core/cli/server.rb +0 -99
  346. data/lib/middleman-core/core_extensions/data/file_loader.rb +0 -71
  347. data/lib/middleman-core/core_extensions/extensions.rb +0 -197
  348. data/lib/middleman-core/core_extensions/request.rb +0 -312
  349. data/lib/middleman-core/dns_resolver.rb +0 -73
  350. data/lib/middleman-core/dns_resolver/basic_network_resolver.rb +0 -52
  351. data/lib/middleman-core/dns_resolver/hosts_resolver.rb +0 -63
  352. data/lib/middleman-core/dns_resolver/local_link_resolver.rb +0 -44
  353. data/lib/middleman-core/dns_resolver/network_resolver.rb +0 -42
  354. data/lib/middleman-core/preview_server/checks.rb +0 -81
  355. data/lib/middleman-core/preview_server/information.rb +0 -273
  356. data/lib/middleman-core/preview_server/network_interface_inventory.rb +0 -65
  357. data/lib/middleman-core/preview_server/server_hostname.rb +0 -39
  358. data/lib/middleman-core/preview_server/server_information.rb +0 -153
  359. data/lib/middleman-core/preview_server/server_information_callback_proxy.rb +0 -35
  360. data/lib/middleman-core/preview_server/server_information_validator.rb +0 -18
  361. data/lib/middleman-core/preview_server/server_ip_address.rb +0 -55
  362. data/lib/middleman-core/preview_server/server_url.rb +0 -63
  363. data/lib/middleman-core/preview_server/tcp_port_prober.rb +0 -29
  364. data/lib/middleman-core/renderers/asciidoc.rb +0 -58
  365. data/lib/middleman-core/sitemap.rb +0 -76
  366. data/lib/middleman-core/sitemap/extensions/content_type.rb +0 -16
  367. data/lib/middleman-core/sitemap/queryable.rb +0 -151
  368. data/lib/middleman-core/step_definitions/commandline_steps.rb +0 -88
  369. data/lib/middleman-core/templates.rb +0 -101
  370. data/lib/middleman-core/templates/default.rb +0 -37
  371. data/lib/middleman-core/templates/default/source/images/background.png +0 -0
  372. data/lib/middleman-core/templates/default/source/images/middleman.png +0 -0
  373. data/lib/middleman-core/templates/default/source/index.html.erb +0 -10
  374. data/lib/middleman-core/templates/default/source/javascripts/all.js +0 -1
  375. data/lib/middleman-core/templates/default/source/layouts/layout.erb +0 -19
  376. data/lib/middleman-core/templates/default/source/stylesheets/all.css +0 -55
  377. data/lib/middleman-core/templates/default/source/stylesheets/normalize.css +0 -375
  378. data/lib/middleman-core/templates/empty.rb +0 -22
  379. data/lib/middleman-core/templates/empty/Gemfile.tt +0 -6
  380. data/lib/middleman-core/templates/extension/Gemfile +0 -18
  381. data/lib/middleman-core/templates/extension/Rakefile +0 -14
  382. data/lib/middleman-core/templates/extension/features/support/env.rb +0 -4
  383. data/lib/middleman-core/templates/extension/gemspec +0 -24
  384. data/lib/middleman-core/templates/extension/gitignore +0 -5
  385. data/lib/middleman-core/templates/extension/lib/lib.rb +0 -38
  386. data/lib/middleman-core/templates/extension/lib/middleman_extension.rb +0 -1
  387. data/lib/middleman-core/templates/html5.rb +0 -29
  388. data/lib/middleman-core/templates/html5/source/.htaccess +0 -542
  389. data/lib/middleman-core/templates/html5/source/404.html +0 -157
  390. data/lib/middleman-core/templates/html5/source/LICENSE.md +0 -19
  391. data/lib/middleman-core/templates/html5/source/README.md +0 -63
  392. data/lib/middleman-core/templates/html5/source/apple-touch-icon-114x114-precomposed.png +0 -0
  393. data/lib/middleman-core/templates/html5/source/apple-touch-icon-144x144-precomposed.png +0 -0
  394. data/lib/middleman-core/templates/html5/source/apple-touch-icon-57x57-precomposed.png +0 -0
  395. data/lib/middleman-core/templates/html5/source/apple-touch-icon-72x72-precomposed.png +0 -0
  396. data/lib/middleman-core/templates/html5/source/apple-touch-icon-precomposed.png +0 -0
  397. data/lib/middleman-core/templates/html5/source/apple-touch-icon.png +0 -0
  398. data/lib/middleman-core/templates/html5/source/crossdomain.xml +0 -15
  399. data/lib/middleman-core/templates/html5/source/css/main.css +0 -298
  400. data/lib/middleman-core/templates/html5/source/css/normalize.css +0 -504
  401. data/lib/middleman-core/templates/html5/source/favicon.ico +0 -0
  402. data/lib/middleman-core/templates/html5/source/humans.txt +0 -15
  403. data/lib/middleman-core/templates/html5/source/index.html.erb +0 -6
  404. data/lib/middleman-core/templates/html5/source/js/main.js +0 -1
  405. data/lib/middleman-core/templates/html5/source/js/plugins.js +0 -14
  406. data/lib/middleman-core/templates/html5/source/js/vendor/jquery-1.8.0.min.js +0 -2
  407. data/lib/middleman-core/templates/html5/source/js/vendor/modernizr-2.6.1.min.js +0 -4
  408. data/lib/middleman-core/templates/html5/source/layouts/layout.erb +0 -40
  409. data/lib/middleman-core/templates/html5/source/robots.txt +0 -3
  410. data/lib/middleman-core/templates/local.rb +0 -27
  411. data/lib/middleman-core/templates/mobile.rb +0 -24
  412. data/lib/middleman-core/templates/mobile/source/404.html +0 -37
  413. data/lib/middleman-core/templates/mobile/source/README.markdown +0 -21
  414. data/lib/middleman-core/templates/mobile/source/crossdomain.xml +0 -25
  415. data/lib/middleman-core/templates/mobile/source/css/style.css +0 -315
  416. data/lib/middleman-core/templates/mobile/source/humans.txt +0 -43
  417. data/lib/middleman-core/templates/mobile/source/img/h/apple-touch-icon.png +0 -0
  418. data/lib/middleman-core/templates/mobile/source/img/h/splash.png +0 -0
  419. data/lib/middleman-core/templates/mobile/source/img/l/apple-touch-icon-precomposed.png +0 -0
  420. data/lib/middleman-core/templates/mobile/source/img/l/apple-touch-icon.png +0 -0
  421. data/lib/middleman-core/templates/mobile/source/img/l/splash.png +0 -0
  422. data/lib/middleman-core/templates/mobile/source/img/m/apple-touch-icon.png +0 -0
  423. data/lib/middleman-core/templates/mobile/source/index.html +0 -92
  424. data/lib/middleman-core/templates/mobile/source/js/libs/modernizr-custom.js +0 -14
  425. data/lib/middleman-core/templates/mobile/source/js/libs/respond.min.js +0 -7
  426. data/lib/middleman-core/templates/mobile/source/js/mylibs/helper.js +0 -171
  427. data/lib/middleman-core/templates/mobile/source/js/plugins.js +0 -20
  428. data/lib/middleman-core/templates/mobile/source/robots.txt +0 -4
  429. data/lib/middleman-core/templates/mobile/source/sitemap.xml +0 -9
  430. data/lib/middleman-core/templates/mobile/source/test/index.html +0 -31
  431. data/lib/middleman-core/templates/mobile/source/test/qunit/qunit.css +0 -148
  432. data/lib/middleman-core/templates/mobile/source/test/qunit/qunit.js +0 -1265
  433. data/lib/middleman-core/templates/mobile/source/test/tests.js +0 -21
  434. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/Readme.PDF +0 -0
  435. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx1.snippet +0 -31
  436. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx2.snippet +0 -2
  437. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/ga.aspx +0 -195
  438. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/sample.aspx +0 -44
  439. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/ga.jsp +0 -225
  440. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp1.snippet +0 -35
  441. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp2.snippet +0 -2
  442. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/sample.jsp +0 -51
  443. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/ga.php +0 -176
  444. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/php1.snippet +0 -30
  445. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/php2.snippet +0 -4
  446. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/sample.php +0 -44
  447. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/ga.pl +0 -195
  448. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/perl1.snippet +0 -27
  449. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/perl2.snippet +0 -1
  450. data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/sample.pl +0 -38
  451. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/COPYING +0 -202
  452. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/bookmark_bubble.js +0 -559
  453. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.html +0 -43
  454. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.js +0 -57
  455. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/arrow.png +0 -0
  456. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/close.png +0 -0
  457. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/generate_base64_images +0 -33
  458. data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/icon_calendar.png +0 -0
  459. data/lib/middleman-core/templates/mobile/source/tools/wspl/README +0 -27
  460. data/lib/middleman-core/templates/mobile/source/tools/wspl/databasefactory.js +0 -45
  461. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworker.js +0 -324
  462. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworker_test.html +0 -393
  463. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworkerstarter.js +0 -32
  464. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_gears.js +0 -595
  465. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_gears_test.html +0 -404
  466. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_html5.js +0 -203
  467. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_html5_test.html +0 -468
  468. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapperapi.js +0 -202
  469. data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapperapi_test.html +0 -51
  470. data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_resultset.js +0 -71
  471. data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_resultset_test.html +0 -86
  472. data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_transaction.js +0 -196
  473. data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_transaction_test.html +0 -221
  474. data/lib/middleman-core/templates/mobile/source/tools/wspl/gearsutils.js +0 -94
  475. data/lib/middleman-core/templates/mobile/source/tools/wspl/gearsutils_test.html +0 -84
  476. data/lib/middleman-core/templates/mobile/source/tools/wspl/global_functions.js +0 -72
  477. data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/index.html +0 -347
  478. data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/simplenotes.js +0 -503
  479. data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/styles.css +0 -66
  480. data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/template.js +0 -75
  481. data/lib/middleman-core/templates/shared/Gemfile.tt +0 -14
  482. data/lib/middleman-core/templates/shared/config.ru +0 -3
  483. data/lib/middleman-core/templates/shared/config.tt +0 -87
  484. data/lib/middleman-core/templates/shared/gitignore +0 -21
  485. data/lib/middleman-more/core_extensions/compass.rb +0 -75
  486. data/lib/middleman-more/core_extensions/i18n.rb +0 -312
  487. data/lib/middleman-more/extensions/asset_hash.rb +0 -128
  488. data/lib/middleman-more/extensions/asset_host.rb +0 -50
  489. data/lib/middleman-more/extensions/cache_buster.rb +0 -55
  490. data/lib/middleman-more/extensions/minify_css.rb +0 -112
  491. data/lib/middleman-more/extensions/minify_javascript.rb +0 -120
  492. data/lib/middleman-more/extensions/relative_assets.rb +0 -24
  493. data/lib/middleman-more/templates/smacss.rb +0 -29
  494. data/lib/middleman-more/templates/smacss/source/_footer.haml +0 -1
  495. data/lib/middleman-more/templates/smacss/source/index.html.haml +0 -1
  496. data/lib/middleman-more/templates/smacss/source/layouts/layout.haml +0 -13
  497. data/lib/middleman-more/templates/smacss/source/stylesheets/base/README.markdown +0 -11
  498. data/lib/middleman-more/templates/smacss/source/stylesheets/base/base.scss +0 -1
  499. data/lib/middleman-more/templates/smacss/source/stylesheets/base/normalize.scss +0 -375
  500. data/lib/middleman-more/templates/smacss/source/stylesheets/layout/README.markdown +0 -9
  501. data/lib/middleman-more/templates/smacss/source/stylesheets/modules/README.markdown +0 -9
  502. data/lib/middleman-more/templates/smacss/source/stylesheets/states/README.markdown +0 -12
  503. data/lib/middleman-more/templates/smacss/source/stylesheets/style.css.scss +0 -12
  504. data/lib/vendored-middleman-deps/fastimage.rb +0 -287
  505. data/spec/middleman-core/dns_resolver_spec.rb +0 -118
  506. data/spec/middleman-core/preview_server/server_hostname_spec.rb +0 -39
  507. data/spec/middleman-core/preview_server/server_ip_address_spec.rb +0 -43
@@ -1,22 +0,0 @@
1
- # A barebones template with nothing much in it
2
- class Middleman::Templates::Empty < Middleman::Templates::Base
3
- # Template files are relative to this file
4
- # @return [String]
5
- def self.source_root
6
- File.dirname(__FILE__)
7
- end
8
-
9
- def self.gemfile_template
10
- 'empty/Gemfile.tt'
11
- end
12
-
13
- # Actually output the files
14
- # @return [void]
15
- def build_scaffold!
16
- create_file File.join(location, 'config.rb'), "\n", force: options[:force]
17
- empty_directory File.join(location, 'source'), force: options[:force]
18
- end
19
- end
20
-
21
- # Register this template
22
- Middleman::Templates.register(:empty, Middleman::Templates::Empty)
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem "middleman", "~><%= Middleman::VERSION %>"
4
-
5
- # For faster file watcher updates on Windows:
6
- gem "wdm", "~> 0.1.0", :platforms => [:mswin, :mingw]
@@ -1,18 +0,0 @@
1
- # If you do not have OpenSSL installed, update
2
- # the following line to use "http://" instead
3
- source 'https://rubygems.org'
4
-
5
- # Specify your gem's dependencies in <%= name %>.gemspec
6
- gemspec
7
-
8
- group :development do
9
- gem 'rake'
10
- gem 'rdoc'
11
- gem 'yard'
12
- end
13
-
14
- group :test do
15
- gem 'cucumber'
16
- gem 'aruba'
17
- gem 'rspec'
18
- end
@@ -1,14 +0,0 @@
1
- require 'bundler'
2
- Bundler::GemHelper.install_tasks
3
-
4
- require 'cucumber/rake/task'
5
-
6
- Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
7
- t.cucumber_opts = "--color --tags ~@wip --strict"
8
- end
9
-
10
- require 'rake/clean'
11
-
12
- task test: ['cucumber']
13
-
14
- task default: :test
@@ -1,4 +0,0 @@
1
- PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
2
- require 'middleman-core'
3
- require 'middleman-core/step_definitions'
4
- require File.join(PROJECT_ROOT_PATH, 'lib', '<%= name %>')
@@ -1,24 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
-
4
- Gem::Specification.new do |s|
5
- s.name = "<%= name %>"
6
- s.version = "0.0.1"
7
- s.platform = Gem::Platform::RUBY
8
- # s.authors = ["Your Name"]
9
- # s.email = ["email@example.com"]
10
- # s.homepage = "http://example.com"
11
- # s.summary = %q{A short summary of your extension}
12
- # s.description = %q{A longer description of your extension}
13
-
14
- s.files = `git ls-files`.split("\n")
15
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
- s.require_paths = ["lib"]
18
-
19
- # The version of middleman-core your extension depends on
20
- s.add_runtime_dependency("middleman-core", [">= <%= ::Middleman::VERSION %>"])
21
-
22
- # Additional dependencies
23
- # s.add_runtime_dependency("gem-name", "gem-version")
24
- end
@@ -1,5 +0,0 @@
1
- # Ignore bundler lock file
2
- /Gemfile.lock
3
-
4
- # Ignore pkg folder
5
- /pkg
@@ -1,38 +0,0 @@
1
- # Require core library
2
- require 'middleman-core'
3
-
4
- # Extension namespace
5
- class MyExtension < ::Middleman::Extension
6
- option :my_option, 'default', 'An example option'
7
-
8
- def initialize(app, options_hash={}, &block)
9
- # Call super to build options from the options_hash
10
- super
11
-
12
- # Require libraries only when activated
13
- # require 'necessary/library'
14
-
15
- # set up your extension
16
- # puts options.my_option
17
- end
18
-
19
- def after_configuration
20
- # Do something
21
- end
22
-
23
- # A Sitemap Manipulator
24
- # def manipulate_resource_list(resources)
25
- # end
26
-
27
- # module do
28
- # def a_helper
29
- # end
30
- # end
31
- end
32
-
33
- # Register extensions which can be activated
34
- # Make sure we have the version of Middleman we expect
35
- # Name param may be omited, it will default to underscored
36
- # version of class name
37
-
38
- # MyExtension.register(:my_extension)
@@ -1 +0,0 @@
1
- require '<%= name %>'
@@ -1,29 +0,0 @@
1
- # HTML5 Boilerplate template
2
- class Middleman::Templates::Html5 < Middleman::Templates::Base
3
- class_option 'css_dir',
4
- default: 'css',
5
- desc: 'The path to the css files'
6
- class_option 'js_dir',
7
- default: 'js',
8
- desc: 'The path to the javascript files'
9
- class_option 'images_dir',
10
- default: 'img',
11
- desc: 'The path to the image files'
12
-
13
- # Templates are relative to this file
14
- # @return [String]
15
- def self.source_root
16
- File.dirname(__FILE__)
17
- end
18
-
19
- # Output the files
20
- # @return [void]
21
- def build_scaffold!
22
- template 'shared/config.tt', File.join(location, 'config.rb'), force: options[:force]
23
- directory 'html5/source', File.join(location, 'source'), force: options[:force]
24
- empty_directory File.join(location, 'source'), force: options[:force]
25
- end
26
- end
27
-
28
- # Register the template
29
- Middleman::Templates.register(:html5, Middleman::Templates::Html5)
@@ -1,542 +0,0 @@
1
- # Apache configuration file
2
- # httpd.apache.org/docs/2.2/mod/quickreference.html
3
-
4
- # Note .htaccess files are an overhead, this logic should be in your Apache
5
- # config if possible: httpd.apache.org/docs/2.2/howto/htaccess.html
6
-
7
- # Techniques in here adapted from all over, including:
8
- # Kroc Camen: camendesign.com/.htaccess
9
- # perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/
10
- # Sample .htaccess file of CMS MODx: modxcms.com
11
-
12
-
13
- # ----------------------------------------------------------------------
14
- # Better website experience for IE users
15
- # ----------------------------------------------------------------------
16
-
17
- # Force the latest IE version, in various cases when it may fall back to IE7 mode
18
- # github.com/rails/rails/commit/123eb25#commitcomment-118920
19
- # Use ChromeFrame if it's installed for a better experience for the poor IE folk
20
-
21
- <IfModule mod_headers.c>
22
- Header set X-UA-Compatible "IE=Edge,chrome=1"
23
- # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
24
- <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|woff2|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
25
- Header unset X-UA-Compatible
26
- </FilesMatch>
27
- </IfModule>
28
-
29
-
30
- # ----------------------------------------------------------------------
31
- # Cross-domain AJAX requests
32
- # ----------------------------------------------------------------------
33
-
34
- # Serve cross-domain Ajax requests, disabled by default.
35
- # enable-cors.org
36
- # code.google.com/p/html5security/wiki/CrossOriginRequestSecurity
37
-
38
- # <IfModule mod_headers.c>
39
- # Header set Access-Control-Allow-Origin "*"
40
- # </IfModule>
41
-
42
-
43
- # ----------------------------------------------------------------------
44
- # CORS-enabled images (@crossorigin)
45
- # ----------------------------------------------------------------------
46
-
47
- # Send CORS headers if browsers request them; enabled by default for images.
48
- # developer.mozilla.org/en/CORS_Enabled_Image
49
- # blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
50
- # hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
51
- # wiki.mozilla.org/Security/Reviews/crossoriginAttribute
52
-
53
- <IfModule mod_setenvif.c>
54
- <IfModule mod_headers.c>
55
- # mod_headers, y u no match by Content-Type?!
56
- <FilesMatch "\.(gif|png|jpe?g|svg|svgz|ico|webp)$">
57
- SetEnvIf Origin ":" IS_CORS
58
- Header set Access-Control-Allow-Origin "*" env=IS_CORS
59
- </FilesMatch>
60
- </IfModule>
61
- </IfModule>
62
-
63
-
64
- # ----------------------------------------------------------------------
65
- # Webfont access
66
- # ----------------------------------------------------------------------
67
-
68
- # Allow access from all domains for webfonts.
69
- # Alternatively you could only whitelist your
70
- # subdomains like "subdomain.example.com".
71
-
72
- <IfModule mod_headers.c>
73
- <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css)$">
74
- Header set Access-Control-Allow-Origin "*"
75
- </FilesMatch>
76
- </IfModule>
77
-
78
-
79
- # ----------------------------------------------------------------------
80
- # Proper MIME type for all files
81
- # ----------------------------------------------------------------------
82
-
83
- # JavaScript
84
- # Normalize to standard type (it's sniffed in IE anyways)
85
- # tools.ietf.org/html/rfc4329#section-7.2
86
- AddType application/javascript js jsonp
87
- AddType application/json json
88
-
89
- # Audio
90
- AddType audio/ogg oga ogg
91
- AddType audio/mp4 m4a f4a f4b
92
-
93
- # Video
94
- AddType video/ogg ogv
95
- AddType video/mp4 mp4 m4v f4v f4p
96
- AddType video/webm webm
97
- AddType video/x-flv flv
98
-
99
- # SVG
100
- # Required for svg webfonts on iPad
101
- # twitter.com/FontSquirrel/status/14855840545
102
- AddType image/svg+xml svg svgz
103
- AddEncoding gzip svgz
104
-
105
- # Webfonts
106
- AddType application/vnd.ms-fontobject eot
107
- AddType application/x-font-ttf ttf ttc
108
- AddType font/opentype otf
109
- AddType application/x-font-woff woff
110
- AddType application/font-woff2 woff2
111
-
112
- # Assorted types
113
- AddType image/x-icon ico
114
- AddType image/webp webp
115
- AddType text/cache-manifest appcache manifest
116
- AddType text/x-component htc
117
- AddType application/xml rss atom xml rdf
118
- AddType application/x-chrome-extension crx
119
- AddType application/x-opera-extension oex
120
- AddType application/x-xpinstall xpi
121
- AddType application/octet-stream safariextz
122
- AddType application/x-web-app-manifest+json webapp
123
- AddType text/x-vcard vcf
124
- AddType application/x-shockwave-flash swf
125
- AddType text/vtt vtt
126
-
127
-
128
- # ----------------------------------------------------------------------
129
- # Allow concatenation from within specific js and css files
130
- # ----------------------------------------------------------------------
131
-
132
- # e.g. Inside of script.combined.js you could have
133
- # <!--#include file="libs/jquery-1.5.0.min.js" -->
134
- # <!--#include file="plugins/jquery.idletimer.js" -->
135
- # and they would be included into this single file.
136
-
137
- # This is not in use in the boilerplate as it stands. You may
138
- # choose to use this technique if you do not have a build process.
139
-
140
- #<FilesMatch "\.combined\.js$">
141
- # Options +Includes
142
- # AddOutputFilterByType INCLUDES application/javascript application/json
143
- # SetOutputFilter INCLUDES
144
- #</FilesMatch>
145
-
146
- #<FilesMatch "\.combined\.css$">
147
- # Options +Includes
148
- # AddOutputFilterByType INCLUDES text/css
149
- # SetOutputFilter INCLUDES
150
- #</FilesMatch>
151
-
152
-
153
- # ----------------------------------------------------------------------
154
- # Gzip compression
155
- # ----------------------------------------------------------------------
156
-
157
- <IfModule mod_deflate.c>
158
-
159
- # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
160
- <IfModule mod_setenvif.c>
161
- <IfModule mod_headers.c>
162
- SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
163
- RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
164
- </IfModule>
165
- </IfModule>
166
-
167
- # Compress all output labeled with one of the following MIME-types
168
- <IfModule mod_filter.c>
169
- AddOutputFilterByType DEFLATE application/atom+xml \
170
- application/javascript \
171
- application/json \
172
- application/rss+xml \
173
- application/vnd.ms-fontobject \
174
- application/x-font-ttf \
175
- application/xhtml+xml \
176
- application/xml \
177
- font/opentype \
178
- image/svg+xml \
179
- image/x-icon \
180
- text/css \
181
- text/html \
182
- text/plain \
183
- text/x-component \
184
- text/xml
185
- </IfModule>
186
-
187
- </IfModule>
188
-
189
-
190
- # ----------------------------------------------------------------------
191
- # Expires headers (for better cache control)
192
- # ----------------------------------------------------------------------
193
-
194
- # These are pretty far-future expires headers.
195
- # They assume you control versioning with filename-based cache busting
196
- # Additionally, consider that outdated proxies may miscache
197
- # www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
198
-
199
- # If you don't use filenames to version, lower the CSS and JS to something like
200
- # "access plus 1 week".
201
-
202
- <IfModule mod_expires.c>
203
- ExpiresActive on
204
-
205
- # Perhaps better to whitelist expires rules? Perhaps.
206
- ExpiresDefault "access plus 1 month"
207
-
208
- # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
209
- ExpiresByType text/cache-manifest "access plus 0 seconds"
210
-
211
- # Your document html
212
- ExpiresByType text/html "access plus 0 seconds"
213
-
214
- # Data
215
- ExpiresByType text/xml "access plus 0 seconds"
216
- ExpiresByType application/xml "access plus 0 seconds"
217
- ExpiresByType application/json "access plus 0 seconds"
218
-
219
- # Feed
220
- ExpiresByType application/rss+xml "access plus 1 hour"
221
- ExpiresByType application/atom+xml "access plus 1 hour"
222
-
223
- # Favicon (cannot be renamed)
224
- ExpiresByType image/x-icon "access plus 1 week"
225
-
226
- # Media: images, video, audio
227
- ExpiresByType image/gif "access plus 1 month"
228
- ExpiresByType image/png "access plus 1 month"
229
- ExpiresByType image/jpeg "access plus 1 month"
230
- ExpiresByType video/ogg "access plus 1 month"
231
- ExpiresByType audio/ogg "access plus 1 month"
232
- ExpiresByType video/mp4 "access plus 1 month"
233
- ExpiresByType video/webm "access plus 1 month"
234
-
235
- # HTC files (css3pie)
236
- ExpiresByType text/x-component "access plus 1 month"
237
-
238
- # Webfonts
239
- ExpiresByType application/x-font-ttf "access plus 1 month"
240
- ExpiresByType font/opentype "access plus 1 month"
241
- ExpiresByType application/x-font-woff "access plus 1 month"
242
- ExpiresByType application/font-woff2 "access plus 1 month"
243
- ExpiresByType image/svg+xml "access plus 1 month"
244
- ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
245
-
246
- # CSS and JavaScript
247
- ExpiresByType text/css "access plus 1 year"
248
- ExpiresByType application/javascript "access plus 1 year"
249
-
250
- </IfModule>
251
-
252
-
253
- # ----------------------------------------------------------------------
254
- # Prevent mobile network providers from modifying your site
255
- # ----------------------------------------------------------------------
256
-
257
- # The following header prevents modification of your code over 3G on some
258
- # European providers.
259
- # This is the official 'bypass' suggested by O2 in the UK.
260
-
261
- # <IfModule mod_headers.c>
262
- # Header set Cache-Control "no-transform"
263
- # </IfModule>
264
-
265
-
266
- # ----------------------------------------------------------------------
267
- # ETag removal
268
- # ----------------------------------------------------------------------
269
-
270
- # FileETag None is not enough for every server.
271
- <IfModule mod_headers.c>
272
- Header unset ETag
273
- </IfModule>
274
-
275
- # Since we're sending far-future expires, we don't need ETags for
276
- # static content.
277
- # developer.yahoo.com/performance/rules.html#etags
278
- FileETag None
279
-
280
-
281
- # ----------------------------------------------------------------------
282
- # Stop screen flicker in IE on CSS rollovers
283
- # ----------------------------------------------------------------------
284
-
285
- # The following directives stop screen flicker in IE on CSS rollovers - in
286
- # combination with the "ExpiresByType" rules for images (see above).
287
-
288
- # BrowserMatch "MSIE" brokenvary=1
289
- # BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
290
- # BrowserMatch "Opera" !brokenvary
291
- # SetEnvIf brokenvary 1 force-no-vary
292
-
293
-
294
- # ----------------------------------------------------------------------
295
- # Set Keep-Alive Header
296
- # ----------------------------------------------------------------------
297
-
298
- # Keep-Alive allows the server to send multiple requests through one
299
- # TCP-connection. Be aware of possible disadvantages of this setting. Turn on
300
- # if you serve a lot of static content.
301
-
302
- # <IfModule mod_headers.c>
303
- # Header set Connection Keep-Alive
304
- # </IfModule>
305
-
306
-
307
- # ----------------------------------------------------------------------
308
- # Cookie setting from iframes
309
- # ----------------------------------------------------------------------
310
-
311
- # Allow cookies to be set from iframes (for IE only)
312
- # If needed, specify a path or regex in the Location directive.
313
-
314
- # <IfModule mod_headers.c>
315
- # Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
316
- # </IfModule>
317
-
318
-
319
- # ----------------------------------------------------------------------
320
- # Start rewrite engine
321
- # ----------------------------------------------------------------------
322
-
323
- # Turning on the rewrite engine is necessary for the following rules and
324
- # features. FollowSymLinks must be enabled for this to work.
325
-
326
- # Some cloud hosting services require RewriteBase to be set: goo.gl/HOcPN
327
- # If using the h5bp in a subdirectory, use `RewriteBase /foo` instead where
328
- # 'foo' is your directory.
329
-
330
- # If your web host doesn't allow the FollowSymlinks option, you may need to
331
- # comment it out and use `Options +SymLinksOfOwnerMatch`, but be aware of the
332
- # performance impact: http://goo.gl/Mluzd
333
-
334
- <IfModule mod_rewrite.c>
335
- Options +FollowSymlinks
336
- # Options +SymLinksIfOwnerMatch
337
- RewriteEngine On
338
- # RewriteBase /
339
- </IfModule>
340
-
341
-
342
- # ----------------------------------------------------------------------
343
- # Suppress or force the "www." at the beginning of URLs
344
- # ----------------------------------------------------------------------
345
-
346
- # The same content should never be available under two different URLs -
347
- # especially not with and without "www." at the beginning, since this can cause
348
- # SEO problems (duplicate content). That's why you should choose one of the
349
- # alternatives and redirect the other one.
350
-
351
- # By default option 1 (no "www.") is activated.
352
- # no-www.org/faq.php?q=class_b
353
-
354
- # If you'd prefer to use option 2, just comment out all option 1 lines
355
- # and uncomment option 2.
356
-
357
- # IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!
358
-
359
- # ----------------------------------------------------------------------
360
-
361
- # Option 1:
362
- # Rewrite "www.example.com -> example.com".
363
-
364
- <IfModule mod_rewrite.c>
365
- RewriteCond %{HTTPS} !=on
366
- RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
367
- RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
368
- </IfModule>
369
-
370
- # ----------------------------------------------------------------------
371
-
372
- # Option 2:
373
- # Rewrite "example.com -> www.example.com".
374
- # Be aware that the following rule might not be a good idea if you use "real"
375
- # subdomains for certain parts of your website.
376
-
377
- # <IfModule mod_rewrite.c>
378
- # RewriteCond %{HTTPS} !=on
379
- # RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
380
- # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
381
- # </IfModule>
382
-
383
-
384
- # ----------------------------------------------------------------------
385
- # Built-in filename-based cache busting
386
- # ----------------------------------------------------------------------
387
-
388
- # If you're not using the build script to manage your filename version revving,
389
- # you might want to consider enabling this, which will route requests for
390
- # /css/style.20110203.css to /css/style.css
391
-
392
- # To understand why this is important and a better idea than all.css?v1231,
393
- # read: github.com/h5bp/html5-boilerplate/wiki/cachebusting
394
-
395
- # <IfModule mod_rewrite.c>
396
- # RewriteCond %{REQUEST_FILENAME} !-f
397
- # RewriteCond %{REQUEST_FILENAME} !-d
398
- # RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
399
- # </IfModule>
400
-
401
-
402
- # ----------------------------------------------------------------------
403
- # Prevent SSL cert warnings
404
- # ----------------------------------------------------------------------
405
-
406
- # Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
407
- # https://www.example.com when your cert only allows https://secure.example.com
408
-
409
- # <IfModule mod_rewrite.c>
410
- # RewriteCond %{SERVER_PORT} !^443
411
- # RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L]
412
- # </IfModule>
413
-
414
-
415
- # ----------------------------------------------------------------------
416
- # Prevent 404 errors for non-existing redirected folders
417
- # ----------------------------------------------------------------------
418
-
419
- # without -MultiViews, Apache will give a 404 for a rewrite if a folder of the
420
- # same name does not exist.
421
- # webmasterworld.com/apache/3808792.htm
422
-
423
- Options -MultiViews
424
-
425
-
426
- # ----------------------------------------------------------------------
427
- # Custom 404 page
428
- # ----------------------------------------------------------------------
429
-
430
- # You can add custom pages to handle 500 or 403 pretty easily, if you like.
431
- # If you are hosting your site in subdirectory, adjust this accordingly
432
- # e.g. ErrorDocument 404 /subdir/404.html
433
- ErrorDocument 404 /404.html
434
-
435
-
436
- # ----------------------------------------------------------------------
437
- # UTF-8 encoding
438
- # ----------------------------------------------------------------------
439
-
440
- # Use UTF-8 encoding for anything served text/plain or text/html
441
- AddDefaultCharset utf-8
442
-
443
- # Force UTF-8 for a number of file formats
444
- AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
445
-
446
-
447
- # ----------------------------------------------------------------------
448
- # A little more security
449
- # ----------------------------------------------------------------------
450
-
451
- # To avoid displaying the exact version number of Apache being used, add the
452
- # following to httpd.conf (it will not work in .htaccess):
453
- # ServerTokens Prod
454
-
455
- # "-Indexes" will have Apache block users from browsing folders without a
456
- # default document Usually you should leave this activated, because you
457
- # shouldn't allow everybody to surf through every folder on your server (which
458
- # includes rather private places like CMS system folders).
459
- <IfModule mod_autoindex.c>
460
- Options -Indexes
461
- </IfModule>
462
-
463
- # Block access to "hidden" directories or files whose names begin with a
464
- # period. This includes directories used by version control systems such as
465
- # Subversion or Git.
466
- <IfModule mod_rewrite.c>
467
- RewriteCond %{SCRIPT_FILENAME} -d [OR]
468
- RewriteCond %{SCRIPT_FILENAME} -f
469
- RewriteRule "(^|/)\." - [F]
470
- </IfModule>
471
-
472
- # Block access to backup and source files. These files may be left by some
473
- # text/html editors and pose a great security danger, when anyone can access
474
- # them.
475
- <FilesMatch "(\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$">
476
- Order allow,deny
477
- Deny from all
478
- Satisfy All
479
- </FilesMatch>
480
-
481
- # If your server is not already configured as such, the following directive
482
- # should be uncommented in order to set PHP's register_globals option to OFF.
483
- # This closes a major security hole that is abused by most XSS (cross-site
484
- # scripting) attacks. For more information: http://php.net/register_globals
485
- #
486
- # IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS:
487
- #
488
- # Your server does not allow PHP directives to be set via .htaccess. In that
489
- # case you must make this change in your php.ini file instead. If you are
490
- # using a commercial web host, contact the administrators for assistance in
491
- # doing this. Not all servers allow local php.ini files, and they should
492
- # include all PHP configurations (not just this one), or you will effectively
493
- # reset everything to PHP defaults. Consult www.php.net for more detailed
494
- # information about setting PHP directives.
495
-
496
- # php_flag register_globals Off
497
-
498
- # Rename session cookie to something else, than PHPSESSID
499
- # php_value session.name sid
500
-
501
- # Disable magic quotes (This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.)
502
- # php_flag magic_quotes_gpc Off
503
-
504
- # Do not show you are using PHP
505
- # Note: Move this line to php.ini since it won't work in .htaccess
506
- # php_flag expose_php Off
507
-
508
- # Level of log detail - log all errors
509
- # php_value error_reporting -1
510
-
511
- # Write errors to log file
512
- # php_flag log_errors On
513
-
514
- # Do not display errors in browser (production - Off, development - On)
515
- # php_flag display_errors Off
516
-
517
- # Do not display startup errors (production - Off, development - On)
518
- # php_flag display_startup_errors Off
519
-
520
- # Format errors in plain text
521
- # Note: Leave this setting 'On' for xdebug's var_dump() output
522
- # php_flag html_errors Off
523
-
524
- # Show multiple occurrence of error
525
- # php_flag ignore_repeated_errors Off
526
-
527
- # Show same errors from different sources
528
- # php_flag ignore_repeated_source Off
529
-
530
- # Size limit for error messages
531
- # php_value log_errors_max_len 1024
532
-
533
- # Don't precede error with string (doesn't accept empty string, use whitespace if you need)
534
- # php_value error_prepend_string " "
535
-
536
- # Don't prepend to error (doesn't accept empty string, use whitespace if you need)
537
- # php_value error_append_string " "
538
-
539
- # Increase cookie security
540
- <IfModule php5_module>
541
- php_value session.cookie_httponly true
542
- </IfModule>