middleman-core 3.2.2 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/features/cli_init.feature +18 -8
- data/features/helpers_select_tag.feature +1 -1
- data/features/layouts_dir.feature +8 -0
- data/features/markdown_redcarpet.feature +2 -2
- data/fixtures/asciidoc-app/source/layouts/default.erb +0 -1
- data/fixtures/capture-html-app/source/capture_html_haml.html.haml +1 -1
- data/fixtures/content-for-app/source/content_for_haml.html.haml +1 -1
- data/fixtures/frontmatter-settings-app/source/layouts/override.erb +1 -2
- data/fixtures/frontmatter-settings-neighbor-app/source/layouts/override.erb +1 -2
- data/fixtures/layouts-dir-app/source/ambiguous.html.erb +5 -0
- data/fixtures/layouts-dir-app/source/layouts/other.erb +3 -0
- data/fixtures/layouts-dir-app/source/other.erb +3 -0
- data/fixtures/link-to-app/source/link_to_haml.html.haml +1 -1
- data/fixtures/link-to-app/source/link_to_slim.html.slim +1 -1
- data/fixtures/nested-layout-app/source/layouts/inner_haml.haml +1 -1
- data/fixtures/nested-layout-app/source/layouts/inner_slim.slim +1 -1
- data/fixtures/nested-layout-app/source/layouts/outer_haml.haml +1 -1
- data/fixtures/nested-layout-app/source/layouts/outer_slim.slim +1 -1
- data/lib/middleman-core/application.rb +12 -3
- data/lib/middleman-core/cli/build.rb +5 -3
- data/lib/middleman-core/cli/console.rb +1 -1
- data/lib/middleman-core/cli/init.rb +1 -1
- data/lib/middleman-core/core_extensions.rb +0 -1
- data/lib/middleman-core/core_extensions/file_watcher.rb +11 -11
- data/lib/middleman-core/core_extensions/rendering.rb +40 -66
- data/lib/middleman-core/extension.rb +167 -0
- data/lib/middleman-core/extensions.rb +2 -151
- data/lib/middleman-core/logger.rb +2 -2
- data/lib/middleman-core/meta_pages/assets/config.css +13 -0
- data/lib/middleman-core/meta_pages/assets/meta.css +19 -3
- data/lib/middleman-core/meta_pages/assets/sitemap.css +18 -1
- data/lib/middleman-core/meta_pages/config_setting.rb +7 -9
- data/lib/middleman-core/meta_pages/sitemap_resource.rb +24 -15
- data/lib/middleman-core/meta_pages/sitemap_tree.rb +5 -1
- data/lib/middleman-core/meta_pages/templates/config.html.erb +2 -2
- data/lib/middleman-core/meta_pages/templates/index.html.erb +18 -8
- data/lib/middleman-core/meta_pages/templates/sitemap.html.erb +4 -5
- data/lib/middleman-core/preview_server.rb +6 -3
- data/lib/middleman-core/renderers/erb.rb +12 -14
- data/lib/middleman-core/renderers/haml.rb +10 -0
- data/lib/middleman-core/renderers/markdown.rb +5 -1
- data/lib/middleman-core/renderers/sass.rb +0 -4
- data/lib/middleman-core/renderers/slim.rb +16 -3
- data/lib/middleman-core/sitemap/resource.rb +1 -1
- data/lib/middleman-core/step_definitions.rb +2 -1
- data/lib/middleman-core/templates.rb +3 -1
- data/lib/middleman-core/templates/shared/Gemfile.tt +4 -1
- data/lib/middleman-core/templates/shared/config.tt +3 -1
- data/lib/middleman-core/templates/shared/gitignore +2 -1
- data/lib/middleman-core/util.rb +22 -16
- data/lib/middleman-core/version.rb +1 -1
- data/lib/middleman-more/core_extensions/compass.rb +3 -3
- data/lib/middleman-more/core_extensions/default_helpers.rb +18 -15
- data/lib/middleman-more/extensions/asset_hash.rb +1 -0
- data/middleman-core.gemspec +9 -6
- metadata +69 -227
- data/features/sass_cache_path.feature +0 -22
- data/fixtures/sass-cache-path-custom-app/config.rb +0 -3
- data/fixtures/sass-cache-path-custom-app/source/stylesheets/plain.css.sass +0 -4
- data/fixtures/sass-cache-path-default-app/config.rb +0 -3
- data/fixtures/sass-cache-path-default-app/source/stylesheets/plain.css.sass +0 -4
- data/lib/vendored-middleman-deps/hooks-0.2.0/CHANGES.textile +0 -9
- data/lib/vendored-middleman-deps/hooks-0.2.0/Gemfile +0 -3
- data/lib/vendored-middleman-deps/hooks-0.2.0/README.rdoc +0 -107
- data/lib/vendored-middleman-deps/hooks-0.2.0/Rakefile +0 -12
- data/lib/vendored-middleman-deps/hooks-0.2.0/hooks.gemspec +0 -22
- data/lib/vendored-middleman-deps/hooks-0.2.0/lib/hooks.rb +0 -109
- data/lib/vendored-middleman-deps/hooks-0.2.0/lib/hooks/inheritable_attribute.rb +0 -33
- data/lib/vendored-middleman-deps/hooks-0.2.0/test/hooks_test.rb +0 -141
- data/lib/vendored-middleman-deps/hooks-0.2.0/test/inheritable_attribute_test.rb +0 -55
- data/lib/vendored-middleman-deps/hooks-0.2.0/test/test_helper.rb +0 -10
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/.document +0 -5
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/.gitignore +0 -22
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/.yardopts +0 -1
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/LICENSE.txt +0 -20
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/README.rdoc +0 -294
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/Rakefile +0 -5
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/bin/padrino +0 -9
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core.rb +0 -200
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application.rb +0 -297
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/flash.rb +0 -229
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering.rb +0 -317
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/erubis.rb +0 -64
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/haml.rb +0 -28
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/slim.rb +0 -14
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/routing.rb +0 -1077
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/showexceptions.rb +0 -21
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/caller.rb +0 -53
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/adapter.rb +0 -24
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/base.rb +0 -159
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/console.rb +0 -20
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/rake.rb +0 -47
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/rake_tasks.rb +0 -52
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/command.rb +0 -38
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/images/404.png +0 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/images/500.png +0 -0
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/loader.rb +0 -224
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/cs.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/da.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/de.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/en.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/es.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/fr.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/hu.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/it.yml +0 -39
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ja.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/lv.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/nl.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/no.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/pl.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/pt_br.yml +0 -39
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ro.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ru.yml +0 -34
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/sv.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/tr.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/uk.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/zh_cn.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/zh_tw.yml +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/logger.rb +0 -438
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/module.rb +0 -58
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/mounter.rb +0 -234
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/reloader.rb +0 -341
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/router.rb +0 -95
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/server.rb +0 -77
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/support_lite.rb +0 -260
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/tasks.rb +0 -21
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/version.rb +0 -20
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/padrino-core.gemspec +0 -43
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/Gemfile +0 -4
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/app/app.rb +0 -3
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/app_gem.gemspec +0 -17
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/lib/app_gem.rb +0 -7
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/lib/app_gem/version.rb +0 -3
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/.components +0 -6
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/.gitignore +0 -7
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/complex.rb +0 -32
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/simple.rb +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/a.rb +0 -9
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/b.rb +0 -4
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/c.rb +0 -1
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/e.rb +0 -13
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/f.rb +0 -2
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/g.rb +0 -2
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/d.rb +0 -4
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/helper.rb +0 -83
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/mini_shoulda.rb +0 -45
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_application.rb +0 -125
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_core.rb +0 -77
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_csrf_protection.rb +0 -80
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_dependencies.rb +0 -44
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_filters.rb +0 -348
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_flash.rb +0 -168
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_locale.rb +0 -21
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_logger.rb +0 -210
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_mounter.rb +0 -199
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_reloader_complex.rb +0 -75
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_reloader_simple.rb +0 -98
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering.rb +0 -545
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering_extensions.rb +0 -14
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_restful_routing.rb +0 -33
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_router.rb +0 -146
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_routing.rb +0 -1927
- data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_support_lite.rb +0 -56
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.document +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.gitignore +0 -21
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.yardopts +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/LICENSE.txt +0 -20
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/README.rdoc +0 -239
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/Rakefile +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers.rb +0 -57
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/asset_tag_helpers.rb +0 -401
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/breadcrumb_helpers.rb +0 -183
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -317
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -40
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_helpers.rb +0 -919
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/format_helpers.rb +0 -372
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/cs.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/da.yml +0 -91
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/de.yml +0 -81
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/en.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/es.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/fr.yml +0 -79
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/hu.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/it.yml +0 -89
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ja.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/lv.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/nl.yml +0 -82
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/no.yml +0 -91
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/pl.yml +0 -95
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/pt_br.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ro.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ru.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/sv.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/tr.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/uk.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/zh_cn.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/zh_tw.yml +0 -103
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/number_helpers.rb +0 -283
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers.rb +0 -207
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -96
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -78
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -63
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -78
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/render_helpers.rb +0 -59
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/tag_helpers.rb +0 -292
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/translation_helpers.rb +0 -36
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/padrino-helpers.gemspec +0 -27
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/app.rb +0 -84
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.erb +0 -8
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.haml +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.slim +0 -6
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.erb +0 -14
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.haml +0 -12
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.slim +0 -12
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.erb +0 -14
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.haml +0 -12
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.slim +0 -12
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.erb +0 -11
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.haml +0 -9
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.slim +0 -9
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.erb +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.haml +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.slim +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.erb +0 -20
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.haml +0 -15
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.slim +0 -15
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.erb +0 -72
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.haml +0 -59
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.slim +0 -59
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.erb +0 -95
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.haml +0 -78
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.slim +0 -79
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.erb +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.haml +0 -4
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.slim +0 -4
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.erb +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.haml +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.slim +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.erb +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.haml +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.slim +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.erb +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.haml +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.slim +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/app.rb +0 -58
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engine.haml +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_erb.erb +0 -3
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_haml.haml +0 -2
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_slim.slim +0 -2
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/erb/test.erb +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/explicit_engine.haml +0 -5
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/haml/test.haml +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/_user.haml +0 -7
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/haml_template.haml +0 -1
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/some_template.haml +0 -2
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/helper.rb +0 -67
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_asset_tag_helpers.rb +0 -359
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_breadcrumb_helpers.rb +0 -134
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_form_builder.rb +0 -1178
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_form_helpers.rb +0 -1030
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_format_helpers.rb +0 -241
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_locale.rb +0 -20
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_number_helpers.rb +0 -143
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_output_helpers.rb +0 -154
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_render_helpers.rb +0 -94
- data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_tag_helpers.rb +0 -117
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ec86e75a709ebacbc0ae4fd050a256758886f76f
|
|
4
|
+
data.tar.gz: 631a42d3975ab12e85936cd886447c1e46a0eefe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 362ba5051eaba3f44b7a02bb9ff7a3f1bd95b65246c8b56ec5d26985045aaf7d8e45282441ac2a6ec17b8613934d5e2049bc1f3f02332e33d4517eb4d5c2f2eb
|
|
7
|
+
data.tar.gz: 221fec08ab0e003b107cfc8627f65f22f2b6b1e4b81a3793735c2b11c05c3ff2c2ba45d9d74fc7cb5fe07f7873f365b5eeaa048a0d71076e5c3fd4d4586e3a22
|
data/features/cli_init.feature
CHANGED
|
@@ -15,19 +15,29 @@ Feature: Middleman CLI
|
|
|
15
15
|
| source/javascripts/all.js |
|
|
16
16
|
| source/stylesheets/all.css |
|
|
17
17
|
| source/stylesheets/normalize.css |
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
Scenario: Create a new project in the current directory
|
|
20
|
+
Given a directory named "MY_PROJECT"
|
|
21
|
+
When I cd to "MY_PROJECT"
|
|
22
|
+
And I run `middleman init`
|
|
23
|
+
Then the exit status should be 0
|
|
24
|
+
And the following files should exist:
|
|
25
|
+
| Gemfile |
|
|
26
|
+
| config.rb |
|
|
27
|
+
| source/index.html.erb |
|
|
28
|
+
|
|
19
29
|
Scenario: Create a new project (alias i)
|
|
20
30
|
When I run `middleman i MY_PROJECT`
|
|
21
31
|
Then a directory named "MY_PROJECT" should exist
|
|
22
|
-
|
|
32
|
+
|
|
23
33
|
Scenario: Create a new project (alias new)
|
|
24
34
|
When I run `middleman new MY_PROJECT`
|
|
25
35
|
Then a directory named "MY_PROJECT" should exist
|
|
26
|
-
|
|
36
|
+
|
|
27
37
|
Scenario: Create a new project (alias n)
|
|
28
38
|
When I run `middleman n MY_PROJECT`
|
|
29
39
|
Then a directory named "MY_PROJECT" should exist
|
|
30
|
-
|
|
40
|
+
|
|
31
41
|
Scenario: Create a new project with Rack
|
|
32
42
|
When I run `middleman init MY_PROJECT --rack`
|
|
33
43
|
Then a directory named "MY_PROJECT" should exist
|
|
@@ -36,7 +46,7 @@ Feature: Middleman CLI
|
|
|
36
46
|
| config.rb |
|
|
37
47
|
| config.ru |
|
|
38
48
|
| Gemfile |
|
|
39
|
-
|
|
49
|
+
|
|
40
50
|
Scenario: Create a new HTML5 project
|
|
41
51
|
When I run `middleman init MY_PROJECT --template=html5`
|
|
42
52
|
Then a directory named "MY_PROJECT" should exist
|
|
@@ -54,7 +64,7 @@ Feature: Middleman CLI
|
|
|
54
64
|
| layouts/layout.erb |
|
|
55
65
|
| humans.txt |
|
|
56
66
|
| js/main.js |
|
|
57
|
-
|
|
67
|
+
|
|
58
68
|
Scenario: Create a new HTML5 project with Rack
|
|
59
69
|
When I run `middleman init MY_PROJECT --rack --template=html5`
|
|
60
70
|
Then a directory named "MY_PROJECT" should exist
|
|
@@ -63,7 +73,7 @@ Feature: Middleman CLI
|
|
|
63
73
|
| config.rb |
|
|
64
74
|
| config.ru |
|
|
65
75
|
| Gemfile |
|
|
66
|
-
|
|
76
|
+
|
|
67
77
|
Scenario: Create a new Mobile HTML5 project
|
|
68
78
|
When I run `middleman init MY_PROJECT --template=mobile`
|
|
69
79
|
Then a directory named "MY_PROJECT" should exist
|
|
@@ -79,7 +89,7 @@ Feature: Middleman CLI
|
|
|
79
89
|
| index.html |
|
|
80
90
|
| humans.txt |
|
|
81
91
|
| js/libs/respond.min.js |
|
|
82
|
-
|
|
92
|
+
|
|
83
93
|
Scenario: Create a new Mobile HTML5 project with Rack
|
|
84
94
|
When I run `middleman init MY_PROJECT --rack --template=mobile`
|
|
85
95
|
Then a directory named "MY_PROJECT" should exist
|
|
@@ -11,7 +11,7 @@ Feature: select_tag helper
|
|
|
11
11
|
When I go to "/select_tag.html"
|
|
12
12
|
Then I should see:
|
|
13
13
|
"""
|
|
14
|
-
<select name="colors"><option value="">Choose a color</option>
|
|
14
|
+
<select name="colors" include_blank="Choose a color"><option value="">Choose a color</option>
|
|
15
15
|
<option value="red">red</option>
|
|
16
16
|
<option value="blue">blue</option>
|
|
17
17
|
<option value="blorange">blorange</option>
|
|
@@ -28,3 +28,11 @@ Feature: Layouts dir
|
|
|
28
28
|
When I go to "/index.html"
|
|
29
29
|
Then I should see "contents of the layout"
|
|
30
30
|
|
|
31
|
+
Scenario: Prefer a layout in the layouts_dir to one with the same name in the root
|
|
32
|
+
Given a fixture app "layouts-dir-app"
|
|
33
|
+
And a file named "config.rb" with:
|
|
34
|
+
"""
|
|
35
|
+
"""
|
|
36
|
+
And the Server is running
|
|
37
|
+
When I go to "/ambiguous.html"
|
|
38
|
+
Then I should see "contents of the layout in layouts_dir"
|
|
@@ -86,8 +86,8 @@ Feature: Markdown (Redcarpet) support
|
|
|
86
86
|
Then I should see ""
|
|
87
87
|
And I should not see "<img"
|
|
88
88
|
When I go to "/with_toc_data.html"
|
|
89
|
-
Then I should see 'id="
|
|
90
|
-
And I should see 'id="
|
|
89
|
+
Then I should see 'id="first-header"'
|
|
90
|
+
And I should see 'id="second-header"'
|
|
91
91
|
When I go to "/hard_wrap.html"
|
|
92
92
|
Then I should see "br"
|
|
93
93
|
When I go to "/link.html"
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
<%= yield %>
|
|
2
|
-
Override.
|
|
1
|
+
<%= yield %> Override.
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
<%= yield %>
|
|
2
|
-
Override.
|
|
1
|
+
<%= yield %> Override.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
= link_to "/" do
|
|
2
2
|
%s haml with html tags
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
= link_to "/" do
|
|
2
2
|
s slim with html tags
|
|
@@ -6,15 +6,14 @@ require 'i18n'
|
|
|
6
6
|
|
|
7
7
|
# Don't fail on invalid locale, that's not what our current
|
|
8
8
|
# users expect.
|
|
9
|
-
::I18n.
|
|
9
|
+
::I18n.enforce_available_locales = false
|
|
10
10
|
|
|
11
11
|
# Use ActiveSupport JSON
|
|
12
12
|
require 'active_support/json'
|
|
13
13
|
require 'active_support/core_ext/integer/inflections'
|
|
14
|
-
require 'active_support/core_ext/float/rounding'
|
|
15
14
|
|
|
16
15
|
# Simple callback library
|
|
17
|
-
require '
|
|
16
|
+
require 'hooks'
|
|
18
17
|
|
|
19
18
|
# Our custom logger
|
|
20
19
|
require 'middleman-core/logger'
|
|
@@ -32,6 +31,7 @@ module Middleman
|
|
|
32
31
|
|
|
33
32
|
# Uses callbacks
|
|
34
33
|
include Hooks
|
|
34
|
+
include Hooks::InstanceHooks
|
|
35
35
|
|
|
36
36
|
# Before request hook
|
|
37
37
|
define_hook :before
|
|
@@ -39,6 +39,9 @@ module Middleman
|
|
|
39
39
|
# Ready (all loading and parsing of extensions complete) hook
|
|
40
40
|
define_hook :ready
|
|
41
41
|
|
|
42
|
+
# Runs before the build is started
|
|
43
|
+
define_hook :before_build
|
|
44
|
+
|
|
42
45
|
# Runs after the build is finished
|
|
43
46
|
define_hook :after_build
|
|
44
47
|
|
|
@@ -223,6 +226,12 @@ module Middleman
|
|
|
223
226
|
end
|
|
224
227
|
alias :inspect :to_s # Ruby 2.0 calls inspect for NoMethodError instead of to_s
|
|
225
228
|
|
|
229
|
+
# Hooks clones _hooks from the class to the instance.
|
|
230
|
+
# https://github.com/apotonick/hooks/blob/master/lib/hooks/instance_hooks.rb#L10
|
|
231
|
+
# Middleman expects the same list of hooks for class and instance hooks:
|
|
232
|
+
def _hooks
|
|
233
|
+
self.class._hooks
|
|
234
|
+
end
|
|
226
235
|
end
|
|
227
236
|
end
|
|
228
237
|
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
require 'middleman-core'
|
|
2
|
-
require 'middleman-core/logger'
|
|
3
|
-
|
|
4
1
|
require 'fileutils'
|
|
5
2
|
require 'set'
|
|
6
3
|
|
|
@@ -50,6 +47,9 @@ module Middleman::Cli
|
|
|
50
47
|
raise Thor::Error, 'Error: Could not find a Middleman project config, perhaps you are in the wrong folder?'
|
|
51
48
|
end
|
|
52
49
|
|
|
50
|
+
require 'middleman-core'
|
|
51
|
+
require 'middleman-core/logger'
|
|
52
|
+
|
|
53
53
|
# Use Rack::Test for inspecting a running server for output
|
|
54
54
|
require 'rack'
|
|
55
55
|
require 'rack/test'
|
|
@@ -65,6 +65,8 @@ module Middleman::Cli
|
|
|
65
65
|
opts[:glob] = options['glob'] if options.has_key?('glob')
|
|
66
66
|
opts[:clean] = options['clean']
|
|
67
67
|
|
|
68
|
+
self.class.shared_instance.run_hook :before_build, self
|
|
69
|
+
|
|
68
70
|
action BuildAction.new(self, opts)
|
|
69
71
|
|
|
70
72
|
self.class.shared_instance.run_hook :after_build, self
|
|
@@ -32,7 +32,7 @@ module Middleman::Cli
|
|
|
32
32
|
set :environment, opts[:environment].to_sym
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
::Middleman::Logger.singleton(opts[:debug] ? 0 : 1, opts[:instrumenting] || false)
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
# TODO: get file watcher / reload! working in console
|
|
@@ -43,7 +43,7 @@ module Middleman::Cli
|
|
|
43
43
|
:desc => 'Skip Git ignores and keeps'
|
|
44
44
|
# The init task
|
|
45
45
|
# @param [String] name
|
|
46
|
-
def init(name)
|
|
46
|
+
def init(name = '.')
|
|
47
47
|
key = options[:template].to_sym
|
|
48
48
|
unless ::Middleman::Templates.registered.has_key?(key)
|
|
49
49
|
raise Thor::Error.new "Unknown project template '#{key}'"
|
|
@@ -7,12 +7,13 @@ module Middleman
|
|
|
7
7
|
module FileWatcher
|
|
8
8
|
|
|
9
9
|
IGNORE_LIST = [
|
|
10
|
-
/^bin
|
|
11
|
-
/^\.bundle
|
|
12
|
-
/^vendor
|
|
13
|
-
|
|
14
|
-
/^\.cache
|
|
15
|
-
/^\.
|
|
10
|
+
/^bin(\/|$)/,
|
|
11
|
+
/^\.bundle(\/|$)/,
|
|
12
|
+
/^vendor(\/|$)/,
|
|
13
|
+
/^node_modules(\/|$)/,
|
|
14
|
+
/^\.sass-cache(\/|$)/,
|
|
15
|
+
/^\.cache(\/|$)/,
|
|
16
|
+
/^\.git(\/|$)/,
|
|
16
17
|
/^\.gitignore$/,
|
|
17
18
|
/\.DS_Store/,
|
|
18
19
|
/^\.rbenv-.*$/,
|
|
@@ -38,7 +39,7 @@ module Middleman
|
|
|
38
39
|
end
|
|
39
40
|
|
|
40
41
|
app.after_configuration do
|
|
41
|
-
config[:file_watcher_ignore] << %r{^#{config[:build_dir]}
|
|
42
|
+
config[:file_watcher_ignore] << %r{^#{config[:build_dir]}(\/|$)}
|
|
42
43
|
end
|
|
43
44
|
|
|
44
45
|
# After config, load everything else
|
|
@@ -99,7 +100,6 @@ module Middleman
|
|
|
99
100
|
# @return [void]
|
|
100
101
|
def did_change(path)
|
|
101
102
|
path = Pathname(path)
|
|
102
|
-
return if ignored?(path)
|
|
103
103
|
logger.debug "== File Change: #{path}"
|
|
104
104
|
@known_paths << path
|
|
105
105
|
self.run_callbacks(path, :changed)
|
|
@@ -111,7 +111,6 @@ module Middleman
|
|
|
111
111
|
# @return [void]
|
|
112
112
|
def did_delete(path)
|
|
113
113
|
path = Pathname(path)
|
|
114
|
-
return if ignored?(path)
|
|
115
114
|
logger.debug "== File Deletion: #{path}"
|
|
116
115
|
@known_paths.delete(path)
|
|
117
116
|
self.run_callbacks(path, :deleted)
|
|
@@ -131,7 +130,7 @@ module Middleman
|
|
|
131
130
|
glob = (path + '**').to_s
|
|
132
131
|
subset = @known_paths.select { |p| p.fnmatch(glob) }
|
|
133
132
|
|
|
134
|
-
::Middleman::Util.all_files_under(path).each do |filepath|
|
|
133
|
+
::Middleman::Util.all_files_under(path, &method(:ignored?)).each do |filepath|
|
|
135
134
|
next if only_new && subset.include?(filepath)
|
|
136
135
|
|
|
137
136
|
subset.delete(filepath)
|
|
@@ -156,7 +155,6 @@ module Middleman
|
|
|
156
155
|
@known_paths.include?(p)
|
|
157
156
|
end
|
|
158
157
|
|
|
159
|
-
protected
|
|
160
158
|
# Whether this path is ignored
|
|
161
159
|
# @param [Pathname] path
|
|
162
160
|
# @return [Boolean]
|
|
@@ -165,6 +163,8 @@ module Middleman
|
|
|
165
163
|
app.config[:file_watcher_ignore].any? { |r| path =~ r }
|
|
166
164
|
end
|
|
167
165
|
|
|
166
|
+
protected
|
|
167
|
+
|
|
168
168
|
# Notify callbacks for a file given an array of callbacks
|
|
169
169
|
#
|
|
170
170
|
# @param [Pathname] path The file that was changed
|
|
@@ -157,7 +157,7 @@ module Middleman
|
|
|
157
157
|
content = render_individual_file(path, locs, opts, context)
|
|
158
158
|
path = File.basename(path, File.extname(path))
|
|
159
159
|
rescue LocalJumpError
|
|
160
|
-
raise "Tried to render a layout (calls yield) at #{path} like it was a template. Non-default layouts need to be in #{source}/#{
|
|
160
|
+
raise "Tried to render a layout (calls yield) at #{path} like it was a template. Non-default layouts need to be in #{source}/#{config[:layouts_dir]}."
|
|
161
161
|
end
|
|
162
162
|
end
|
|
163
163
|
|
|
@@ -190,42 +190,29 @@ module Middleman
|
|
|
190
190
|
locals = options[:locals]
|
|
191
191
|
|
|
192
192
|
found_partial = false
|
|
193
|
-
|
|
193
|
+
resolve_opts = { try_without_underscore: true }
|
|
194
194
|
|
|
195
195
|
# If the path is known to the sitemap
|
|
196
196
|
if resource = sitemap.find_resource_by_path(current_path)
|
|
197
197
|
current_dir = File.dirname(resource.source_file)
|
|
198
|
-
|
|
198
|
+
resolve_opts[:preferred_engine] = File.extname(resource.source_file)[1..-1].to_sym
|
|
199
199
|
|
|
200
200
|
# Look for partials relative to the current path
|
|
201
201
|
relative_dir = File.join(current_dir.sub(%r{^#{Regexp.escape(self.source_dir)}/?}, ''), data)
|
|
202
202
|
|
|
203
|
-
|
|
204
|
-
found_partial, found_engine = resolve_template(relative_dir, :preferred_engine => engine, :try_without_underscore => true)
|
|
205
|
-
|
|
206
|
-
# Fall back to any engine available
|
|
207
|
-
if !found_partial
|
|
208
|
-
found_partial, found_engine = resolve_template(relative_dir, :try_without_underscore => true)
|
|
209
|
-
end
|
|
203
|
+
found_partial = resolve_template(relative_dir, resolve_opts)
|
|
210
204
|
end
|
|
211
205
|
|
|
212
206
|
# Look in the partials_dir for the partial with the current engine
|
|
213
|
-
partials_path = File.join(config[:partials_dir], data)
|
|
214
|
-
if !found_partial && !engine.nil?
|
|
215
|
-
found_partial, found_engine = resolve_template(partials_path, :preferred_engine => engine, :try_without_underscore => true)
|
|
216
|
-
end
|
|
217
|
-
|
|
218
|
-
# Look in the root with any engine
|
|
219
207
|
if !found_partial
|
|
220
|
-
|
|
208
|
+
partials_path = File.join(config[:partials_dir], data)
|
|
209
|
+
found_partial = resolve_template(partials_path, resolve_opts)
|
|
221
210
|
end
|
|
222
211
|
|
|
212
|
+
raise ::Middleman::CoreExtensions::Rendering::TemplateNotFound, "Could not locate partial: #{data}" unless found_partial
|
|
213
|
+
|
|
223
214
|
# Render the partial if found, otherwide throw exception
|
|
224
|
-
|
|
225
|
-
render_individual_file(found_partial, locals, options, self, &block)
|
|
226
|
-
else
|
|
227
|
-
raise ::Middleman::CoreExtensions::Rendering::TemplateNotFound, "Could not locate partial: #{data}"
|
|
228
|
-
end
|
|
215
|
+
render_individual_file(found_partial, locals, options, self, &block)
|
|
229
216
|
end
|
|
230
217
|
|
|
231
218
|
# Render an on-disk file. Used for everything, including layouts.
|
|
@@ -370,26 +357,14 @@ module Middleman
|
|
|
370
357
|
# Whether we've found the layout
|
|
371
358
|
layout_path = false
|
|
372
359
|
|
|
373
|
-
|
|
374
|
-
if !preferred_engine.nil?
|
|
375
|
-
# Check root
|
|
376
|
-
layout_path, layout_engine = resolve_template(name, :preferred_engine => preferred_engine)
|
|
377
|
-
|
|
378
|
-
# Check layouts folder
|
|
379
|
-
if !layout_path
|
|
380
|
-
layout_path, layout_engine = resolve_template(File.join(config[:layouts_dir], name.to_s), :preferred_engine => preferred_engine)
|
|
381
|
-
end
|
|
382
|
-
end
|
|
360
|
+
resolve_opts = {}
|
|
361
|
+
resolve_opts[:preferred_engine] = preferred_engine if !preferred_engine.nil?
|
|
383
362
|
|
|
384
|
-
# Check
|
|
385
|
-
|
|
386
|
-
layout_path, layout_engine = resolve_template(name)
|
|
387
|
-
end
|
|
363
|
+
# Check layouts folder
|
|
364
|
+
layout_path = resolve_template(File.join(config[:layouts_dir], name.to_s), resolve_opts)
|
|
388
365
|
|
|
389
|
-
#
|
|
390
|
-
|
|
391
|
-
layout_path, layout_engine = resolve_template(File.join(config[:layouts_dir], name.to_s))
|
|
392
|
-
end
|
|
366
|
+
# If we didn't find it, check root
|
|
367
|
+
layout_path = resolve_template(name, resolve_opts) unless layout_path
|
|
393
368
|
|
|
394
369
|
# Return the path
|
|
395
370
|
layout_path
|
|
@@ -440,7 +415,8 @@ module Middleman
|
|
|
440
415
|
|
|
441
416
|
# Find a template on disk given a output path
|
|
442
417
|
# @param [String] request_path
|
|
443
|
-
# @
|
|
418
|
+
# @option options [Boolean] :preferred_engine If set, try this engine first, then fall back to any engine.
|
|
419
|
+
# @option options [Boolean] :try_without_underscore
|
|
444
420
|
# @return [Array<String, Symbol>, Boolean]
|
|
445
421
|
def resolve_template(request_path, options={})
|
|
446
422
|
# Find the path by searching or using the cache
|
|
@@ -450,48 +426,46 @@ module Middleman
|
|
|
450
426
|
on_disk_path = File.expand_path(relative_path, self.source_dir)
|
|
451
427
|
|
|
452
428
|
# By default, any engine will do
|
|
453
|
-
|
|
429
|
+
preferred_engines = ['*']
|
|
454
430
|
|
|
455
|
-
#
|
|
431
|
+
# If we're specifically looking for a preferred engine
|
|
456
432
|
if options.has_key?(:preferred_engine)
|
|
457
433
|
extension_class = ::Tilt[options[:preferred_engine]]
|
|
458
434
|
matched_exts = []
|
|
459
435
|
|
|
460
436
|
# Get a list of extensions for a preferred engine
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
matched_exts << ext
|
|
465
|
-
end
|
|
437
|
+
matched_exts = ::Tilt.mappings.select do |ext, engines|
|
|
438
|
+
engines.include? extension_class
|
|
439
|
+
end.keys
|
|
466
440
|
|
|
467
|
-
#
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
else
|
|
471
|
-
return false
|
|
441
|
+
# Prefer to look for the matched extensions
|
|
442
|
+
unless matched_exts.empty?
|
|
443
|
+
preferred_engines.unshift('{' + matched_exts.join(',') + '}')
|
|
472
444
|
end
|
|
473
445
|
end
|
|
474
446
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
447
|
+
search_paths = preferred_engines.flat_map do |preferred_engine|
|
|
448
|
+
path_with_ext = on_disk_path + '.' + preferred_engine
|
|
449
|
+
paths = [path_with_ext]
|
|
450
|
+
if options[:try_without_underscore]
|
|
451
|
+
paths << path_with_ext.sub(relative_path, relative_path.sub(/^_/, '').sub(/\/_/, '/'))
|
|
452
|
+
end
|
|
453
|
+
paths
|
|
480
454
|
end
|
|
481
455
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
sub(/\/_/, '/'))
|
|
486
|
-
found_path = Dir[path_no_underscore].find do |path|
|
|
456
|
+
found_path = nil
|
|
457
|
+
search_paths.each do |path_with_ext|
|
|
458
|
+
found_path = Dir[path_with_ext].find do |path|
|
|
487
459
|
::Tilt[path]
|
|
488
460
|
end
|
|
461
|
+
break if found_path
|
|
489
462
|
end
|
|
490
463
|
|
|
491
464
|
# If we found one, return it and the found engine
|
|
492
|
-
if found_path
|
|
493
|
-
|
|
494
|
-
|
|
465
|
+
if found_path
|
|
466
|
+
found_path
|
|
467
|
+
elsif File.exists?(on_disk_path)
|
|
468
|
+
on_disk_path
|
|
495
469
|
else
|
|
496
470
|
false
|
|
497
471
|
end
|