middleman 2.0.16.1 → 3.0.0.alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -1
- data/CHANGELOG +16 -8
- data/features/builder.feature +2 -5
- data/features/cache_buster.feature +1 -1
- data/features/clean_build.feature +0 -1
- data/features/coffee-script.feature +3 -3
- data/features/custom_layout_engines.feature +10 -0
- data/features/directory_index.feature +0 -1
- data/features/dynamic_pages.feature +0 -1
- data/features/fonts.feature +0 -1
- data/features/{padrino_helpers.feature → former_padrino_helpers.feature} +1 -1
- data/features/sprockets.feature +34 -5
- data/features/sprockets_gems.feature +7 -4
- data/features/step_definitions/asset_host_steps.rb +7 -6
- data/features/step_definitions/builder_steps.rb +4 -0
- data/features/step_definitions/middleman_steps.rb +22 -16
- data/features/step_definitions/page_layout_steps.rb +10 -8
- data/fixtures/custom-layout-app/config.rb +1 -0
- data/fixtures/custom-layout-app/source/index.html.erb +1 -0
- data/fixtures/custom-layout-app/source/layout.haml +6 -0
- data/fixtures/sprockets-app/config.rb +2 -1
- data/fixtures/sprockets-app/source/library/css/bootstrap_include.css.scss +1 -0
- data/fixtures/sprockets-app/source/library/css/plain.css +3 -0
- data/fixtures/sprockets-app/source/library/css/sprockets_base1.css.scss +1 -0
- data/fixtures/sprockets-app/source/library/css/sprockets_base2.css.scss +1 -0
- data/fixtures/sprockets-app/source/library/css/sprockets_sub.css.scss +1 -0
- data/fixtures/sprockets-app/source/{jquery_include.js → library/js/jquery_include.js} +0 -0
- data/fixtures/sprockets-app/source/library/js/plain.js +3 -0
- data/fixtures/sprockets-app/source/library/{javascripts → js}/sprockets_base.js +0 -0
- data/fixtures/sprockets-app/source/library/{javascripts → js}/sprockets_sub.js +0 -0
- data/fixtures/test-app/config.rb +5 -4
- data/fixtures/test-app/source/{padrino_test.html.haml → former_padrino_test.html.haml} +0 -0
- data/fixtures/test-app/source/stylesheets/sprockets_base1.css.scss +1 -0
- data/fixtures/test-app/source/stylesheets/sprockets_base2.css.scss +1 -0
- data/fixtures/test-app/source/stylesheets/sprockets_sub.css.scss +1 -0
- data/lib/middleman.rb +27 -25
- data/lib/middleman/base.rb +408 -166
- data/lib/middleman/builder.rb +78 -162
- data/lib/middleman/cli.rb +61 -32
- data/lib/middleman/core_extensions/assets.rb +4 -44
- data/lib/middleman/core_extensions/builder.rb +12 -16
- data/lib/middleman/core_extensions/compass.rb +28 -57
- data/lib/middleman/core_extensions/data.rb +65 -49
- data/lib/middleman/core_extensions/default_helpers.rb +33 -18
- data/lib/middleman/core_extensions/features.rb +48 -26
- data/lib/middleman/core_extensions/file_watcher.rb +66 -0
- data/lib/middleman/core_extensions/front_matter.rb +91 -86
- data/lib/middleman/core_extensions/rendering.rb +9 -8
- data/lib/middleman/core_extensions/routing.rb +19 -53
- data/lib/middleman/core_extensions/sitemap.rb +229 -0
- data/lib/middleman/core_extensions/sprockets.rb +53 -37
- data/lib/middleman/features/asset_host.rb +20 -10
- data/lib/middleman/features/automatic_image_sizes.rb +12 -9
- data/lib/middleman/features/cache_buster.rb +38 -25
- data/lib/middleman/features/directory_indexes.rb +31 -28
- data/lib/middleman/features/minify_css.rb +3 -2
- data/lib/middleman/features/minify_css/cssmin.rb +55 -0
- data/lib/middleman/features/minify_javascript.rb +12 -5
- data/lib/middleman/features/relative_assets.rb +28 -25
- data/lib/middleman/features/sitemap_tree.rb +34 -0
- data/lib/middleman/guard.rb +57 -23
- data/lib/middleman/renderers/erb.rb +29 -0
- data/lib/middleman/renderers/liquid.rb +3 -12
- data/lib/middleman/renderers/markdown.rb +16 -15
- data/lib/middleman/renderers/sass.rb +34 -38
- data/lib/middleman/vendor/hooks-0.2.0/CHANGES.textile +9 -0
- data/lib/middleman/vendor/hooks-0.2.0/Gemfile +3 -0
- data/lib/middleman/vendor/hooks-0.2.0/README.rdoc +107 -0
- data/lib/middleman/vendor/hooks-0.2.0/Rakefile +12 -0
- data/lib/middleman/vendor/hooks-0.2.0/hooks.gemspec +22 -0
- data/lib/middleman/vendor/hooks-0.2.0/lib/hooks.rb +109 -0
- data/lib/middleman/vendor/hooks-0.2.0/lib/hooks/inheritable_attribute.rb +33 -0
- data/lib/middleman/vendor/hooks-0.2.0/test/hooks_test.rb +141 -0
- data/lib/middleman/vendor/hooks-0.2.0/test/inheritable_attribute_test.rb +55 -0
- data/lib/middleman/vendor/hooks-0.2.0/test/test_helper.rb +10 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/.document +5 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/.gitignore +22 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/.yardopts +1 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/LICENSE.txt +20 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/README.rdoc +294 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/Rakefile +5 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/bin/padrino +9 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core.rb +167 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/application.rb +270 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/application/rendering.rb +292 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/application/routing.rb +934 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/application/showexceptions.rb +20 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/caller.rb +53 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/adapter.rb +24 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/base.rb +151 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/console.rb +20 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake.rb +24 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb +59 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/command.rb +38 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/images/404.png +0 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/images/500.png +0 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/loader.rb +210 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/cs.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/da.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/de.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/en.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/es.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/fr.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/hu.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/it.yml +40 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/ja.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/lv.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/nl.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/no.yml +35 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/pl.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/pt_br.yml +40 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/ru.yml +35 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/tr.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/uk.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/zh_cn.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/locale/zh_tw.yml +34 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/logger.rb +345 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/mounter.rb +224 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/reloader.rb +254 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/router.rb +98 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/server.rb +79 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/support_lite.rb +199 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/tasks.rb +21 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/version.rb +20 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/padrino-core.gemspec +38 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/apps/.components +6 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/apps/.gitignore +7 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/apps/complex.rb +32 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/apps/simple.rb +33 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/dependencies/a.rb +9 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/dependencies/b.rb +4 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/dependencies/c.rb +1 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/dependencies/circular/e.rb +13 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/dependencies/circular/f.rb +2 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/dependencies/circular/g.rb +2 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/fixtures/dependencies/d.rb +4 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/helper.rb +81 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/mini_shoulda.rb +45 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_application.rb +108 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_core.rb +79 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_dependencies.rb +44 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_filters.rb +278 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_locale.rb +21 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_logger.rb +100 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_mounter.rb +177 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_reloader_complex.rb +75 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_reloader_simple.rb +98 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_rendering.rb +461 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_restful_routing.rb +33 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_router.rb +146 -0
- data/lib/middleman/vendor/padrino-core-0.10.5/test/test_routing.rb +1673 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/.document +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/.gitignore +21 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/.yardopts +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/LICENSE.txt +20 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/README.rdoc +239 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/Rakefile +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers.rb +58 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/asset_tag_helpers.rb +420 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/form_builder/abstract_form_builder.rb +220 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/form_builder/standard_form_builder.rb +43 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/form_helpers.rb +602 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/format_helpers.rb +381 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/cs.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/da.yml +91 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/de.yml +81 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/en.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/es.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/fr.yml +80 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/hu.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/it.yml +89 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/ja.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/lv.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/nl.yml +82 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/no.yml +91 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/pl.yml +95 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/pt_br.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/ru.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/tr.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/uk.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/zh_cn.yml +104 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/locale/zh_tw.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/number_helpers.rb +288 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/output_helpers.rb +175 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/output_helpers/abstract_handler.rb +98 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/output_helpers/erb_handler.rb +79 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/output_helpers/haml_handler.rb +63 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/output_helpers/slim_handler.rb +81 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/render_helpers.rb +60 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/tag_helpers.rb +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/translation_helpers.rb +38 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/padrino-helpers.gemspec +27 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/app.rb +73 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/capture_concat.erb +14 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/capture_concat.haml +12 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/capture_concat.slim +13 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/content_for.erb +14 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/content_for.haml +12 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/content_for.slim +12 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/content_tag.erb +11 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/content_tag.haml +9 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/content_tag.slim +9 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/current_engine.erb +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/current_engine.haml +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/current_engine.slim +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/fields_for.erb +20 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/fields_for.haml +15 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/fields_for.slim +15 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/form_for.erb +56 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/form_for.haml +47 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/form_for.slim +47 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/form_tag.erb +56 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/form_tag.haml +45 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/form_tag.slim +45 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/link_to.erb +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/link_to.haml +4 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/link_to.slim +4 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/mail_to.erb +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/mail_to.haml +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/mail_to.slim +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/meta_tag.erb +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/meta_tag.haml +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/meta_tag.slim +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/partials/_erb.erb +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/partials/_haml.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/partials/_slim.slim +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/simple_partial.erb +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/simple_partial.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/markup_app/views/simple_partial.slim +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/app.rb +50 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/current_engine.haml +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/current_engines/_erb.erb +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/current_engines/_haml.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/current_engines/_slim.slim +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/erb/test.erb +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/explicit_engine.haml +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/haml/test.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/template/_user.haml +7 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/template/haml_template.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/fixtures/render_app/views/template/some_template.haml +2 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/helper.rb +66 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_asset_tag_helpers.rb +320 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_form_builder.rb +996 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_form_helpers.rb +645 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_format_helpers.rb +227 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_locale.rb +20 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_number_helpers.rb +136 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_output_helpers.rb +153 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_render_helpers.rb +76 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.5/test/test_tag_helpers.rb +105 -0
- data/lib/middleman/version.rb +1 -1
- data/middleman-x86-mingw32.gemspec +16 -33
- data/middleman.gemspec +16 -31
- metadata +590 -349
- data/features/sinatra.feature +0 -6
- data/lib/middleman/core_extensions/rack_map.rb +0 -35
- data/lib/middleman/renderers/coffee_script.rb +0 -8
- data/lib/middleman/renderers/haml.rb +0 -31
- data/lib/middleman/renderers/slim.rb +0 -8
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
require "tilt"
|
|
2
|
-
|
|
3
1
|
module Middleman::Renderers::Markdown
|
|
4
2
|
class << self
|
|
5
3
|
def registered(app)
|
|
6
|
-
app.
|
|
7
|
-
|
|
8
|
-
app.set :markdown_engine, :maruku
|
|
4
|
+
app.send :include, InstanceMethods
|
|
9
5
|
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
begin
|
|
7
|
+
require "maruku"
|
|
8
|
+
app.set :markdown_engine, :maruku
|
|
9
|
+
rescue LoadError
|
|
10
|
+
app.set :markdown_engine, nil
|
|
12
11
|
end
|
|
12
|
+
|
|
13
|
+
app.set :markdown_engine_prefix, ::Tilt
|
|
13
14
|
|
|
14
15
|
app.after_configuration do
|
|
15
|
-
|
|
16
|
+
unless markdown_engine.nil?
|
|
17
|
+
if markdown_engine.is_a? Symbol
|
|
18
|
+
markdown_engine = markdown_tilt_template_from_symbol(markdown_engine)
|
|
19
|
+
end
|
|
16
20
|
|
|
17
|
-
|
|
18
|
-
engine = app.tilt_template_from_symbol(engine)
|
|
21
|
+
::Tilt.prefer(markdown_engine)
|
|
19
22
|
end
|
|
20
|
-
|
|
21
|
-
::Tilt.prefer(engine)
|
|
22
23
|
end
|
|
23
24
|
end
|
|
24
25
|
alias :included :registered
|
|
25
26
|
end
|
|
26
27
|
|
|
27
|
-
module
|
|
28
|
-
def
|
|
28
|
+
module InstanceMethods
|
|
29
|
+
def markdown_tilt_template_from_symbol(engine)
|
|
29
30
|
engine = engine.to_s
|
|
30
31
|
engine = engine == "rdiscount" ? "RDiscount" : engine.camelize
|
|
31
|
-
|
|
32
|
+
markdown_engine_prefix.const_get("#{engine}Template")
|
|
32
33
|
end
|
|
33
34
|
end
|
|
34
35
|
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
require "sprockets"
|
|
2
|
+
require "sprockets-sass"
|
|
1
3
|
require "sass"
|
|
2
|
-
require "sass/plugin"
|
|
3
4
|
|
|
4
5
|
module Middleman::Renderers::Sass
|
|
5
6
|
class << self
|
|
@@ -9,55 +10,50 @@ module Middleman::Renderers::Sass
|
|
|
9
10
|
end
|
|
10
11
|
alias :included :registered
|
|
11
12
|
end
|
|
12
|
-
|
|
13
|
-
class SassPlusCSSFilenameTemplate < ::Tilt::SassTemplate
|
|
14
|
-
def sass_options_with_scope(scope)
|
|
15
|
-
return sass_options if basename.nil?
|
|
16
|
-
|
|
17
|
-
location_of_sass_file = if scope.build?
|
|
18
|
-
File.join(scope.root, scope.build_dir)
|
|
19
|
-
else
|
|
20
|
-
scope.views
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
parts = basename.split('.')
|
|
24
|
-
parts.pop
|
|
25
|
-
css_filename = File.join(location_of_sass_file, scope.css_dir, parts.join("."))
|
|
26
|
-
sass_options.merge(scope.settings.sass).merge(:css_filename => css_filename)
|
|
27
|
-
end
|
|
28
13
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
class SassPlusCSSFilenameTemplate < ::Sprockets::Sass::SassTemplate
|
|
15
|
+
self.default_mime_type = "text/css"
|
|
16
|
+
|
|
17
|
+
# Add exception messaging
|
|
18
|
+
def evaluate(context, locals, &block)
|
|
32
19
|
begin
|
|
33
20
|
super
|
|
34
21
|
rescue Sass::SyntaxError => e
|
|
35
22
|
Sass::SyntaxError.exception_to_css(e, :full_exception => true)
|
|
36
23
|
end
|
|
37
24
|
end
|
|
25
|
+
|
|
26
|
+
protected
|
|
27
|
+
def sass_options
|
|
28
|
+
location_of_sass_file = if @context.build?
|
|
29
|
+
File.expand_path(@context.build_dir, @context.root)
|
|
30
|
+
else
|
|
31
|
+
File.expand_path(@context.views, @context.root)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
parts = basename.split('.')
|
|
35
|
+
parts.pop
|
|
36
|
+
css_filename = File.join(location_of_sass_file, @context.css_dir, parts.join("."))
|
|
37
|
+
|
|
38
|
+
super.merge(
|
|
39
|
+
:css_filename => css_filename
|
|
40
|
+
)
|
|
41
|
+
end
|
|
38
42
|
end
|
|
43
|
+
::Sprockets.register_engine ".sass", SassPlusCSSFilenameTemplate
|
|
39
44
|
::Tilt.register 'sass', SassPlusCSSFilenameTemplate
|
|
40
45
|
::Tilt.prefer(SassPlusCSSFilenameTemplate)
|
|
41
|
-
|
|
46
|
+
|
|
42
47
|
class ScssPlusCSSFilenameTemplate < SassPlusCSSFilenameTemplate
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
self.default_mime_type = "text/css"
|
|
49
|
+
|
|
50
|
+
# Define the expected syntax for the template
|
|
51
|
+
def syntax
|
|
52
|
+
:scss
|
|
45
53
|
end
|
|
46
54
|
end
|
|
55
|
+
|
|
56
|
+
::Sprockets.register_engine ".scss", ScssPlusCSSFilenameTemplate
|
|
47
57
|
::Tilt.register 'scss', ScssPlusCSSFilenameTemplate
|
|
48
58
|
::Tilt.prefer(ScssPlusCSSFilenameTemplate)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
# Use sass settings in Haml filters
|
|
52
|
-
# Other, tilt-based filters (like those used in Slim) will
|
|
53
|
-
# work automatically.
|
|
54
|
-
# module Middleman::Renderers::Haml
|
|
55
|
-
# module Sass
|
|
56
|
-
# include ::Haml::Filters::Base
|
|
57
|
-
#
|
|
58
|
-
# def render(text)
|
|
59
|
-
# sass_options = scope.settings.sass
|
|
60
|
-
# ::Sass::Engine.new(text, sass_options).render
|
|
61
|
-
# end
|
|
62
|
-
# end
|
|
63
|
-
# end
|
|
59
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
h2. 0.2.0
|
|
2
|
+
|
|
3
|
+
h3. Changes
|
|
4
|
+
* Callback blocks are now executed on the instance using @instance_exec@. If you need to access the class (former context) use @self.class@.
|
|
5
|
+
|
|
6
|
+
h2. 0.1.4
|
|
7
|
+
|
|
8
|
+
h3. Bugfixes
|
|
9
|
+
* An uninitialized @inheritable_attr@ doesn't crash since it is not cloned anymore. Note that an uncloneable attribute value still causes an exception.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
= Hooks
|
|
2
|
+
|
|
3
|
+
<em>Generic hooks with callbacks for Ruby.</em>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
== Introduction
|
|
7
|
+
|
|
8
|
+
_Hooks_ lets you define hooks declaratively in your ruby class. You can add callbacks to your hook, which will be run as soon as _you_ run the hook!
|
|
9
|
+
|
|
10
|
+
It's almost like ActiveSupport::Callbacks but 76,6% less complex. Instead, it is not more than 60 lines of code, one method compilation, no +method_missing+ and no magic.
|
|
11
|
+
|
|
12
|
+
Also, you may pass additional arguments to your callbacks when invoking a hook.
|
|
13
|
+
|
|
14
|
+
== Example
|
|
15
|
+
|
|
16
|
+
Let's take... a cat.
|
|
17
|
+
|
|
18
|
+
require 'hooks'
|
|
19
|
+
|
|
20
|
+
class Cat
|
|
21
|
+
include Hooks
|
|
22
|
+
|
|
23
|
+
define_hook :after_dinner
|
|
24
|
+
|
|
25
|
+
Now you can add callbacks to your hook declaratively in your class.
|
|
26
|
+
|
|
27
|
+
after_dinner do
|
|
28
|
+
puts "Ice cream for #{self}!"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
after_dinner :have_a_desert # => refers to Cat#have_a_desert
|
|
32
|
+
|
|
33
|
+
def have_a_desert
|
|
34
|
+
puts "Hell, yeah!"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
This will run the block and <tt>#have_a_desert</tt> from above.
|
|
38
|
+
|
|
39
|
+
cat.run_hook :after_dinner
|
|
40
|
+
# => Ice cream for #<Cat:0x8df9d84>!
|
|
41
|
+
Hell, yeah!
|
|
42
|
+
|
|
43
|
+
Callback blocks and methods will be executed with instance context. Note how +self+ in the block refers to the Cat instance.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
== Inheritance
|
|
47
|
+
|
|
48
|
+
Hooks are inherited, here's a complete example to put it all together.
|
|
49
|
+
|
|
50
|
+
class Garfield < Cat
|
|
51
|
+
|
|
52
|
+
after_dinner :want_some_more
|
|
53
|
+
|
|
54
|
+
def want_some_more
|
|
55
|
+
puts "Is that all?"
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
Garfield.new.run_hook :after_dinner
|
|
61
|
+
# => Ice cream for #<Cat:0x8df9d84>!
|
|
62
|
+
Hell, yeah!
|
|
63
|
+
Is that all?
|
|
64
|
+
|
|
65
|
+
Note how the callbacks are invoked in the order they were inherited.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
== Options for Callbacks
|
|
69
|
+
|
|
70
|
+
You're free to pass any number of arguments to #run_callback, those will be passed to the callbacks.
|
|
71
|
+
|
|
72
|
+
cat.run_hook :before_dinner, cat, Time.now
|
|
73
|
+
|
|
74
|
+
The callbacks should be ready for receiving parameters.
|
|
75
|
+
|
|
76
|
+
before_dinner :wash_pawns
|
|
77
|
+
before_dinner do |who, when|
|
|
78
|
+
...
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def wash_pawns(who, when)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
Not sure why a cat should have ice cream for dinner. Beside that, I was tempted naming this gem _hooker_.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
== Installation
|
|
88
|
+
|
|
89
|
+
gem install hooks
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
== Anybody using it?
|
|
93
|
+
|
|
94
|
+
* Hooks is already used in [Apotomo:http://github.com/apotonick/apotomo], a hot widget framework for Rails. Look at +lib/apotomo/widget.rb+ for examples and into +lib/apotomo/tree_node.rb+ to learn how modules-driven code might benefit from hooks.
|
|
95
|
+
|
|
96
|
+
== Similar libraries
|
|
97
|
+
|
|
98
|
+
* http://github.com/nakajima/aspectory
|
|
99
|
+
* http://github.com/auser/backcall
|
|
100
|
+
* http://github.com/mmcgrana/simple_callbacks
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
== License
|
|
104
|
+
|
|
105
|
+
Copyright (c) 2010, Nick Sutterer
|
|
106
|
+
|
|
107
|
+
Released under the MIT License.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require 'rake/testtask'
|
|
3
|
+
|
|
4
|
+
desc 'Default: run unit tests.'
|
|
5
|
+
task :default => :test
|
|
6
|
+
|
|
7
|
+
desc 'Test the hooks plugin.'
|
|
8
|
+
Rake::TestTask.new(:test) do |test|
|
|
9
|
+
test.libs << 'test'
|
|
10
|
+
test.test_files = FileList['test/*_test.rb']
|
|
11
|
+
test.verbose = true
|
|
12
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
lib = File.expand_path('../lib/', __FILE__)
|
|
2
|
+
$:.unshift lib unless $:.include?(lib)
|
|
3
|
+
|
|
4
|
+
require 'hooks'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |s|
|
|
7
|
+
s.name = "hooks"
|
|
8
|
+
s.version = Hooks::VERSION
|
|
9
|
+
s.platform = Gem::Platform::RUBY
|
|
10
|
+
s.authors = ["Nick Sutterer"]
|
|
11
|
+
s.email = ["apotonick@gmail.com"]
|
|
12
|
+
s.homepage = "http://nicksda.apotomo.de/tag/hooks"
|
|
13
|
+
s.summary = %q{Generic hooks with callbacks for Ruby.}
|
|
14
|
+
s.description = %q{Declaratively define hooks, add callbacks and run them with the options you like.}
|
|
15
|
+
|
|
16
|
+
s.files = `git ls-files`.split("\n")
|
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
18
|
+
s.require_paths = ["lib"]
|
|
19
|
+
|
|
20
|
+
s.add_development_dependency "shoulda"
|
|
21
|
+
s.add_development_dependency "rake"
|
|
22
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
require File.join(File.dirname(__FILE__), "hooks/inheritable_attribute")
|
|
2
|
+
|
|
3
|
+
# Almost like ActiveSupport::Callbacks but 76,6% less complex.
|
|
4
|
+
#
|
|
5
|
+
# Example:
|
|
6
|
+
#
|
|
7
|
+
# class CatWidget < Apotomo::Widget
|
|
8
|
+
# define_hook :after_dinner
|
|
9
|
+
#
|
|
10
|
+
# Now you can add callbacks to your hook declaratively in your class.
|
|
11
|
+
#
|
|
12
|
+
# after_dinner do puts "Ice cream!" end
|
|
13
|
+
# after_dinner :have_a_desert # => refers to CatWidget#have_a_desert
|
|
14
|
+
#
|
|
15
|
+
# Running the callbacks happens on instances. It will run the block and #have_a_desert from above.
|
|
16
|
+
#
|
|
17
|
+
# cat.run_hook :after_dinner
|
|
18
|
+
module Hooks
|
|
19
|
+
VERSION = "0.2.0"
|
|
20
|
+
|
|
21
|
+
def self.included(base)
|
|
22
|
+
base.extend InheritableAttribute
|
|
23
|
+
base.extend ClassMethods
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
module ClassMethods
|
|
27
|
+
def define_hook(name)
|
|
28
|
+
accessor_name = "_#{name}_callbacks"
|
|
29
|
+
|
|
30
|
+
setup_hook_accessors(accessor_name)
|
|
31
|
+
define_hook_writer(name, accessor_name)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Like Hooks#run_hook but for the class. Note that +:callbacks+ must be class methods.
|
|
35
|
+
#
|
|
36
|
+
# Example:
|
|
37
|
+
#
|
|
38
|
+
# class Cat
|
|
39
|
+
# after_eight :grab_a_beer
|
|
40
|
+
#
|
|
41
|
+
# def self.grab_a_beer(*) # and so on...
|
|
42
|
+
#
|
|
43
|
+
# where <tt>Cat.run_hook :after_eight</tt> will call the class method +grab_a_beer+.
|
|
44
|
+
def run_hook(name, *args)
|
|
45
|
+
run_hook_for(name, self, *args)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def run_hook_for(name, scope, *args)
|
|
49
|
+
callbacks_for_hook(name).each do |callback|
|
|
50
|
+
if callback.kind_of? Symbol
|
|
51
|
+
scope.send(callback, *args)
|
|
52
|
+
else
|
|
53
|
+
scope.instance_exec(*args, &callback)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Returns the callbacks for +name+. Handy if you want to run the callbacks yourself, say when
|
|
59
|
+
# they should be executed in another context.
|
|
60
|
+
#
|
|
61
|
+
# Example:
|
|
62
|
+
#
|
|
63
|
+
# def initialize
|
|
64
|
+
# self.class.callbacks_for_hook(:after_eight).each do |callback|
|
|
65
|
+
# instance_exec(self, &callback)
|
|
66
|
+
# end
|
|
67
|
+
#
|
|
68
|
+
# would run callbacks in the object _instance_ context, passing +self+ as block parameter.
|
|
69
|
+
def callbacks_for_hook(name)
|
|
70
|
+
send("_#{name}_callbacks")
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
private
|
|
74
|
+
|
|
75
|
+
def define_hook_writer(hook, accessor_name)
|
|
76
|
+
self.send(:define_method, hook.to_sym) do |&block|
|
|
77
|
+
if self.class.respond_to?(hook)
|
|
78
|
+
self.class.send(hook.to_sym, &block)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
instance_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
|
|
83
|
+
def #{hook}(method=nil, &block)
|
|
84
|
+
#{accessor_name} << (block || method)
|
|
85
|
+
end
|
|
86
|
+
RUBY_EVAL
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def setup_hook_accessors(accessor_name)
|
|
90
|
+
inheritable_attr(accessor_name)
|
|
91
|
+
send("#{accessor_name}=", []) # initialize ivar.
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Runs the callbacks (method/block) for the specified hook +name+. Additional arguments will
|
|
96
|
+
# be passed to the callback.
|
|
97
|
+
#
|
|
98
|
+
# Example:
|
|
99
|
+
#
|
|
100
|
+
# cat.run_hook :after_dinner, "i want ice cream!"
|
|
101
|
+
#
|
|
102
|
+
# will invoke the callbacks like
|
|
103
|
+
#
|
|
104
|
+
# desert("i want ice cream!")
|
|
105
|
+
# block.call("i want ice cream!")
|
|
106
|
+
def run_hook(name, *args)
|
|
107
|
+
self.class.run_hook_for(name, self, *args)
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Hooks
|
|
2
|
+
module InheritableAttribute
|
|
3
|
+
# Creates an inheritable attribute with accessors in the singleton class. Derived classes inherit the
|
|
4
|
+
# attributes. This is especially helpful with arrays or hashes that are extended in the inheritance
|
|
5
|
+
# chain. Note that you have to initialize the inheritable attribute.
|
|
6
|
+
#
|
|
7
|
+
# Example:
|
|
8
|
+
#
|
|
9
|
+
# class Cat
|
|
10
|
+
# inheritable_attr :drinks
|
|
11
|
+
# self.drinks = ["Becks"]
|
|
12
|
+
#
|
|
13
|
+
# class Garfield < Cat
|
|
14
|
+
# self.drinks << "Fireman's 4"
|
|
15
|
+
#
|
|
16
|
+
# and then, later
|
|
17
|
+
#
|
|
18
|
+
# Cat.drinks #=> ["Becks"]
|
|
19
|
+
# Garfield.drinks #=> ["Becks", "Fireman's 4"]
|
|
20
|
+
def inheritable_attr(name)
|
|
21
|
+
instance_eval %Q{
|
|
22
|
+
def #{name}=(v)
|
|
23
|
+
@#{name} = v
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def #{name}
|
|
27
|
+
return @#{name} unless superclass.respond_to?(:#{name}) and value = superclass.#{name}
|
|
28
|
+
@#{name} ||= value.clone # only do this once.
|
|
29
|
+
end
|
|
30
|
+
}
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|