middleman-core 3.0.0.beta.1 → 3.0.0.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -44
- data/bin/middleman +12 -8
- data/features/3rd_party_cli.feature +12 -2
- data/features/builder.feature +1 -1
- data/features/clean_build.feature +24 -14
- data/features/cli.feature +9 -30
- data/features/custom_layouts.feature +6 -0
- data/features/directory_index.feature +2 -0
- data/features/dynamic_pages.feature +37 -0
- data/features/extensionless_text_files.feature +58 -0
- data/features/former_padrino_helpers.feature +5 -3
- data/features/frontmatter_page_settings.feature +27 -0
- data/features/helpers_external.feature +7 -1
- data/features/i18n_builder.feature +121 -0
- data/features/i18n_preview.feature +113 -0
- data/features/ignore.feature +198 -0
- data/features/implied_extensions.feature +52 -0
- data/features/instance_vars.feature +0 -2
- data/features/partials.feature +5 -0
- data/features/request_params.feature +6 -0
- data/features/{sitemap_traversal.features → sitemap_traversal.feature} +24 -24
- data/features/wildcard_page_helper.feature +1 -1
- data/fixtures/clean-dir-app/config.rb +2 -1
- data/fixtures/clean-nested-app/config.rb +3 -0
- data/fixtures/clean-nested-app/source/about.html +1 -0
- data/fixtures/dynamic-pages-app/config.rb +25 -5
- data/fixtures/dynamic-pages-app/source/real/index.html.erb +5 -1
- data/{lib/middleman-core/vendor/darwin/spec/fixtures/custom 'path/.gitignore → fixtures/extensionless-text-files-app/config.rb} +0 -0
- data/fixtures/extensionless-text-files-app/source/CNAME +1 -0
- data/fixtures/extensionless-text-files-app/source/LICENSE +1 -0
- data/fixtures/extensionless-text-files-app/source/README +1 -0
- data/fixtures/extensionless-text-files-app/source/index.html +1 -0
- data/fixtures/external-helpers/helpers/four_helper.rb +3 -0
- data/fixtures/external-helpers/helpers/one_helper.rb +3 -0
- data/fixtures/external-helpers/helpers/three_helper.rb +3 -0
- data/fixtures/external-helpers/helpers/two_helper.rb +3 -0
- data/fixtures/external-helpers/source/automatic.html.erb +1 -0
- data/fixtures/frontmatter-settings-app/config.rb +4 -0
- data/fixtures/frontmatter-settings-app/source/alternate_layout.html.erb +5 -0
- data/fixtures/frontmatter-settings-app/source/ignored.html.erb +5 -0
- data/fixtures/frontmatter-settings-app/source/layouts/alternate.erb +3 -0
- data/fixtures/frontmatter-settings-app/source/no_index.html.erb +5 -0
- data/fixtures/i18n-alt-root-app/locales/en.yml +4 -0
- data/fixtures/i18n-alt-root-app/locales/es.yml +7 -0
- data/fixtures/i18n-alt-root-app/source/lang_data/hello.html.erb +1 -0
- data/fixtures/i18n-alt-root-app/source/lang_data/index.html.erb +1 -0
- data/fixtures/i18n-alt-root-app/source/layout.erb +1 -0
- data/fixtures/i18n-test-app/locales/en.yml +4 -0
- data/fixtures/i18n-test-app/locales/es.yml +7 -0
- data/fixtures/i18n-test-app/source/layout.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/hello.html.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/index.html.erb +1 -0
- data/fixtures/ignore-app/source/about.html.erb +1 -0
- data/{lib/middleman-core/vendor/darwin/spec/fixtures/folder1/file1.txt → fixtures/ignore-app/source/images/icon/messages.png} +0 -0
- data/{lib/middleman-core/vendor/darwin/spec/fixtures/folder1/folder2/file2.txt → fixtures/ignore-app/source/images/pic.png} +0 -0
- data/fixtures/ignore-app/source/images/portrait.jpg +0 -0
- data/fixtures/ignore-app/source/index.html.erb +0 -0
- data/fixtures/ignore-app/source/plain.html +1 -0
- data/fixtures/ignore-app/source/reports/another.html +0 -0
- data/fixtures/ignore-app/source/reports/index.html +0 -0
- data/fixtures/implied-extensions-app/config.rb +0 -0
- data/fixtures/implied-extensions-app/source/index.erb +1 -0
- data/fixtures/indexable-app/config.rb +3 -1
- data/fixtures/indexable-app/source/wildcard_leave_me_alone.html +1 -0
- data/fixtures/large-build-app/source/feed.xml.builder +4 -0
- data/fixtures/lorem-app/config.rb +1 -0
- data/fixtures/padrino-helpers-app/source/former_padrino_test.html.erb +2 -1
- data/fixtures/partials-app/source/shared/_footer.erb +1 -1
- data/fixtures/partials-app/source/shared/snippet.erb +1 -0
- data/fixtures/partials-app/source/using_snippet.html.erb +1 -0
- data/fixtures/request-app/config.rb +0 -0
- data/fixtures/request-app/source/index.html.erb +3 -0
- data/fixtures/traversal-app/source/layout.erb +2 -0
- data/lib/middleman-core/application.rb +558 -0
- data/lib/middleman-core/cli/build.rb +67 -64
- data/lib/middleman-core/cli/init.rb +10 -4
- data/lib/middleman-core/cli/server.rb +7 -1
- data/lib/middleman-core/cli.rb +22 -2
- data/lib/middleman-core/core_extensions/assets.rb +12 -3
- data/lib/middleman-core/core_extensions/builder.rb +0 -37
- data/lib/middleman-core/core_extensions/data.rb +3 -3
- data/lib/middleman-core/core_extensions/default_helpers.rb +17 -26
- data/lib/middleman-core/core_extensions/extensions.rb +13 -10
- data/lib/middleman-core/core_extensions/external_helpers.rb +35 -0
- data/lib/middleman-core/core_extensions/file_watcher.rb +9 -5
- data/lib/middleman-core/core_extensions/front_matter.rb +85 -15
- data/lib/middleman-core/core_extensions/i18n.rb +137 -0
- data/lib/middleman-core/core_extensions/rendering.rb +134 -21
- data/lib/middleman-core/core_extensions/routing.rb +42 -23
- data/lib/middleman-core/core_extensions/show_exceptions.rb +13 -3
- data/lib/middleman-core/extensions/asset_host.rb +21 -3
- data/lib/middleman-core/extensions/automatic_image_sizes.rb +20 -1
- data/lib/middleman-core/extensions/directory_indexes.rb +42 -47
- data/lib/middleman-core/extensions/lorem.rb +54 -6
- data/lib/middleman-core/extensions.rb +179 -0
- data/lib/middleman-core/renderers/erb.rb +28 -21
- data/lib/middleman-core/sitemap/extensions/ignores.rb +86 -0
- data/lib/middleman-core/sitemap/extensions/on_disk.rb +77 -0
- data/lib/middleman-core/sitemap/extensions/proxies.rb +97 -0
- data/lib/middleman-core/sitemap/extensions/traversal.rb +77 -0
- data/lib/middleman-core/sitemap/resource.rb +126 -0
- data/lib/middleman-core/sitemap/store.rb +148 -97
- data/lib/middleman-core/sitemap.rb +78 -0
- data/lib/middleman-core/step_definitions/builder_steps.rb +15 -1
- data/lib/middleman-core/step_definitions/server_steps.rb +11 -4
- data/lib/middleman-core/templates/default.rb +10 -0
- data/lib/middleman-core/templates/html5/source/404.html +32 -27
- data/lib/middleman-core/templates/html5/source/README.md +34 -367
- data/lib/middleman-core/templates/html5/source/apple-touch-icon-114x114-precomposed.png +0 -0
- data/lib/middleman-core/templates/html5/source/apple-touch-icon-57x57-precomposed.png +0 -0
- data/lib/middleman-core/templates/html5/source/apple-touch-icon-72x72-precomposed.png +0 -0
- data/lib/middleman-core/templates/html5/source/apple-touch-icon-precomposed.png +0 -0
- data/lib/middleman-core/templates/html5/source/apple-touch-icon.png +0 -0
- data/lib/middleman-core/templates/html5/source/crossdomain.xml +0 -0
- data/lib/middleman-core/templates/html5/source/css/style.css +37 -37
- data/lib/middleman-core/templates/html5/source/favicon.ico +0 -0
- data/lib/middleman-core/templates/html5/source/humans.txt +0 -0
- data/lib/middleman-core/templates/html5/source/img/.gitignore +0 -2
- data/lib/middleman-core/templates/html5/source/index.html +31 -43
- data/lib/middleman-core/templates/html5/source/js/libs/{jquery-1.6.2.js → jquery-1.7.1.js} +1922 -1637
- data/lib/middleman-core/templates/html5/source/js/libs/jquery-1.7.1.min.js +4 -0
- data/lib/middleman-core/templates/html5/source/js/libs/modernizr-2.5.3.min.js +4 -0
- data/lib/middleman-core/templates/html5/source/js/plugins.js +3 -12
- data/lib/middleman-core/templates/html5/source/js/script.js +0 -0
- data/lib/middleman-core/templates/html5/source/robots.txt +1 -2
- data/lib/middleman-core/templates/html5.rb +10 -5
- data/lib/middleman-core/templates/local.rb +8 -1
- data/lib/middleman-core/templates/shared/config.tt +6 -6
- data/lib/middleman-core/templates.rb +10 -13
- data/lib/middleman-core/util.rb +90 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.document +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.gitignore +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.yardopts +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/LICENSE.txt +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/README.rdoc +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/Rakefile +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/bin/padrino +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/rendering.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/routing.rb +38 -29
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/showexceptions.rb +0 -0
- data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/application.rb +269 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/caller.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/adapter.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/base.rb +4 -5
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/console.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/rake.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/rake_tasks.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/command.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/images/404.png +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/images/500.png +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/loader.rb +1 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/cs.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/da.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/de.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/en.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/es.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/fr.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/hu.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/it.yml +1 -1
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/ja.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/lv.yml +2 -2
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/nl.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/no.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/pl.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/pt_br.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/ru.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/tr.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/uk.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/zh_cn.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/zh_tw.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/logger.rb +192 -109
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/mounter.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/reloader.rb +39 -39
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/router.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/server.rb +2 -2
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/support_lite.rb +4 -5
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/tasks.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/version.rb +1 -1
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core.rb +0 -15
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/padrino-core.gemspec +1 -1
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/.components +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/.gitignore +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/complex.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/simple.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/a.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/b.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/c.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/e.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/f.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/g.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/d.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/helper.rb +2 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/mini_shoulda.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_application.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_core.rb +0 -2
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_dependencies.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_filters.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_locale.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_logger.rb +54 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_mounter.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_reloader_complex.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_reloader_simple.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_rendering.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_restful_routing.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_router.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_routing.rb +7 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.document +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.gitignore +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.yardopts +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/LICENSE.txt +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/README.rdoc +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/Rakefile +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/asset_tag_helpers.rb +76 -79
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_builder/abstract_form_builder.rb +31 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_helpers.rb +211 -26
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/format_helpers.rb +2 -2
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/cs.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/da.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/de.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/en.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/es.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/fr.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/hu.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/it.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/ja.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/lv.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/nl.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/no.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/pl.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/pt_br.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/ru.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/tr.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/uk.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/zh_cn.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/zh_tw.yml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/number_helpers.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/render_helpers.rb +0 -0
- data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/tag_helpers.rb +260 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/translation_helpers.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers.rb +4 -3
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/padrino-helpers.gemspec +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/app.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.erb +20 -4
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.haml +15 -3
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.slim +15 -3
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.erb +30 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.haml +25 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.slim +25 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_erb.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_haml.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_slim.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/app.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engine.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_erb.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_haml.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_slim.slim +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/erb/test.erb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/explicit_engine.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/haml/test.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/_user.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/haml_template.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/some_template.haml +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/helper.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_asset_tag_helpers.rb +14 -6
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_form_builder.rb +116 -6
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_form_helpers.rb +134 -9
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_format_helpers.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_locale.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_number_helpers.rb +3 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_output_helpers.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_render_helpers.rb +0 -0
- data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_tag_helpers.rb +7 -6
- data/lib/middleman-core/version.rb +2 -2
- data/lib/middleman-core/watcher.rb +75 -36
- data/lib/middleman-core.rb +7 -252
- data/middleman-core.gemspec +14 -11
- metadata +396 -348
- data/bin/fsevent_watch_guard +0 -0
- data/ext/extconf.rb +0 -61
- data/ext/fsevent/fsevent_watch.c +0 -226
- data/fixtures/3rd-party-command/config.rb +0 -10
- data/fixtures/ignore-app/config.rb +0 -2
- data/fixtures/ignore-app/source/articles/template.html.erb +0 -1
- data/fixtures/ignore-app/source/template.html.erb +0 -1
- data/lib/middleman-core/base.rb +0 -494
- data/lib/middleman-core/cache.rb +0 -57
- data/lib/middleman-core/core_extensions/sitemap.rb +0 -72
- data/lib/middleman-core/sitemap/page.rb +0 -186
- data/lib/middleman-core/sitemap/template.rb +0 -82
- data/lib/middleman-core/templates/html5/source/js/libs/jquery-1.6.2.min.js +0 -18
- data/lib/middleman-core/templates/html5/source/js/libs/modernizr-2.0.6.min.js +0 -4
- data/lib/middleman-core/templates/html5/source/js/mylibs/.gitignore +0 -2
- data/lib/middleman-core/templates/html5/source/test/index.html +0 -31
- data/lib/middleman-core/templates/html5/source/test/qunit/qunit.css +0 -148
- data/lib/middleman-core/templates/html5/source/test/qunit/qunit.js +0 -1265
- data/lib/middleman-core/templates/html5/source/test/tests.js +0 -24
- data/lib/middleman-core/vendor/darwin/.gitignore +0 -18
- data/lib/middleman-core/vendor/darwin/Gemfile +0 -6
- data/lib/middleman-core/vendor/darwin/Guardfile +0 -8
- data/lib/middleman-core/vendor/darwin/LICENSE +0 -20
- data/lib/middleman-core/vendor/darwin/README.rdoc +0 -254
- data/lib/middleman-core/vendor/darwin/Rakefile +0 -21
- data/lib/middleman-core/vendor/darwin/ext/extconf.rb +0 -61
- data/lib/middleman-core/vendor/darwin/ext/fsevent/fsevent_watch.c +0 -226
- data/lib/middleman-core/vendor/darwin/lib/rb-fsevent/fsevent.rb +0 -105
- data/lib/middleman-core/vendor/darwin/lib/rb-fsevent/version.rb +0 -3
- data/lib/middleman-core/vendor/darwin/lib/rb-fsevent.rb +0 -2
- data/lib/middleman-core/vendor/darwin/rb-fsevent.gemspec +0 -24
- data/lib/middleman-core/vendor/darwin/spec/rb-fsevent/fsevent_spec.rb +0 -75
- data/lib/middleman-core/vendor/darwin/spec/spec_helper.rb +0 -24
- data/lib/middleman-core/vendor/linux/.gitignore +0 -3
- data/lib/middleman-core/vendor/linux/.yardopts +0 -4
- data/lib/middleman-core/vendor/linux/MIT-LICENSE +0 -20
- data/lib/middleman-core/vendor/linux/README.md +0 -66
- data/lib/middleman-core/vendor/linux/Rakefile +0 -54
- data/lib/middleman-core/vendor/linux/VERSION +0 -1
- data/lib/middleman-core/vendor/linux/lib/rb-inotify/event.rb +0 -139
- data/lib/middleman-core/vendor/linux/lib/rb-inotify/native/flags.rb +0 -89
- data/lib/middleman-core/vendor/linux/lib/rb-inotify/native.rb +0 -31
- data/lib/middleman-core/vendor/linux/lib/rb-inotify/notifier.rb +0 -308
- data/lib/middleman-core/vendor/linux/lib/rb-inotify/watcher.rb +0 -83
- data/lib/middleman-core/vendor/linux/lib/rb-inotify.rb +0 -17
- data/lib/middleman-core/vendor/linux/rb-inotify.gemspec +0 -53
- data/lib/middleman-core/vendor/padrino-core-0.10.5/lib/padrino-core/application.rb +0 -270
- data/lib/middleman-core/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/tag_helpers.rb +0 -103
data/lib/middleman-core/base.rb
DELETED
@@ -1,494 +0,0 @@
|
|
1
|
-
# Built on Rack
|
2
|
-
require "rack"
|
3
|
-
require "rack/file"
|
4
|
-
|
5
|
-
# Using Tilt for templating
|
6
|
-
require "tilt"
|
7
|
-
|
8
|
-
# Use ActiveSupport JSON
|
9
|
-
require "active_support/json"
|
10
|
-
|
11
|
-
# Core Middleman Class
|
12
|
-
class Middleman::Base
|
13
|
-
# Uses callbacks
|
14
|
-
include Hooks
|
15
|
-
|
16
|
-
# Before request hook
|
17
|
-
define_hook :before
|
18
|
-
|
19
|
-
# Ready (all loading and parsing of extensions complete) hook
|
20
|
-
define_hook :ready
|
21
|
-
|
22
|
-
class << self
|
23
|
-
|
24
|
-
# Reset Rack setup
|
25
|
-
#
|
26
|
-
# @private
|
27
|
-
def reset!
|
28
|
-
@app = nil
|
29
|
-
@prototype = nil
|
30
|
-
end
|
31
|
-
|
32
|
-
# The shared Rack instance being build
|
33
|
-
#
|
34
|
-
# @private
|
35
|
-
# @return [Rack::Builder]
|
36
|
-
def app
|
37
|
-
@app ||= Rack::Builder.new
|
38
|
-
end
|
39
|
-
|
40
|
-
# Get the static instance
|
41
|
-
#
|
42
|
-
# @private
|
43
|
-
# @return [Middleman::Base]
|
44
|
-
def inst(&block)
|
45
|
-
@inst ||= begin
|
46
|
-
mm = new(&block)
|
47
|
-
mm.run_hook :ready
|
48
|
-
mm
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
# Set the shared instance
|
53
|
-
#
|
54
|
-
# @private
|
55
|
-
# @param [Middleman::Base] inst
|
56
|
-
# @return [void]
|
57
|
-
def inst=(inst)
|
58
|
-
@inst = inst
|
59
|
-
end
|
60
|
-
|
61
|
-
# Return built Rack app
|
62
|
-
#
|
63
|
-
# @private
|
64
|
-
# @return [Rack::Builder]
|
65
|
-
def to_rack_app(&block)
|
66
|
-
inner_app = inst(&block)
|
67
|
-
|
68
|
-
(@middleware || []).each do |m|
|
69
|
-
app.use(m[0], *m[1], &m[2])
|
70
|
-
end
|
71
|
-
|
72
|
-
app.map("/") { run inner_app }
|
73
|
-
|
74
|
-
(@mappings || []).each do |m|
|
75
|
-
app.map(m[0], &m[1])
|
76
|
-
end
|
77
|
-
|
78
|
-
app
|
79
|
-
end
|
80
|
-
|
81
|
-
# Prototype app. Used in config.ru
|
82
|
-
#
|
83
|
-
# @private
|
84
|
-
# @return [Rack::Builder]
|
85
|
-
def prototype
|
86
|
-
@prototype ||= to_rack_app
|
87
|
-
end
|
88
|
-
|
89
|
-
# Call prototype, use in config.ru
|
90
|
-
#
|
91
|
-
# @private
|
92
|
-
def call(env)
|
93
|
-
prototype.call(env)
|
94
|
-
end
|
95
|
-
|
96
|
-
# Use Rack middleware
|
97
|
-
#
|
98
|
-
# @param [Class] Middleware
|
99
|
-
# @return [void]
|
100
|
-
def use(middleware, *args, &block)
|
101
|
-
@middleware ||= []
|
102
|
-
@middleware << [middleware, args, block]
|
103
|
-
end
|
104
|
-
|
105
|
-
# Add Rack App mapped to specific path
|
106
|
-
#
|
107
|
-
# @param [String] Path to map
|
108
|
-
# @return [void]
|
109
|
-
def map(map, &block)
|
110
|
-
@mappings ||= []
|
111
|
-
@mappings << [map, block]
|
112
|
-
end
|
113
|
-
|
114
|
-
# Mix-in helper methods. Accepts either a list of Modules
|
115
|
-
# and/or a block to be evaluated
|
116
|
-
# @return [void]
|
117
|
-
def helpers(*extensions, &block)
|
118
|
-
class_eval(&block) if block_given?
|
119
|
-
include(*extensions) if extensions.any?
|
120
|
-
end
|
121
|
-
|
122
|
-
# Access class-wide defaults
|
123
|
-
#
|
124
|
-
# @private
|
125
|
-
# @return [Hash] Hash of default values
|
126
|
-
def defaults
|
127
|
-
@defaults ||= {}
|
128
|
-
end
|
129
|
-
|
130
|
-
# Set class-wide defaults
|
131
|
-
#
|
132
|
-
# @param [Symbol] Unique key name
|
133
|
-
# @param Default value
|
134
|
-
# @return [void]
|
135
|
-
def set(key, value=nil, &block)
|
136
|
-
@defaults ||= {}
|
137
|
-
@defaults[key] = value
|
138
|
-
|
139
|
-
@inst.set(key, value, &block) if @inst
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
# Set attributes (global variables)
|
144
|
-
#
|
145
|
-
# @param [Symbol] Name of the attribue
|
146
|
-
# @param Attribute value
|
147
|
-
# @return [void]
|
148
|
-
def set(key, value=nil, &block)
|
149
|
-
setter = "#{key}=".to_sym
|
150
|
-
self.class.send(:attr_accessor, key) if !respond_to?(setter)
|
151
|
-
value = block if block_given?
|
152
|
-
send(setter, value)
|
153
|
-
end
|
154
|
-
|
155
|
-
# Root project directory (overwritten in middleman build/server)
|
156
|
-
# @return [String]
|
157
|
-
set :root, ENV["MM_ROOT"] || Dir.pwd
|
158
|
-
|
159
|
-
# Name of the source directory
|
160
|
-
# @return [String]
|
161
|
-
set :source, "source"
|
162
|
-
|
163
|
-
# Middleman environment. Defaults to :development, set to :build by the build process
|
164
|
-
# @return [String]
|
165
|
-
set :environment, (ENV['MM_ENV'] && ENV['MM_ENV'].to_sym) || :development
|
166
|
-
|
167
|
-
# Whether logging is active, disabled by default
|
168
|
-
# @return [String]
|
169
|
-
set :logging, false
|
170
|
-
|
171
|
-
# Which file should be used for directory indexes
|
172
|
-
# @return [String]
|
173
|
-
set :index_file, "index.html"
|
174
|
-
|
175
|
-
# Location of javascripts within source. Used by Sprockets.
|
176
|
-
# @return [String]
|
177
|
-
set :js_dir, "javascripts"
|
178
|
-
|
179
|
-
# Location of stylesheets within source. Used by Compass.
|
180
|
-
# @return [String]
|
181
|
-
set :css_dir, "stylesheets"
|
182
|
-
|
183
|
-
# Location of images within source. Used by HTML helpers and Compass.
|
184
|
-
# @return [String]
|
185
|
-
set :images_dir, "images"
|
186
|
-
|
187
|
-
# Where to build output files
|
188
|
-
# @return [String]
|
189
|
-
set :build_dir, "build"
|
190
|
-
|
191
|
-
# Default prefix for building paths. Used by HTML helpers and Compass.
|
192
|
-
# @return [String]
|
193
|
-
set :http_prefix, "/"
|
194
|
-
|
195
|
-
# Whether to catch and display exceptions
|
196
|
-
# @return [Boolean]
|
197
|
-
set :show_exceptions, true
|
198
|
-
|
199
|
-
# Automatically loaded extensions
|
200
|
-
# @return [Array<Symbol>]
|
201
|
-
set :default_extensions, [ :lorem ]
|
202
|
-
|
203
|
-
# Default layout name
|
204
|
-
# @return [String, Symbold]
|
205
|
-
set :layout, :_auto_layout
|
206
|
-
|
207
|
-
# Activate custom features and extensions
|
208
|
-
include Middleman::CoreExtensions::Extensions
|
209
|
-
|
210
|
-
# Handle exceptions
|
211
|
-
register Middleman::CoreExtensions::ShowExceptions
|
212
|
-
|
213
|
-
# Add Builder Callbacks
|
214
|
-
register Middleman::CoreExtensions::Builder
|
215
|
-
|
216
|
-
# Add Watcher Callbacks
|
217
|
-
register Middleman::CoreExtensions::FileWatcher
|
218
|
-
|
219
|
-
# Activate Data package
|
220
|
-
register Middleman::CoreExtensions::Data
|
221
|
-
|
222
|
-
# Setup custom rendering
|
223
|
-
register Middleman::CoreExtensions::Rendering
|
224
|
-
|
225
|
-
# Sitemap
|
226
|
-
register Middleman::CoreExtensions::Sitemap
|
227
|
-
|
228
|
-
# Setup default helpers
|
229
|
-
register Middleman::CoreExtensions::DefaultHelpers
|
230
|
-
|
231
|
-
# Setup asset path pipeline
|
232
|
-
register Middleman::CoreExtensions::Assets
|
233
|
-
|
234
|
-
# with_layout and page routing
|
235
|
-
register Middleman::CoreExtensions::Routing
|
236
|
-
|
237
|
-
# Parse YAML from templates
|
238
|
-
register Middleman::CoreExtensions::FrontMatter
|
239
|
-
|
240
|
-
# Built-in Extensions
|
241
|
-
Middleman::Extensions.register(:directory_indexes) {
|
242
|
-
Middleman::Extensions::DirectoryIndexes }
|
243
|
-
Middleman::Extensions.register(:lorem) {
|
244
|
-
Middleman::Extensions::Lorem }
|
245
|
-
Middleman::Extensions.register(:automatic_image_sizes) {
|
246
|
-
Middleman::Extensions::AutomaticImageSizes }
|
247
|
-
Middleman::Extensions.register(:asset_host) {
|
248
|
-
Middleman::Extensions::AssetHost }
|
249
|
-
|
250
|
-
# Backwards-compatibility with old request.path signature
|
251
|
-
attr :request
|
252
|
-
|
253
|
-
# Accessor for current path
|
254
|
-
# @return [String]
|
255
|
-
def current_path
|
256
|
-
@_current_path
|
257
|
-
end
|
258
|
-
|
259
|
-
# Set the current path
|
260
|
-
#
|
261
|
-
# @param [String] path The new current path
|
262
|
-
# @return [void]
|
263
|
-
def current_path=(path)
|
264
|
-
@_current_path = path
|
265
|
-
@request = ::Thor::CoreExt::HashWithIndifferentAccess.new({ :path => path })
|
266
|
-
end
|
267
|
-
|
268
|
-
# Initialize the Middleman project
|
269
|
-
def initialize(&block)
|
270
|
-
# Current path defaults to nil, used in views.
|
271
|
-
self.current_path = nil
|
272
|
-
|
273
|
-
# Clear the static class cache
|
274
|
-
cache.clear
|
275
|
-
|
276
|
-
# Setup the default values from calls to set before initialization
|
277
|
-
self.class.superclass.defaults.each { |k,v| set(k,v) }
|
278
|
-
|
279
|
-
# Evaluate a passed block if given
|
280
|
-
instance_exec(&block) if block_given?
|
281
|
-
|
282
|
-
# Build expanded source path once paths have been parsed
|
283
|
-
path = root.dup
|
284
|
-
source_path = ENV["MM_SOURCE"] || self.source
|
285
|
-
path = File.join(root, source_path) unless source_path.empty?
|
286
|
-
set :source_dir, path
|
287
|
-
|
288
|
-
super
|
289
|
-
end
|
290
|
-
|
291
|
-
# Shared cache instance
|
292
|
-
#
|
293
|
-
# @private
|
294
|
-
# @return [Middleman::Cache] The cache
|
295
|
-
def self.cache
|
296
|
-
@_cache ||= ::Middleman::Cache.new
|
297
|
-
end
|
298
|
-
delegate :cache, :to => :"self.class"
|
299
|
-
|
300
|
-
# Rack env
|
301
|
-
attr :env
|
302
|
-
|
303
|
-
# Rack request
|
304
|
-
# @return [Rack::Request]
|
305
|
-
attr :req
|
306
|
-
|
307
|
-
# Rack response
|
308
|
-
# @return [Rack::Response]
|
309
|
-
attr :res
|
310
|
-
|
311
|
-
# Rack Interface
|
312
|
-
#
|
313
|
-
# @private
|
314
|
-
# @param Rack environment
|
315
|
-
def call(env)
|
316
|
-
# Store environment, request and response for later
|
317
|
-
@env = env
|
318
|
-
@req = Rack::Request.new(env)
|
319
|
-
@res = Rack::Response.new
|
320
|
-
|
321
|
-
puts "== Request: #{env["PATH_INFO"]}" if logging?
|
322
|
-
|
323
|
-
if env["PATH_INFO"] == "/__middleman__" && env["REQUEST_METHOD"] == "POST"
|
324
|
-
if req.params.has_key?("change")
|
325
|
-
self.files.did_change(req.params["change"])
|
326
|
-
elsif req.params.has_key?("delete")
|
327
|
-
self.files.did_delete(req.params["delete"])
|
328
|
-
end
|
329
|
-
|
330
|
-
res.status = 200
|
331
|
-
return res.finish
|
332
|
-
end
|
333
|
-
|
334
|
-
# Catch :halt exceptions and use that response if given
|
335
|
-
catch(:halt) do
|
336
|
-
process_request
|
337
|
-
|
338
|
-
res.status = 404
|
339
|
-
res.finish
|
340
|
-
end
|
341
|
-
end
|
342
|
-
|
343
|
-
# Halt the current request and return a response
|
344
|
-
#
|
345
|
-
# @private
|
346
|
-
# @param [String] Reponse value
|
347
|
-
def halt(response)
|
348
|
-
throw :halt, response
|
349
|
-
end
|
350
|
-
|
351
|
-
# Whether we're in development mode
|
352
|
-
# @return [Boolean] If we're in dev mode
|
353
|
-
def development?; environment == :development; end
|
354
|
-
|
355
|
-
# Whether we're in build mode
|
356
|
-
# @return [Boolean] If we're in build mode
|
357
|
-
def build?; environment == :build; end
|
358
|
-
|
359
|
-
# Core repsonse method. We process the request, check with the sitemap,
|
360
|
-
# and return the correct file, response or status message.
|
361
|
-
#
|
362
|
-
# @private
|
363
|
-
def process_request
|
364
|
-
# Normalize the path and add index if we're looking at a directory
|
365
|
-
@original_path = env["PATH_INFO"].dup
|
366
|
-
@request_path = full_path(env["PATH_INFO"].gsub("%20", " "))
|
367
|
-
|
368
|
-
# Run before callbacks
|
369
|
-
run_hook :before
|
370
|
-
|
371
|
-
# Return 404 if not in sitemap
|
372
|
-
return not_found unless sitemap.exists?(@request_path)
|
373
|
-
|
374
|
-
# Get the page object for this path
|
375
|
-
sitemap_page = sitemap.page(@request_path)
|
376
|
-
|
377
|
-
# Return 404 if this path is specifically ignored
|
378
|
-
return not_found if sitemap_page.ignored?
|
379
|
-
|
380
|
-
# If this path is a static file, send it immediately
|
381
|
-
return send_file(sitemap_page.source_file) unless sitemap_page.template?
|
382
|
-
|
383
|
-
# Set the current path for use in helpers
|
384
|
-
self.current_path = @request_path.dup
|
385
|
-
|
386
|
-
# Set a HTTP content type based on the request's extensions
|
387
|
-
content_type sitemap_page.mime_type
|
388
|
-
|
389
|
-
begin
|
390
|
-
# Write out the contents of the page
|
391
|
-
res.write sitemap_page.render
|
392
|
-
|
393
|
-
# Valid content is a 200 status
|
394
|
-
res.status = 200
|
395
|
-
rescue Middleman::CoreExtensions::Rendering::TemplateNotFound => e
|
396
|
-
res.write "Error: #{e.message}"
|
397
|
-
res.status = 500
|
398
|
-
end
|
399
|
-
|
400
|
-
# End the request
|
401
|
-
puts "== Finishing Request: #{self.current_path}" if logging?
|
402
|
-
halt res.finish
|
403
|
-
end
|
404
|
-
|
405
|
-
# Backwards compatibilty with old Sinatra template interface
|
406
|
-
#
|
407
|
-
# @return [Middleman::Base]
|
408
|
-
def settings
|
409
|
-
self
|
410
|
-
end
|
411
|
-
|
412
|
-
# Whether we're logging
|
413
|
-
#
|
414
|
-
# @return [Boolean] If we're logging
|
415
|
-
def logging?
|
416
|
-
logging
|
417
|
-
end
|
418
|
-
|
419
|
-
# Expand a path to include the index file if it's a directory
|
420
|
-
#
|
421
|
-
# @private
|
422
|
-
# @param [String] path Request path
|
423
|
-
# @return [String] Path with index file if necessary
|
424
|
-
def full_path(path)
|
425
|
-
cache.fetch(:full_path, path) do
|
426
|
-
parts = path ? path.split('/') : []
|
427
|
-
if parts.last.nil? || parts.last.split('.').length == 1
|
428
|
-
path = File.join(path, index_file)
|
429
|
-
end
|
430
|
-
"/" + path.sub(%r{^/}, '')
|
431
|
-
end
|
432
|
-
end
|
433
|
-
|
434
|
-
# Add a new mime-type for a specific extension
|
435
|
-
#
|
436
|
-
# @param [Symbol] type File extension
|
437
|
-
# @param [String] value Mime type
|
438
|
-
# @return [void]
|
439
|
-
def mime_type(type, value=nil)
|
440
|
-
return type if type.nil? || type.to_s.include?('/')
|
441
|
-
type = ".#{type}" unless type.to_s[0] == ?.
|
442
|
-
return ::Rack::Mime.mime_type(type, nil) unless value
|
443
|
-
::Rack::Mime::MIME_TYPES[type] = value
|
444
|
-
end
|
445
|
-
|
446
|
-
protected
|
447
|
-
|
448
|
-
# Halt request and return 404
|
449
|
-
def not_found
|
450
|
-
@res.status == 404
|
451
|
-
@res.write "<html><body><h1>File Not Found</h1><p>#{@request_path}</p></body>"
|
452
|
-
@res.finish
|
453
|
-
end
|
454
|
-
|
455
|
-
delegate :helpers, :use, :map, :to => :"self.class"
|
456
|
-
|
457
|
-
# Immediately send static file
|
458
|
-
#
|
459
|
-
# @param [String] path File to send
|
460
|
-
def send_file(path)
|
461
|
-
extension = File.extname(path)
|
462
|
-
matched_mime = mime_type(extension)
|
463
|
-
matched_mime = "application/octet-stream" if matched_mime.nil?
|
464
|
-
content_type matched_mime
|
465
|
-
|
466
|
-
file = ::Rack::File.new nil
|
467
|
-
file.path = path
|
468
|
-
response = file.serving(env)
|
469
|
-
response[1]['Content-Encoding'] = 'gzip' if %w(.svgz).include?(extension)
|
470
|
-
halt response
|
471
|
-
end
|
472
|
-
|
473
|
-
# Set the content type for the current request
|
474
|
-
#
|
475
|
-
# @param [String] type Content type
|
476
|
-
# @param [Hash] params
|
477
|
-
# @return [void]
|
478
|
-
def content_type(type = nil, params={})
|
479
|
-
return res['Content-Type'] unless type
|
480
|
-
default = params.delete :default
|
481
|
-
mime_type = mime_type(type) || default
|
482
|
-
throw "Unknown media type: %p" % type if mime_type.nil?
|
483
|
-
mime_type = mime_type.dup
|
484
|
-
unless params.include? :charset
|
485
|
-
params[:charset] = params.delete('charset') || "utf-8"
|
486
|
-
end
|
487
|
-
params.delete :charset if mime_type.include? 'charset'
|
488
|
-
unless params.empty?
|
489
|
-
mime_type << (mime_type.include?(';') ? ', ' : ';')
|
490
|
-
mime_type << params.map { |kv| kv.join('=') }.join(', ')
|
491
|
-
end
|
492
|
-
res['Content-Type'] = mime_type
|
493
|
-
end
|
494
|
-
end
|
data/lib/middleman-core/cache.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
module Middleman
|
2
|
-
# Simple shared cache implementation
|
3
|
-
class Cache
|
4
|
-
|
5
|
-
# Initialize
|
6
|
-
def initialize
|
7
|
-
self.clear
|
8
|
-
end
|
9
|
-
|
10
|
-
# Either get the cached key or save the contents of the block
|
11
|
-
#
|
12
|
-
# @param Anything Hash can use as a key
|
13
|
-
# @return Cached value
|
14
|
-
def fetch(*key)
|
15
|
-
@cache[key] ||= yield
|
16
|
-
end
|
17
|
-
|
18
|
-
# Whether the key is in the cache
|
19
|
-
#
|
20
|
-
# @param Anything Hash can use as a key
|
21
|
-
# @return [Boolean]
|
22
|
-
def has_key?(key)
|
23
|
-
@cache.has_key?(key)
|
24
|
-
end
|
25
|
-
|
26
|
-
# Get a specific key
|
27
|
-
#
|
28
|
-
# @param Anything Hash can use as a key
|
29
|
-
# @return Cached value
|
30
|
-
def get(key)
|
31
|
-
@cache[key]
|
32
|
-
end
|
33
|
-
|
34
|
-
def keys
|
35
|
-
@cache.keys
|
36
|
-
end
|
37
|
-
|
38
|
-
# Clear the entire cache
|
39
|
-
def clear
|
40
|
-
@cache = {}
|
41
|
-
end
|
42
|
-
|
43
|
-
# Set a specific key
|
44
|
-
#
|
45
|
-
# @param Anything Hash can use as a key
|
46
|
-
# @param Cached value
|
47
|
-
def set(key, value)
|
48
|
-
@cache[key] = value
|
49
|
-
end
|
50
|
-
|
51
|
-
# Remove a specific key
|
52
|
-
# @param Anything Hash can use as a key
|
53
|
-
def remove(*key)
|
54
|
-
@cache.delete(key)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,72 +0,0 @@
|
|
1
|
-
require "active_support/core_ext/hash/deep_merge"
|
2
|
-
require 'find'
|
3
|
-
|
4
|
-
module Middleman::CoreExtensions::Sitemap
|
5
|
-
class << self
|
6
|
-
def registered(app)
|
7
|
-
app.set :ignored_sitemap_matchers, {
|
8
|
-
# dotfiles and folders in the root
|
9
|
-
:root_dotfiles => proc { |file, path| file.match(/^\./) },
|
10
|
-
|
11
|
-
# Files starting with an dot, but not .htaccess
|
12
|
-
:source_dotfiles => proc { |file, path|
|
13
|
-
(file.match(/\/\./) && !file.match(/\/\.htaccess/))
|
14
|
-
},
|
15
|
-
|
16
|
-
# Files starting with an underscore, but not a double-underscore
|
17
|
-
:partials => proc { |file, path| (file.match(/\/_/) && !file.match(/\/__/)) },
|
18
|
-
|
19
|
-
# Files without any output extension (layouts, partials)
|
20
|
-
:extensionless => proc { |file, path| !path.match(/\./) },
|
21
|
-
}
|
22
|
-
app.send :include, InstanceMethods
|
23
|
-
end
|
24
|
-
alias :included :registered
|
25
|
-
end
|
26
|
-
|
27
|
-
module InstanceMethods
|
28
|
-
def initialize
|
29
|
-
super
|
30
|
-
|
31
|
-
static_path = source_dir.sub(self.root, "").sub(/^\//, "")
|
32
|
-
sitemap_regex = static_path.empty? ? // : (%r{^#{static_path + "/"}})
|
33
|
-
|
34
|
-
self.files.changed sitemap_regex do |file|
|
35
|
-
self.sitemap.touch_file(file)
|
36
|
-
end
|
37
|
-
|
38
|
-
self.files.deleted sitemap_regex do |file|
|
39
|
-
self.sitemap.remove_file(file)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def sitemap
|
44
|
-
@sitemap ||= ::Middleman::Sitemap::Store.new(self)
|
45
|
-
end
|
46
|
-
|
47
|
-
def current_page
|
48
|
-
sitemap.page(current_path)
|
49
|
-
end
|
50
|
-
|
51
|
-
# Keep a path from building
|
52
|
-
def ignore(path)
|
53
|
-
sitemap.ignore(path)
|
54
|
-
end
|
55
|
-
|
56
|
-
def reroute(url, target)
|
57
|
-
sitemap.proxy(url, target)
|
58
|
-
end
|
59
|
-
|
60
|
-
def provides_metadata(matcher=nil, &block)
|
61
|
-
@_provides_metadata ||= []
|
62
|
-
@_provides_metadata << [block, matcher] if block_given?
|
63
|
-
@_provides_metadata
|
64
|
-
end
|
65
|
-
|
66
|
-
def provides_metadata_for_path(matcher=nil, &block)
|
67
|
-
@_provides_metadata_for_path ||= []
|
68
|
-
@_provides_metadata_for_path << [block, matcher] if block_given?
|
69
|
-
@_provides_metadata_for_path
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|