middleman-core-cj 3.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gemtest +0 -0
- data/.simplecov +7 -0
- data/.yardopts +10 -0
- data/Rakefile +7 -0
- data/bin/middleman +18 -0
- data/features/3rd_party_cli.feature +15 -0
- data/features/asciidoc.feature +155 -0
- data/features/asset_hash.feature +149 -0
- data/features/asset_host.feature +56 -0
- data/features/auto_layout.feature +36 -0
- data/features/automatic_alt_tags.feature +8 -0
- data/features/automatic_directory_matcher.feature +32 -0
- data/features/automatic_image_sizes.feature +16 -0
- data/features/builder.feature +51 -0
- data/features/cache_buster.feature +42 -0
- data/features/capture_html.feature +18 -0
- data/features/chained_templates.feature +19 -0
- data/features/clean_build.feature +44 -0
- data/features/cli_extension.feature +14 -0
- data/features/cli_init.feature +100 -0
- data/features/coffee-script.feature +22 -0
- data/features/compass-sprites.feature +6 -0
- data/features/content_for.feature +16 -0
- data/features/content_type.feature +43 -0
- data/features/current_page_request_path_backwards.feature +6 -0
- data/features/custom-source.feature +7 -0
- data/features/custom_layout_engines.feature +8 -0
- data/features/custom_layouts.feature +64 -0
- data/features/data.feature +53 -0
- data/features/directory_index.feature +82 -0
- data/features/dynamic_pages.feature +133 -0
- data/features/extensionless_text_files.feature +24 -0
- data/features/feature_params.feature +6 -0
- data/features/fonts.feature +15 -0
- data/features/former_padrino_helpers.feature +27 -0
- data/features/front-matter-neighbor.feature +151 -0
- data/features/front-matter.feature +93 -0
- data/features/frontmatter_page_settings.feature +43 -0
- data/features/gzip.feature +51 -0
- data/features/helpers_auto_javascript_include_tag.feature +53 -0
- data/features/helpers_auto_stylesheet_link_tag.feature +48 -0
- data/features/helpers_content_tag.feature +16 -0
- data/features/helpers_external.feature +12 -0
- data/features/helpers_form_tag.feature +26 -0
- data/features/helpers_link_to.feature +167 -0
- data/features/helpers_lorem.feature +6 -0
- data/features/helpers_page_classes.feature +32 -0
- data/features/helpers_select_tag.feature +17 -0
- data/features/helpers_url_for.feature +152 -0
- data/features/i18n_builder.feature +164 -0
- data/features/i18n_force_locale.feature +13 -0
- data/features/i18n_partials.feature +23 -0
- data/features/i18n_preview.feature +252 -0
- data/features/ignore.feature +121 -0
- data/features/ignore_already_minified.feature +47 -0
- data/features/implied_extensions.feature +69 -0
- data/features/instance_vars.feature +9 -0
- data/features/layouts_dir.feature +38 -0
- data/features/liquid.feature +11 -0
- data/features/markdown.feature +23 -0
- data/features/markdown_kramdown.feature +38 -0
- data/features/markdown_kramdown_in_haml.feature +41 -0
- data/features/markdown_redcarpet.feature +168 -0
- data/features/markdown_redcarpet_in_haml.feature +42 -0
- data/features/minify_css.feature +127 -0
- data/features/minify_javascript.feature +225 -0
- data/features/missing-tilt-lib.feature +20 -0
- data/features/more-clean_build.feature +14 -0
- data/features/more-extensionless_text_files.feature +28 -0
- data/features/more-frontmatter_page_settings.feature +42 -0
- data/features/more-ignore.feature +62 -0
- data/features/more-implied_extensions.feature +44 -0
- data/features/more-instance_vars.feature +18 -0
- data/features/more-sitemap_traversal.feature +83 -0
- data/features/more-wildcard_page_helper.feature +10 -0
- data/features/mount_rack.feature +67 -0
- data/features/nested_layouts.feature +55 -0
- data/features/partials.feature +57 -0
- data/features/partials_dir.feature +30 -0
- data/features/preview_changes.feature +29 -0
- data/features/proxy_pages.feature +94 -0
- data/features/queryable.feature +35 -0
- data/features/redirects.feature +60 -0
- data/features/relative_assets.feature +147 -0
- data/features/request_params.feature +6 -0
- data/features/sass-assets-paths.feature +11 -0
- data/features/sass_partials.feature +54 -0
- data/features/scss-support.feature +12 -0
- data/features/sitemap_traversal.feature +83 -0
- data/features/slim.feature +77 -0
- data/features/static_server.feature +6 -0
- data/features/step_definitions/page_layout_steps.rb +15 -0
- data/features/step_definitions/queryable_steps.rb +135 -0
- data/features/strip_url.feature +40 -0
- data/features/stylus.feature +55 -0
- data/features/support/env.rb +12 -0
- data/features/tilde_directories.feature +14 -0
- data/features/twitter-bootstrap-compile.feature +6 -0
- data/features/unicode_filecontents.feature +13 -0
- data/features/unicode_filenames.feature +36 -0
- data/features/v3_extensions.feature +20 -0
- data/features/v4_extension_callbacks.feature +8 -0
- data/features/wildcard_page_helper.feature +10 -0
- data/fixtures/asciidoc-app/config.rb +0 -0
- data/fixtures/asciidoc-app/source/_include.adoc +1 -0
- data/fixtures/asciidoc-app/source/code.adoc +3 -0
- data/fixtures/asciidoc-app/source/custom-attribute.adoc +3 -0
- data/fixtures/asciidoc-app/source/gallery.adoc +1 -0
- data/fixtures/asciidoc-app/source/hello-no-layout.adoc +2 -0
- data/fixtures/asciidoc-app/source/hello-with-front-matter.adoc +5 -0
- data/fixtures/asciidoc-app/source/hello-with-layout.adoc +2 -0
- data/fixtures/asciidoc-app/source/hello-with-title.adoc +4 -0
- data/fixtures/asciidoc-app/source/hello.adoc +4 -0
- data/fixtures/asciidoc-app/source/images/tiger.gif +0 -0
- data/fixtures/asciidoc-app/source/layouts/default.erb +9 -0
- data/fixtures/asciidoc-app/source/master.adoc +3 -0
- data/fixtures/asset-hash-app/config.rb +8 -0
- data/fixtures/asset-hash-app/lib/middleware.rb +16 -0
- data/fixtures/asset-hash-app/source/apple-touch-icon.png +0 -0
- data/fixtures/asset-hash-app/source/favicon.ico +0 -0
- data/fixtures/asset-hash-app/source/images/100px.gif +0 -0
- data/fixtures/asset-hash-app/source/images/100px.jpg +0 -0
- data/fixtures/asset-hash-app/source/images/100px.png +0 -0
- data/fixtures/asset-hash-app/source/index.html.erb +311 -0
- data/fixtures/asset-hash-app/source/javascripts/application.js +8 -0
- data/fixtures/asset-hash-app/source/layout.erb +18 -0
- data/fixtures/asset-hash-app/source/other.html.erb +2 -0
- data/fixtures/asset-hash-app/source/partials.html.erb +1 -0
- data/fixtures/asset-hash-app/source/stylesheets/_partial.sass +2 -0
- data/fixtures/asset-hash-app/source/stylesheets/site.css.scss +4 -0
- data/fixtures/asset-hash-app/source/stylesheets/uses_partials.css.sass +4 -0
- data/fixtures/asset-hash-app/source/subdir/index.html.erb +308 -0
- data/fixtures/asset-hash-host-app/config.rb +6 -0
- data/fixtures/asset-hash-host-app/source/images/100px.gif +0 -0
- data/fixtures/asset-hash-host-app/source/images/100px.jpg +0 -0
- data/fixtures/asset-hash-host-app/source/images/100px.png +0 -0
- data/fixtures/asset-hash-host-app/source/index.html.erb +6 -0
- data/fixtures/asset-hash-host-app/source/layout.erb +17 -0
- data/fixtures/asset-hash-host-app/source/other.html.erb +2 -0
- data/fixtures/asset-hash-host-app/source/stylesheets/fragment.css.scss +4 -0
- data/fixtures/asset-hash-host-app/source/stylesheets/site.css.scss +4 -0
- data/fixtures/asset-hash-host-app/source/subdir/index.html.erb +6 -0
- data/fixtures/asset-host-app/config.rb +0 -0
- data/fixtures/asset-host-app/source/.htaccess +1 -0
- data/fixtures/asset-host-app/source/asset_host.html.erb +1 -0
- data/fixtures/asset-host-app/source/images/blank.gif +0 -0
- data/fixtures/asset-host-app/source/stylesheets/asset_host.css.sass +3 -0
- data/fixtures/auto-css-app/config.rb +11 -0
- data/fixtures/auto-css-app/source/auto-css.html.erb +1 -0
- data/fixtures/auto-css-app/source/auto-css/auto-css.html.erb +1 -0
- data/fixtures/auto-css-app/source/auto-css/index.html.erb +1 -0
- data/fixtures/auto-css-app/source/auto-css/sub/auto-css.html.erb +1 -0
- data/fixtures/auto-css-app/source/stylesheets/auto-css.css +3 -0
- data/fixtures/auto-css-app/source/stylesheets/auto-css/auto-css.css +3 -0
- data/fixtures/auto-css-app/source/stylesheets/auto-css/index.css +0 -0
- data/fixtures/auto-css-app/source/stylesheets/auto-css/sub/auto-css.css +3 -0
- data/fixtures/auto-js-app/config.rb +11 -0
- data/fixtures/auto-js-app/source/auto-js.html.erb +1 -0
- data/fixtures/auto-js-app/source/auto-js/auto-js.html.erb +1 -0
- data/fixtures/auto-js-app/source/auto-js/index.html.erb +1 -0
- data/fixtures/auto-js-app/source/auto-js/sub/auto-js.html.erb +1 -0
- data/fixtures/auto-js-app/source/javascripts/auto-js.js +1 -0
- data/fixtures/auto-js-app/source/javascripts/auto-js/auto-js.js +1 -0
- data/fixtures/auto-js-app/source/javascripts/auto-js/index.js +1 -0
- data/fixtures/auto-js-app/source/javascripts/auto-js/sub/auto-js.js +1 -0
- data/fixtures/auto-js-directory-index-app/config.rb +1 -0
- data/fixtures/auto-js-directory-index-app/source/auto-js.html.erb +1 -0
- data/fixtures/auto-js-directory-index-app/source/javascripts/auto-js.js +1 -0
- data/fixtures/automatic-alt-tags-app/config.rb +0 -0
- data/fixtures/automatic-alt-tags-app/source/auto-image-sizes.html.erb +1 -0
- data/fixtures/automatic-alt-tags-app/source/images/blank.gif +0 -0
- data/fixtures/automatic-directory-matcher-app/config.rb +1 -0
- data/fixtures/automatic-directory-matcher-app/source/root-plain.html +1 -0
- data/fixtures/automatic-directory-matcher-app/source/root.html.erb +1 -0
- data/fixtures/automatic-directory-matcher-app/source/sub--sub--sub-plain.html +1 -0
- data/fixtures/automatic-directory-matcher-app/source/sub--sub--sub.html.erb +1 -0
- data/fixtures/automatic-directory-matcher-app/source/sub--sub-plain.html +1 -0
- data/fixtures/automatic-directory-matcher-app/source/sub--sub.html.erb +1 -0
- data/fixtures/automatic-image-size-app/config.rb +0 -0
- data/fixtures/automatic-image-size-app/source/auto-image-sizes.html.erb +1 -0
- data/fixtures/automatic-image-size-app/source/images/blank.gif +0 -0
- data/fixtures/basic-data-app/config.rb +4 -0
- data/fixtures/basic-data-app/data/test.yml +4 -0
- data/fixtures/basic-data-app/data/test2.json +4 -0
- data/fixtures/basic-data-app/source/data.html.erb +5 -0
- data/fixtures/basic-data-app/source/data3.html.erb +5 -0
- data/fixtures/build-with-errors-app/config.rb +1 -0
- data/fixtures/build-with-errors-app/source/index.html.erb +1 -0
- data/fixtures/cache-buster-app/config.rb +0 -0
- data/fixtures/cache-buster-app/source/cache-buster.html.erb +3 -0
- data/fixtures/cache-buster-app/source/images/blank.gif +0 -0
- data/fixtures/cache-buster-app/source/stylesheets/relative_assets.css.sass +3 -0
- data/fixtures/cache-buster-app/source/stylesheets/site.css.sass +1 -0
- data/fixtures/capture-html-app/config.rb +7 -0
- data/fixtures/capture-html-app/source/capture_html_erb.html.erb +5 -0
- data/fixtures/capture-html-app/source/capture_html_haml.html.haml +4 -0
- data/fixtures/capture-html-app/source/capture_html_slim.html.slim +4 -0
- data/fixtures/capture-html-app/source/layouts/capture_html.erb +4 -0
- data/fixtures/chained-app/config.rb +0 -0
- data/fixtures/chained-app/data/article.yml +2 -0
- data/fixtures/chained-app/source/index.html.str.erb +8 -0
- data/fixtures/clean-app/config-complications.rb +11 -0
- data/fixtures/clean-app/config-empty.rb +0 -0
- data/fixtures/clean-app/config.rb +11 -0
- data/fixtures/clean-app/source/index.html.erb +1 -0
- data/fixtures/clean-app/source/layout.erb +9 -0
- data/fixtures/clean-app/source/layouts/custom.erb +8 -0
- data/fixtures/clean-app/source/real.html +1 -0
- data/fixtures/clean-app/source/real/index.html.erb +5 -0
- data/fixtures/clean-app/source/should_be_ignored.html +1 -0
- data/fixtures/clean-app/source/should_be_ignored2.html +1 -0
- data/fixtures/clean-app/source/should_be_ignored3.html +1 -0
- data/fixtures/clean-app/source/static.html +1 -0
- data/fixtures/clean-dir-app/config.rb +2 -0
- data/fixtures/clean-dir-app/source/about.html +1 -0
- data/fixtures/clean-nested-app/config.rb +1 -0
- data/fixtures/clean-nested-app/source/about.html +1 -0
- data/fixtures/clean-nested-app/source/nested/nested.html +1 -0
- data/fixtures/coffeescript-app/config.rb +0 -0
- data/fixtures/coffeescript-app/source/inline-coffeescript.html.haml +3 -0
- data/fixtures/coffeescript-app/source/javascripts/broken-coffee.js.coffee +3 -0
- data/fixtures/coffeescript-app/source/javascripts/coffee_test.js.coffee +3 -0
- data/fixtures/compass-sprites-app/config.rb +0 -0
- data/fixtures/compass-sprites-app/source/images/icon/arrow_down.png +0 -0
- data/fixtures/compass-sprites-app/source/images/icon/arrow_left.png +0 -0
- data/fixtures/compass-sprites-app/source/images/icon/arrow_right.png +0 -0
- data/fixtures/compass-sprites-app/source/images/icon/arrow_up.png +0 -0
- data/fixtures/compass-sprites-app/source/stylesheets/site.css.scss +3 -0
- data/fixtures/content-for-app/config.rb +7 -0
- data/fixtures/content-for-app/source/content_for_erb.html.erb +5 -0
- data/fixtures/content-for-app/source/content_for_haml.html.haml +4 -0
- data/fixtures/content-for-app/source/content_for_slim.html.slim +5 -0
- data/fixtures/content-for-app/source/layouts/content_for.erb +4 -0
- data/fixtures/content-type-app/config.rb +1 -0
- data/fixtures/content-type-app/source/.htaccess +1 -0
- data/fixtures/content-type-app/source/README +1 -0
- data/fixtures/content-type-app/source/images/blank.gif +0 -0
- data/fixtures/content-type-app/source/index.html +1 -0
- data/fixtures/content-type-app/source/javascripts/app.js +1 -0
- data/fixtures/content-type-app/source/override.html +5 -0
- data/fixtures/content-type-app/source/stylesheets/site.css +1 -0
- data/fixtures/csspie/config.rb +0 -0
- data/fixtures/csspie/source/stylesheets/PIE.htc +96 -0
- data/fixtures/current-page-app/config.rb +3 -0
- data/fixtures/current-page-app/source/request-path.html.erb +1 -0
- 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.str +9 -0
- data/fixtures/custom-layout-app2/config.rb +0 -0
- data/fixtures/custom-layout-app2/source/custom-layout-dir/index.html.erb +1 -0
- data/fixtures/custom-layout-app2/source/custom-layout.html.erb +1 -0
- data/fixtures/custom-layout-app2/source/layouts/custom.erb +8 -0
- data/fixtures/custom-src-app/config.rb +1 -0
- data/fixtures/custom-src-app/src/index.html +0 -0
- data/fixtures/custom-src-app/src/layouts/layout.html.erb +1 -0
- data/fixtures/data-app/config.rb +3 -0
- data/fixtures/data-app/data/pages.yml +6 -0
- data/fixtures/data-app/source/index.html.erb +1 -0
- data/fixtures/data-app/source/layout.erb +5 -0
- data/fixtures/default-partials-dir-app/source/_partial.html.erb +1 -0
- data/fixtures/default-partials-dir-app/source/index.html.erb +2 -0
- data/fixtures/different-engine-layout/config.rb +0 -0
- data/fixtures/different-engine-layout/source/index.haml +1 -0
- data/fixtures/different-engine-layout/source/index.html.str +1 -0
- data/fixtures/different-engine-layout/source/layout.erb +9 -0
- data/fixtures/different-engine-partial/config.rb +0 -0
- data/fixtures/different-engine-partial/source/index.html.erb +1 -0
- data/fixtures/different-engine-partial/source/layouts/layout.erb +7 -0
- data/fixtures/different-engine-partial/source/shared/_footer.str +1 -0
- data/fixtures/different-engine-partial/source/shared/_header.erb +1 -0
- data/fixtures/dynamic-pages-app/config.rb +52 -0
- data/fixtures/dynamic-pages-app/source/real.html +1 -0
- data/fixtures/dynamic-pages-app/source/real/index.html.erb +9 -0
- data/fixtures/dynamic-pages-app/source/should_be_ignored.html +1 -0
- data/fixtures/dynamic-pages-app/source/should_be_ignored2.html +1 -0
- data/fixtures/dynamic-pages-app/source/should_be_ignored3.html +1 -0
- data/fixtures/dynamic-pages-app/source/should_be_ignored4.html +1 -0
- data/fixtures/dynamic-pages-app/source/should_be_ignored5.html +1 -0
- data/fixtures/dynamic-pages-app/source/should_be_ignored6.html +1 -0
- data/fixtures/dynamic-pages-app/source/should_be_ignored7.html +1 -0
- data/fixtures/dynamic-pages-app/source/should_be_ignored8.html +1 -0
- data/fixtures/empty-app/not-config.rb +0 -0
- data/fixtures/engine-matching-layout/config.rb +0 -0
- data/fixtures/engine-matching-layout/source/index.html.erb +1 -0
- data/fixtures/engine-matching-layout/source/layout.erb +9 -0
- data/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/config.rb +4 -0
- data/fixtures/external-helpers/helpers/derp.rb +3 -0
- data/fixtures/external-helpers/helpers/four_helpers.rb +3 -0
- data/fixtures/external-helpers/helpers/one_helper.rb +3 -0
- data/fixtures/external-helpers/helpers/yet_another_thingy.rb +3 -0
- data/fixtures/external-helpers/lib/hello_helper.rb +5 -0
- data/fixtures/external-helpers/source/automatic.html.erb +1 -0
- data/fixtures/external-helpers/source/index.html.erb +1 -0
- data/fixtures/feature-params-app/config.rb +12 -0
- data/fixtures/feature-params-app/source/index.html.erb +3 -0
- data/fixtures/fonts-app/config.rb +0 -0
- data/fixtures/fonts-app/source/fonts/StMarie-Thin.otf +0 -0
- data/fixtures/fonts-app/source/fonts/blank/blank.otf +0 -0
- data/fixtures/fonts-app/source/stylesheets/fonts.css.sass +5 -0
- data/fixtures/frontmatter-app/config.rb +0 -0
- data/fixtures/frontmatter-app/source/front-matter-2.php.erb +7 -0
- data/fixtures/frontmatter-app/source/front-matter-auto.erb +6 -0
- data/fixtures/frontmatter-app/source/front-matter-change.html.erb +5 -0
- data/fixtures/frontmatter-app/source/front-matter-encoding.html.erb +7 -0
- data/fixtures/frontmatter-app/source/front-matter-line-2.html.erb +7 -0
- data/fixtures/frontmatter-app/source/json-front-matter-2.php.erb +7 -0
- data/fixtures/frontmatter-app/source/json-front-matter-auto.erb +6 -0
- data/fixtures/frontmatter-app/source/json-front-matter-encoding.html.erb +7 -0
- data/fixtures/frontmatter-app/source/json-front-matter-line-2.html.erb +7 -0
- data/fixtures/frontmatter-app/source/json-front-matter.html.erb +6 -0
- data/fixtures/frontmatter-app/source/raw-front-matter.html +6 -0
- data/fixtures/frontmatter-app/source/raw-front-matter.php +6 -0
- data/fixtures/frontmatter-neighbor-app/config.rb +0 -0
- data/fixtures/frontmatter-neighbor-app/source/front-matter-2.php.erb +2 -0
- data/fixtures/frontmatter-neighbor-app/source/front-matter-2.php.erb.frontmatter +4 -0
- data/fixtures/frontmatter-neighbor-app/source/front-matter-auto.erb +1 -0
- data/fixtures/frontmatter-neighbor-app/source/front-matter-auto.erb.frontmatter +4 -0
- data/fixtures/frontmatter-neighbor-app/source/front-matter-change.html.erb +1 -0
- data/fixtures/frontmatter-neighbor-app/source/front-matter-change.html.erb.frontmatter +4 -0
- data/fixtures/frontmatter-neighbor-app/source/front-matter-encoding.html.erb +1 -0
- data/fixtures/frontmatter-neighbor-app/source/front-matter-encoding.html.erb.frontmatter +5 -0
- data/fixtures/frontmatter-neighbor-app/source/json-front-matter-2.php.erb +2 -0
- data/fixtures/frontmatter-neighbor-app/source/json-front-matter-2.php.erb.frontmatter +4 -0
- data/fixtures/frontmatter-neighbor-app/source/json-front-matter-auto.erb +1 -0
- data/fixtures/frontmatter-neighbor-app/source/json-front-matter-auto.erb.frontmatter +4 -0
- data/fixtures/frontmatter-neighbor-app/source/json-front-matter.html.erb +1 -0
- data/fixtures/frontmatter-neighbor-app/source/json-front-matter.html.erb.frontmatter +4 -0
- data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.html +1 -0
- data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.html.frontmatter +4 -0
- data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.php +1 -0
- data/fixtures/frontmatter-neighbor-app/source/raw-front-matter.php.frontmatter +4 -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/layouts/override.erb +1 -0
- data/fixtures/frontmatter-settings-app/source/override_layout.html.erb +4 -0
- data/fixtures/frontmatter-settings-app/source/page_mentioned.html.erb +4 -0
- data/fixtures/frontmatter-settings-neighbor-app/config.rb +4 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/alternate_layout.html.erb +1 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/alternate_layout.html.erb.frontmatter +3 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/ignored.html.erb +1 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/ignored.html.erb.frontmatter +3 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/layouts/alternate.erb +3 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/layouts/override.erb +1 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/override_layout.html.erb +1 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/override_layout.html.erb.frontmatter +3 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/page_mentioned.html.erb +1 -0
- data/fixtures/frontmatter-settings-neighbor-app/source/page_mentioned.html.erb.frontmatter +3 -0
- data/fixtures/generator-test/config.rb +80 -0
- data/fixtures/generator-test/source/index.html.erb +10 -0
- data/fixtures/glob-app/config.rb +1 -0
- data/fixtures/glob-app/source/index.html.erb +4 -0
- data/fixtures/glob-app/source/stylesheets/site.css.str +3 -0
- data/fixtures/gzip-app/config.rb +1 -0
- data/fixtures/gzip-app/source/index.html +0 -0
- data/fixtures/gzip-app/source/javascripts/test.js +1 -0
- data/fixtures/gzip-app/source/stylesheets/test.css +1 -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-default-app/locales/en.yml +4 -0
- data/fixtures/i18n-default-app/locales/es.yml +8 -0
- data/fixtures/i18n-default-app/source/localizable/index.html.erb +5 -0
- data/fixtures/i18n-force-locale/config.rb +13 -0
- data/fixtures/i18n-force-locale/locales/en.yml +3 -0
- data/fixtures/i18n-force-locale/locales/es.yml +3 -0
- data/fixtures/i18n-force-locale/locales/fr.yml +3 -0
- data/fixtures/i18n-force-locale/source/index.haml +2 -0
- data/fixtures/i18n-nested-app/locales/en.yml +4 -0
- data/fixtures/i18n-nested-app/locales/en/more.yml +3 -0
- data/fixtures/i18n-nested-app/locales/es.yml +4 -0
- data/fixtures/i18n-nested-app/locales/es/mucho.yml +3 -0
- data/fixtures/i18n-nested-app/source/localizable/index.html.erb +3 -0
- data/fixtures/i18n-test-app/data/defaults_en.yml +0 -0
- data/fixtures/i18n-test-app/data/defaults_es.yml +0 -0
- data/fixtures/i18n-test-app/data/en_defaults.yml +0 -0
- data/fixtures/i18n-test-app/locales/en.yml +4 -0
- data/fixtures/i18n-test-app/locales/es.yml +9 -0
- data/fixtures/i18n-test-app/source/CNAME +1 -0
- data/fixtures/i18n-test-app/source/_country.en.erb +1 -0
- data/fixtures/i18n-test-app/source/_country.es.erb +1 -0
- data/fixtures/i18n-test-app/source/_site.erb +1 -0
- data/fixtures/i18n-test-app/source/images/president.en.svg +1 -0
- data/fixtures/i18n-test-app/source/images/president.es.svg +1 -0
- data/fixtures/i18n-test-app/source/layouts/layout.erb +8 -0
- data/fixtures/i18n-test-app/source/localizable/_state.en.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/_state.es.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/hello.html.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/images/flag.en.svg +1 -0
- data/fixtures/i18n-test-app/source/localizable/images/flag.es.svg +1 -0
- data/fixtures/i18n-test-app/source/localizable/index.html.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/morning.en.html.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/morning.es.html.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/one.en.md +1 -0
- data/fixtures/i18n-test-app/source/localizable/one.es.md +1 -0
- data/fixtures/i18n-test-app/source/localizable/partials/_greeting.en.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/partials/_greeting.es.erb +1 -0
- data/fixtures/i18n-test-app/source/localizable/partials/index.html.erb +6 -0
- data/fixtures/i18n-test-app/source/password.txt +1 -0
- data/fixtures/i18n-test-app/source/stylesheets/site.css +3 -0
- data/fixtures/ignore-app/source/about.html.erb +1 -0
- data/fixtures/ignore-app/source/images/icon/messages.png +0 -0
- data/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 +4 -0
- data/fixtures/indexable-app/source/.htaccess +1 -0
- data/fixtures/indexable-app/source/.htpasswd +1 -0
- data/fixtures/indexable-app/source/.nojekyll +0 -0
- data/fixtures/indexable-app/source/a_folder/needs_index.html +1 -0
- data/fixtures/indexable-app/source/evil spaces.html +1 -0
- data/fixtures/indexable-app/source/leave_me_alone.html +1 -0
- data/fixtures/indexable-app/source/needs_index.html +1 -0
- data/fixtures/indexable-app/source/regular/index.html +1 -0
- data/fixtures/indexable-app/source/wildcard_leave_me_alone.html +1 -0
- data/fixtures/instance-vars-app/config.rb +7 -0
- data/fixtures/instance-vars-app/source/content.html.erb +2 -0
- data/fixtures/instance-vars-app/source/layout.erb +1 -0
- data/fixtures/large-build-app/config.rb +3 -0
- data/fixtures/large-build-app/source/.htaccess +1 -0
- data/fixtures/large-build-app/source/.htpasswd +1 -0
- data/fixtures/large-build-app/source/_partial.erb +1 -0
- data/fixtures/large-build-app/source/feed.xml.builder +4 -0
- data/fixtures/large-build-app/source/images/Child folder/regular_file(example).txt +1 -0
- data/fixtures/large-build-app/source/images/Read me (example).txt +1 -0
- data/fixtures/large-build-app/source/images/blank.gif +0 -0
- data/fixtures/large-build-app/source/index.html.erb +1 -0
- data/fixtures/large-build-app/source/layout.erb +9 -0
- data/fixtures/large-build-app/source/layouts/content_for.erb +4 -0
- data/fixtures/large-build-app/source/layouts/custom.erb +8 -0
- data/fixtures/large-build-app/source/link_test.html.erb +5 -0
- data/fixtures/large-build-app/source/other_layout.erb +1 -0
- data/fixtures/large-build-app/source/services/index.html.erb +1 -0
- data/fixtures/large-build-app/source/spaces in file.html.erb +1 -0
- data/fixtures/large-build-app/source/static.html +1 -0
- data/fixtures/large-build-app/source/stylesheets/static.css +2 -0
- data/fixtures/layouts-dir-app/source/ambiguous.html.erb +5 -0
- data/fixtures/layouts-dir-app/source/index.html.erb +2 -0
- data/fixtures/layouts-dir-app/source/layouts/layout.erb +3 -0
- data/fixtures/layouts-dir-app/source/layouts/other.erb +3 -0
- data/fixtures/layouts-dir-app/source/layouts2/layout.erb +3 -0
- data/fixtures/layouts-dir-app/source/nested/layouts2/layout.erb +3 -0
- data/fixtures/layouts-dir-app/source/other.erb +3 -0
- data/fixtures/link-to-app/config.rb +0 -0
- data/fixtures/link-to-app/source/link_to_erb.html.erb +3 -0
- data/fixtures/link-to-app/source/link_to_haml.html.haml +2 -0
- data/fixtures/link-to-app/source/link_to_slim.html.slim +2 -0
- data/fixtures/liquid-app/config.rb +0 -0
- data/fixtures/liquid-app/data/test.yml +4 -0
- data/fixtures/liquid-app/data/test2.json +4 -0
- data/fixtures/liquid-app/source/_liquid_partial.liquid +1 -0
- data/fixtures/liquid-app/source/data2.html.liquid +2 -0
- data/fixtures/liquid-app/source/liquid_master.html.liquid +1 -0
- data/fixtures/lorem-app/config.rb +1 -0
- data/fixtures/lorem-app/source/lorem.html.erb +13 -0
- data/fixtures/manual-layout-missing/config.rb +1 -0
- data/fixtures/manual-layout-missing/source/index.html.erb +1 -0
- data/fixtures/manual-layout-override/config.rb +3 -0
- data/fixtures/manual-layout-override/source/index.html.erb +1 -0
- data/fixtures/manual-layout-override/source/layouts/another.erb +9 -0
- data/fixtures/manual-layout-override/source/layouts/custom.erb +9 -0
- data/fixtures/manual-layout/config.rb +1 -0
- data/fixtures/manual-layout/source/index.html.erb +1 -0
- data/fixtures/manual-layout/source/layouts/custom.erb +9 -0
- data/fixtures/markdown-app/config.rb +1 -0
- data/fixtures/markdown-app/source/autolink.html.markdown +5 -0
- data/fixtures/markdown-app/source/fenced_code_blocks.html.markdown +7 -0
- data/fixtures/markdown-app/source/filter_html.html.markdown +1 -0
- data/fixtures/markdown-app/source/footnote.html.markdown +3 -0
- data/fixtures/markdown-app/source/hard_wrap.html.markdown +2 -0
- data/fixtures/markdown-app/source/highlighted.html.markdown +1 -0
- data/fixtures/markdown-app/source/images/blank.gif +0 -0
- data/fixtures/markdown-app/source/img.html.markdown +1 -0
- data/fixtures/markdown-app/source/indented_code_blocks.html.markdown +5 -0
- data/fixtures/markdown-app/source/index.html.markdown +4 -0
- data/fixtures/markdown-app/source/lax_spacing.html.markdown +3 -0
- data/fixtures/markdown-app/source/link.html.markdown +1 -0
- data/fixtures/markdown-app/source/mailto.html.markdown +1 -0
- data/fixtures/markdown-app/source/no_intra_emphasis.html.markdown +5 -0
- data/fixtures/markdown-app/source/prettify.html.markdown +3 -0
- data/fixtures/markdown-app/source/quote.html.markdown +1 -0
- data/fixtures/markdown-app/source/safe_links.html.markdown +1 -0
- data/fixtures/markdown-app/source/smarty_pants.html.markdown +5 -0
- data/fixtures/markdown-app/source/space_after_headers.html.markdown +5 -0
- data/fixtures/markdown-app/source/strikethrough.html.markdown +5 -0
- data/fixtures/markdown-app/source/superscript.html.markdown +5 -0
- data/fixtures/markdown-app/source/tables.html.markdown +8 -0
- data/fixtures/markdown-app/source/underline.html.markdown +1 -0
- data/fixtures/markdown-app/source/with_toc_data.html.markdown +3 -0
- data/fixtures/markdown-frontmatter-options-app/config.rb +1 -0
- data/fixtures/markdown-frontmatter-options-app/source/smarty_pants-default.html.markdown +5 -0
- data/fixtures/markdown-frontmatter-options-app/source/smarty_pants-off.html.markdown +7 -0
- data/fixtures/markdown-frontmatter-options-app/source/smarty_pants-on.html.markdown +7 -0
- data/fixtures/markdown-frontmatter-options-app/source/tables-default.html.markdown +8 -0
- data/fixtures/markdown-frontmatter-options-app/source/tables-off.html.markdown +10 -0
- data/fixtures/markdown-frontmatter-options-app/source/tables-on.html.markdown +10 -0
- data/fixtures/markdown-in-haml-app/config.rb +0 -0
- data/fixtures/markdown-in-haml-app/source/images/blank.gif +0 -0
- data/fixtures/markdown-in-haml-app/source/link_target.html.markdown +4 -0
- data/fixtures/minify-css-app/source/inline-css.html.haml +5 -0
- data/fixtures/minify-css-app/source/more-css/site.css +3 -0
- data/fixtures/minify-css-app/source/stylesheets/report.css +1 -0
- data/fixtures/minify-css-app/source/stylesheets/site.css.sass +5 -0
- data/fixtures/minify-js-app/config.rb +0 -0
- data/fixtures/minify-js-app/source/inline-coffeescript.html.haml +3 -0
- data/fixtures/minify-js-app/source/inline-js.html.haml +28 -0
- data/fixtures/minify-js-app/source/javascripts/coffee_test.js.coffee +3 -0
- data/fixtures/minify-js-app/source/javascripts/js_test.js +8 -0
- data/fixtures/minify-js-app/source/more-js/other.js +8 -0
- data/fixtures/missing-tilt-library-app/config.rb +2 -0
- data/fixtures/missing-tilt-library-app/source/danger-zone/more-wiki.html.wiki +1 -0
- data/fixtures/missing-tilt-library-app/source/safe-zone/my-wiki.html.wiki +1 -0
- data/fixtures/missing-tilt-library-app/source/textile-source.html.textile +1 -0
- data/fixtures/missing-tilt-library-app/source/wiki-source.html.wiki +1 -0
- data/fixtures/more-extensionless-text-files-app/config.rb +1 -0
- data/fixtures/more-extensionless-text-files-app/source/CNAME +1 -0
- data/fixtures/more-extensionless-text-files-app/source/LICENSE +1 -0
- data/fixtures/more-extensionless-text-files-app/source/README +1 -0
- data/fixtures/more-extensionless-text-files-app/source/index.html +1 -0
- data/fixtures/more-frontmatter-settings-app/config.rb +4 -0
- data/fixtures/more-frontmatter-settings-app/source/alternate_layout.html.erb +5 -0
- data/fixtures/more-frontmatter-settings-app/source/ignored.html.erb +5 -0
- data/fixtures/more-frontmatter-settings-app/source/layouts/alternate.erb +3 -0
- data/fixtures/more-frontmatter-settings-app/source/no_index.html.erb +5 -0
- data/fixtures/more-ignore-app/source/about.html.erb +1 -0
- data/fixtures/more-ignore-app/source/images/icon/messages.png +0 -0
- data/fixtures/more-ignore-app/source/images/pic.png +0 -0
- data/fixtures/more-ignore-app/source/images/portrait.jpg +0 -0
- data/fixtures/more-ignore-app/source/index.html.erb +0 -0
- data/fixtures/more-ignore-app/source/plain.html +1 -0
- data/fixtures/more-ignore-app/source/reports/another.html +0 -0
- data/fixtures/more-ignore-app/source/reports/index.html +0 -0
- data/fixtures/more-implied-extensions-app/config.rb +0 -0
- data/fixtures/more-implied-extensions-app/source/javascripts/app.coffee +1 -0
- data/fixtures/more-implied-extensions-app/source/layouts/layout.erb +3 -0
- data/fixtures/more-implied-extensions-app/source/stylesheets/style.scss +3 -0
- data/fixtures/more-implied-extensions-app/source/stylesheets/style2.sass +3 -0
- data/fixtures/more-implied-extensions-app/source/test.haml +4 -0
- data/fixtures/more-implied-extensions-app/source/test2.markdown +3 -0
- data/fixtures/more-implied-extensions-app/source/test3.slim +3 -0
- data/fixtures/more-implied-extensions-app/source/test4.liquid +1 -0
- data/fixtures/more-instance-vars-app/config.rb +0 -0
- data/fixtures/more-instance-vars-app/source/_vartial.erb +5 -0
- data/fixtures/more-instance-vars-app/source/instance-var-set.html.erb +2 -0
- data/fixtures/more-instance-vars-app/source/layout.erb +3 -0
- data/fixtures/more-instance-vars-app/source/no-instance-var.html.erb +1 -0
- data/fixtures/more-markdown-app/source/layouts/layout.erb +13 -0
- data/fixtures/more-markdown-app/source/with_layout.markdown +4 -0
- data/fixtures/more-markdown-app/source/with_layout_erb.markdown.erb +4 -0
- data/fixtures/more-preview-app/config.rb +0 -0
- data/fixtures/more-preview-app/source/content.html.erb +1 -0
- data/fixtures/more-preview-app/source/layout.erb +1 -0
- data/fixtures/more-preview-app/source/stylesheets/_partial.sass +2 -0
- data/fixtures/more-preview-app/source/stylesheets/_partial2.css.sass +2 -0
- data/fixtures/more-preview-app/source/stylesheets/main.css.sass +4 -0
- data/fixtures/more-preview-app/source/stylesheets/main2.css.sass +4 -0
- data/fixtures/more-preview-app/source/stylesheets/plain.css.sass +2 -0
- data/fixtures/more-traversal-app/config.rb +7 -0
- data/fixtures/more-traversal-app/source/directory-indexed.html.erb +0 -0
- data/fixtures/more-traversal-app/source/directory-indexed/sibling.html.erb +3 -0
- data/fixtures/more-traversal-app/source/directory-indexed/sibling2.html.erb +3 -0
- data/fixtures/more-traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
- data/fixtures/more-traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
- data/fixtures/more-traversal-app/source/index.html.erb +0 -0
- data/fixtures/more-traversal-app/source/layout.erb +21 -0
- data/fixtures/more-traversal-app/source/proxied.html.erb +0 -0
- data/fixtures/more-traversal-app/source/root.html.erb +0 -0
- data/fixtures/more-traversal-app/source/sub/index.html.erb +0 -0
- data/fixtures/more-traversal-app/source/sub/sibling.html.erb +0 -0
- data/fixtures/more-traversal-app/source/sub/sibling2.html.erb +0 -0
- data/fixtures/more-traversal-app/source/sub/sub2/index.html.erb +0 -0
- data/fixtures/more-traversal-app/source/sub/sub3/deep.html.erb +0 -0
- data/fixtures/multiple-layouts/config.rb +0 -0
- data/fixtures/multiple-layouts/source/index.html.erb +1 -0
- data/fixtures/multiple-layouts/source/layout.erb +9 -0
- data/fixtures/multiple-layouts/source/layout.str +9 -0
- data/fixtures/nested-data-app/config.rb +1 -0
- data/fixtures/nested-data-app/data/examples/deeper/stuff.yml +1 -0
- data/fixtures/nested-data-app/data/examples/more.yml +1 -0
- data/fixtures/nested-data-app/data/examples/test.yml +1 -0
- data/fixtures/nested-data-app/source/test.html.erb +3 -0
- data/fixtures/nested-layout-app/config.rb +1 -0
- data/fixtures/nested-layout-app/source/another.html.markdown +7 -0
- data/fixtures/nested-layout-app/source/data-one.html.erb +5 -0
- data/fixtures/nested-layout-app/source/data-two.html.erb +5 -0
- data/fixtures/nested-layout-app/source/haml-test.html.markdown +7 -0
- data/fixtures/nested-layout-app/source/index.html.erb +6 -0
- data/fixtures/nested-layout-app/source/layouts/inner.erb +4 -0
- data/fixtures/nested-layout-app/source/layouts/inner_haml.haml +3 -0
- data/fixtures/nested-layout-app/source/layouts/inner_slim.slim +3 -0
- data/fixtures/nested-layout-app/source/layouts/master.erb +3 -0
- data/fixtures/nested-layout-app/source/layouts/master_haml.haml +3 -0
- data/fixtures/nested-layout-app/source/layouts/master_slim.slim +3 -0
- data/fixtures/nested-layout-app/source/layouts/outer.erb +4 -0
- data/fixtures/nested-layout-app/source/layouts/outer_haml.haml +3 -0
- data/fixtures/nested-layout-app/source/layouts/outer_slim.slim +3 -0
- data/fixtures/nested-layout-app/source/slim-test.html.markdown +7 -0
- data/fixtures/no-layout/config.rb +0 -0
- data/fixtures/no-layout/source/index.html.erb +1 -0
- data/fixtures/padrino-helpers-app/config.rb +7 -0
- data/fixtures/padrino-helpers-app/source/former_padrino_test.html.erb +6 -0
- data/fixtures/page-classes-app/config.rb +4 -0
- data/fixtures/page-classes-app/source/1-folder/1-inside-with-numeric.html.erb +1 -0
- data/fixtures/page-classes-app/source/1-starts-with-numeric.html.erb +1 -0
- data/fixtures/page-classes-app/source/2-starts-with-numeric-custom.html.erb +1 -0
- data/fixtures/page-classes-app/source/page-classes.html.erb +1 -0
- data/fixtures/page-classes-app/source/sub1/page-classes.html.erb +1 -0
- data/fixtures/page-classes-app/source/sub1/sub2/page-classes.html.erb +1 -0
- data/fixtures/page-helper-layout-block-app/config.rb +6 -0
- data/fixtures/page-helper-layout-block-app/source/index.html.erb +1 -0
- data/fixtures/page-helper-layout-block-app/source/layouts/alt.erb +3 -0
- data/fixtures/page-helper-layout-block-app/source/layouts/layout.erb +3 -0
- data/fixtures/page-helper-layout-block-app/source/path/child.html.erb +1 -0
- data/fixtures/page-helper-layout-block-app/source/path/index.html.erb +1 -0
- data/fixtures/partials-app/config.rb +0 -0
- data/fixtures/partials-app/source/_code_snippet.html +1 -0
- data/fixtures/partials-app/source/_locals.erb +1 -0
- data/fixtures/partials-app/source/_main.erb +1 -0
- data/fixtures/partials-app/source/_main.str +1 -0
- data/fixtures/partials-app/source/images/tiger.svg +725 -0
- data/fixtures/partials-app/source/index.html.erb +3 -0
- data/fixtures/partials-app/source/locals.html.erb +1 -0
- data/fixtures/partials-app/source/second.html.str +3 -0
- data/fixtures/partials-app/source/shared/_footer.erb +1 -0
- data/fixtures/partials-app/source/shared/_header.erb +1 -0
- data/fixtures/partials-app/source/shared/snippet.erb +1 -0
- data/fixtures/partials-app/source/static_underscore.html.erb +1 -0
- data/fixtures/partials-app/source/sub/_local.erb +1 -0
- data/fixtures/partials-app/source/sub/index.html.erb +3 -0
- data/fixtures/partials-app/source/svg.html.erb +1 -0
- data/fixtures/partials-app/source/using_snippet.html.erb +1 -0
- data/fixtures/partials-dir-app/source/index.html.erb +2 -0
- data/fixtures/partials-dir-app/source/nested/partials/_partial.html.erb +1 -0
- data/fixtures/partials-dir-app/source/partials/_partial.html.erb +1 -0
- data/fixtures/passthrough-app/source/.htaccess +1 -0
- data/fixtures/passthrough-app/source/inline-coffeescript.html.haml +3 -0
- data/fixtures/passthrough-app/source/inline-css.html.haml +4 -0
- data/fixtures/passthrough-app/source/inline-js.html.haml +28 -0
- data/fixtures/passthrough-app/source/javascripts/coffee_test.js.coffee +3 -0
- data/fixtures/passthrough-app/source/javascripts/js_test.js +8 -0
- data/fixtures/passthrough-app/source/stylesheets/site.css.sass +1 -0
- data/fixtures/plain-app/index.html +1 -0
- data/fixtures/preview-app/config.rb +0 -0
- data/fixtures/preview-app/source/content.html.erb +1 -0
- data/fixtures/preview-app/source/layout.erb +1 -0
- data/fixtures/proxy-pages-app/config.rb +21 -0
- data/fixtures/proxy-pages-app/source/real.html +1 -0
- data/fixtures/proxy-pages-app/source/real/index-ivars.html.erb +6 -0
- data/fixtures/proxy-pages-app/source/real/index.html.erb +5 -0
- data/fixtures/proxy-pages-app/source/should_be_ignored3.html +1 -0
- data/fixtures/proxy-pages-app/source/should_be_ignored6.html +1 -0
- data/fixtures/proxy-pages-app/source/should_be_ignored7.html +1 -0
- data/fixtures/proxy-pages-app/source/should_be_ignored8.html +1 -0
- data/fixtures/queryable-app/config.rb +0 -0
- data/fixtures/queryable-app/source/2010-08-08-test-document-file.html.markdown +8 -0
- data/fixtures/queryable-app/source/2010-08-09-another-test-document.html.markdown +10 -0
- data/fixtures/queryable-app/source/2011-12-26-some-test-document.html.markdown +6 -0
- data/fixtures/queryable-app/source/document_with_date_in_yaml.html.markdown +7 -0
- data/fixtures/queryable-app/source/document_without_date.html.markdown +7 -0
- data/fixtures/relative-app/config.rb +0 -0
- data/fixtures/relative-app/source/images/blank.gif +0 -0
- data/fixtures/relative-app/source/stylesheets/relative_assets.css.sass +3 -0
- data/fixtures/relative-assets-app/config.rb +1 -0
- data/fixtures/relative-assets-app/source/images/blank.gif +0 -0
- data/fixtures/relative-assets-app/source/img/blank.gif +0 -0
- data/fixtures/relative-assets-app/source/relative_image.html.erb +8 -0
- data/fixtures/relative-assets-app/source/stylesheets/relative_assets.css.sass +3 -0
- data/fixtures/request-app/config.rb +0 -0
- data/fixtures/request-app/source/index.html.erb +3 -0
- data/fixtures/sass-assets-path-app/assets/stylesheets/_shared-asset-sass.sass +1 -0
- data/fixtures/sass-assets-path-app/assets/stylesheets/_shared-asset.scss +1 -0
- data/fixtures/sass-assets-path-app/config.rb +4 -0
- data/fixtures/sass-assets-path-app/my-vendor/stylesheets/_partial.sass +2 -0
- data/fixtures/sass-assets-path-app/source/stylesheets/plain.css.sass +16 -0
- data/fixtures/scss-app/config.rb +0 -0
- data/fixtures/scss-app/source/stylesheets/layout.css.sass +2 -0
- data/fixtures/scss-app/source/stylesheets/site_scss.css.scss +1 -0
- data/fixtures/sinatra-app/config.rb +14 -0
- data/fixtures/sinatra-app/source/index.html.erb +5 -0
- data/fixtures/slim-content-for-app/config.rb +0 -0
- data/fixtures/slim-content-for-app/source/index.html.slim +7 -0
- data/fixtures/slim-content-for-app/source/layouts/layout.slim +15 -0
- data/fixtures/strip-url-app/config.rb +0 -0
- data/fixtures/strip-url-app/source/index.html.erb +1 -0
- data/fixtures/strip-url-app/source/other.html.erb +1 -0
- data/fixtures/strip-url-app/source/subdir/index.html.erb +1 -0
- data/fixtures/stylus-preview-app/config.rb +0 -0
- data/fixtures/stylus-preview-app/source/content.html.erb +1 -0
- data/fixtures/stylus-preview-app/source/layout.erb +1 -0
- data/fixtures/stylus-preview-app/source/stylesheets/_partial.styl +2 -0
- data/fixtures/stylus-preview-app/source/stylesheets/_partial2.css.styl +2 -0
- data/fixtures/stylus-preview-app/source/stylesheets/main.css.styl +4 -0
- data/fixtures/stylus-preview-app/source/stylesheets/main2.css.styl +4 -0
- data/fixtures/stylus-preview-app/source/stylesheets/plain.css.styl +2 -0
- data/fixtures/traversal-app/config.rb +5 -0
- data/fixtures/traversal-app/source/directory-indexed.html.erb +0 -0
- data/fixtures/traversal-app/source/directory-indexed/sibling.html.erb +3 -0
- data/fixtures/traversal-app/source/directory-indexed/sibling2.html.erb +3 -0
- data/fixtures/traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
- data/fixtures/traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
- data/fixtures/traversal-app/source/index.html.erb +0 -0
- data/fixtures/traversal-app/source/layout.erb +21 -0
- data/fixtures/traversal-app/source/proxied.html.erb +0 -0
- data/fixtures/traversal-app/source/root.html.erb +0 -0
- data/fixtures/traversal-app/source/sub/index.html.erb +0 -0
- data/fixtures/traversal-app/source/sub/sibling.html.erb +0 -0
- data/fixtures/traversal-app/source/sub/sibling2.html.erb +0 -0
- data/fixtures/traversal-app/source/sub/sub2/index.html.erb +0 -0
- data/fixtures/traversal-app/source/sub/sub3/deep.html.erb +0 -0
- data/fixtures/twitter-bootstrap-app/config.rb +0 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/.gitignore +36 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/.travis.yml +3 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/LICENSE +176 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/README.md +137 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/img/glyphicons-halflings-white.png +0 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/img/glyphicons-halflings.png +0 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/.jshintrc +10 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/README.md +112 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-alert.js +90 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-button.js +96 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-carousel.js +169 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-collapse.js +157 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-dropdown.js +100 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-modal.js +218 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-popover.js +98 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-scrollspy.js +151 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-tab.js +135 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-tooltip.js +275 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-transition.js +61 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-typeahead.js +285 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/index.html +54 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/phantom.js +63 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/server.js +14 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-alert.js +56 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-button.js +77 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-carousel.js +28 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-collapse.js +54 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-dropdown.js +87 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-modal.js +114 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-phantom.js +21 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-popover.js +93 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-scrollspy.js +31 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-tab.js +61 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-tooltip.js +155 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-transition.js +13 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-typeahead.js +148 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/jquery.js +9252 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/qunit.css +232 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/qunit.js +1510 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_accordion.less +33 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_alerts.less +58 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_breadcrumbs.less +24 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_button-groups.less +191 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_buttons.less +191 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_carousel.less +121 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_close.less +29 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_code.less +57 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_component-animations.less +20 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_dropdowns.less +143 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_forms.less +583 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_grid.less +5 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_hero-unit.less +22 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_labels-badges.less +55 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_layouts.less +17 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_mixins.less +646 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_modals.less +90 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_navbar.less +358 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_navs.less +363 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_pager.less +36 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_pagination.less +56 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_popovers.less +49 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_progress-bars.less +117 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_reset.less +131 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-1200px-min.less +26 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-767px-max.less +149 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-768px-979px.less +17 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-navbar.less +153 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-utilities.less +41 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_scaffolding.less +29 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_sprites.less +191 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_tables.less +176 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_thumbnails.less +47 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_tooltip.less +35 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_type.less +232 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_utilities.less +23 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_variables.less +206 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_wells.less +27 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/bootstrap.less +62 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/responsive.less +48 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/css-tests.css +52 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/css-tests.html +917 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/forms.html +179 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/navbar.html +108 -0
- data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/package.json +25 -0
- data/fixtures/v4-extension-callbacks/config.rb +26 -0
- data/fixtures/v4-extension-callbacks/source/index.html.erb +2 -0
- data/fixtures/wildcard-app/config.rb +1 -0
- data/fixtures/wildcard-app/source/admin/index.html.erb +1 -0
- data/fixtures/wildcard-app/source/admin/page.html.erb +1 -0
- data/fixtures/wildcard-app/source/index.html.erb +1 -0
- data/fixtures/wildcard-app/source/layouts/admin.erb +2 -0
- data/fixtures/wildcard-app/source/layouts/layout.erb +2 -0
- data/fixtures/wildcard-directory-index-app/config.rb +2 -0
- data/fixtures/wildcard-directory-index-app/source/admin/index.html.erb +1 -0
- data/fixtures/wildcard-directory-index-app/source/admin/page.html.erb +1 -0
- data/fixtures/wildcard-directory-index-app/source/index.html.erb +1 -0
- data/fixtures/wildcard-directory-index-app/source/layouts/admin.erb +2 -0
- data/fixtures/wildcard-directory-index-app/source/layouts/layout.erb +2 -0
- data/lib/middleman-core.rb +16 -0
- data/lib/middleman-core/application.rb +247 -0
- data/lib/middleman-core/cli.rb +88 -0
- data/lib/middleman-core/cli/build.rb +298 -0
- data/lib/middleman-core/cli/bundler.rb +39 -0
- data/lib/middleman-core/cli/console.rb +43 -0
- data/lib/middleman-core/cli/extension.rb +47 -0
- data/lib/middleman-core/cli/init.rb +66 -0
- data/lib/middleman-core/cli/server.rb +88 -0
- data/lib/middleman-core/configuration.rb +237 -0
- data/lib/middleman-core/core_extensions.rb +94 -0
- data/lib/middleman-core/core_extensions/data.rb +213 -0
- data/lib/middleman-core/core_extensions/extensions.rb +197 -0
- data/lib/middleman-core/core_extensions/external_helpers.rb +37 -0
- data/lib/middleman-core/core_extensions/file_watcher.rb +179 -0
- data/lib/middleman-core/core_extensions/front_matter.rb +201 -0
- data/lib/middleman-core/core_extensions/rendering.rb +512 -0
- data/lib/middleman-core/core_extensions/request.rb +305 -0
- data/lib/middleman-core/core_extensions/routing.rb +71 -0
- data/lib/middleman-core/core_extensions/show_exceptions.rb +25 -0
- data/lib/middleman-core/extension.rb +166 -0
- data/lib/middleman-core/extensions.rb +98 -0
- data/lib/middleman-core/load_paths.rb +53 -0
- data/lib/middleman-core/logger.rb +46 -0
- data/lib/middleman-core/meta_pages.rb +107 -0
- data/lib/middleman-core/meta_pages/assets/config.css +49 -0
- data/lib/middleman-core/meta_pages/assets/glyphicons-halflings.png +0 -0
- data/lib/middleman-core/meta_pages/assets/jquery-1.8.2.min.js +2 -0
- data/lib/middleman-core/meta_pages/assets/jquery.details-1.6.min.js +6 -0
- data/lib/middleman-core/meta_pages/assets/meta.css +384 -0
- data/lib/middleman-core/meta_pages/assets/sitemap.css +652 -0
- data/lib/middleman-core/meta_pages/assets/sitemap.js +0 -0
- data/lib/middleman-core/meta_pages/config_setting.rb +37 -0
- data/lib/middleman-core/meta_pages/sitemap_resource.rb +66 -0
- data/lib/middleman-core/meta_pages/sitemap_tree.rb +77 -0
- data/lib/middleman-core/meta_pages/templates/config.html.erb +57 -0
- data/lib/middleman-core/meta_pages/templates/index.html.erb +31 -0
- data/lib/middleman-core/meta_pages/templates/sitemap.html.erb +30 -0
- data/lib/middleman-core/preview_server.rb +237 -0
- data/lib/middleman-core/profiling.rb +56 -0
- data/lib/middleman-core/renderers/asciidoc.rb +58 -0
- data/lib/middleman-core/renderers/coffee_script.rb +47 -0
- data/lib/middleman-core/renderers/erb.rb +33 -0
- data/lib/middleman-core/renderers/haml.rb +38 -0
- data/lib/middleman-core/renderers/kramdown.rb +43 -0
- data/lib/middleman-core/renderers/less.rb +43 -0
- data/lib/middleman-core/renderers/liquid.rb +31 -0
- data/lib/middleman-core/renderers/markdown.rb +62 -0
- data/lib/middleman-core/renderers/redcarpet.rb +85 -0
- data/lib/middleman-core/renderers/sass.rb +120 -0
- data/lib/middleman-core/renderers/slim.rb +54 -0
- data/lib/middleman-core/renderers/stylus.rb +24 -0
- data/lib/middleman-core/sitemap.rb +76 -0
- data/lib/middleman-core/sitemap/extensions/content_type.rb +16 -0
- data/lib/middleman-core/sitemap/extensions/ignores.rb +86 -0
- data/lib/middleman-core/sitemap/extensions/on_disk.rb +92 -0
- data/lib/middleman-core/sitemap/extensions/proxies.rb +166 -0
- data/lib/middleman-core/sitemap/extensions/redirects.rb +119 -0
- data/lib/middleman-core/sitemap/extensions/request_endpoints.rb +107 -0
- data/lib/middleman-core/sitemap/extensions/traversal.rb +92 -0
- data/lib/middleman-core/sitemap/queryable.rb +150 -0
- data/lib/middleman-core/sitemap/resource.rb +155 -0
- data/lib/middleman-core/sitemap/store.rb +279 -0
- data/lib/middleman-core/step_definitions.rb +21 -0
- data/lib/middleman-core/step_definitions/builder_steps.rb +77 -0
- data/lib/middleman-core/step_definitions/middleman_steps.rb +17 -0
- data/lib/middleman-core/step_definitions/server_steps.rb +104 -0
- data/lib/middleman-core/templates.rb +101 -0
- data/lib/middleman-core/templates/default.rb +37 -0
- data/lib/middleman-core/templates/default/source/images/background.png +0 -0
- data/lib/middleman-core/templates/default/source/images/middleman.png +0 -0
- data/lib/middleman-core/templates/default/source/index.html.erb +10 -0
- data/lib/middleman-core/templates/default/source/javascripts/all.js +1 -0
- data/lib/middleman-core/templates/default/source/layouts/layout.erb +19 -0
- data/lib/middleman-core/templates/default/source/stylesheets/all.css +55 -0
- data/lib/middleman-core/templates/default/source/stylesheets/normalize.css +375 -0
- data/lib/middleman-core/templates/empty.rb +22 -0
- data/lib/middleman-core/templates/empty/Gemfile.tt +6 -0
- data/lib/middleman-core/templates/extension/Gemfile +19 -0
- data/lib/middleman-core/templates/extension/Rakefile +14 -0
- data/lib/middleman-core/templates/extension/features/support/env.rb +4 -0
- data/lib/middleman-core/templates/extension/gemspec +24 -0
- data/lib/middleman-core/templates/extension/gitignore +5 -0
- data/lib/middleman-core/templates/extension/lib/lib.rb +38 -0
- data/lib/middleman-core/templates/extension/lib/middleman_extension.rb +1 -0
- data/lib/middleman-core/templates/html5.rb +29 -0
- data/lib/middleman-core/templates/html5/source/.htaccess +540 -0
- data/lib/middleman-core/templates/html5/source/404.html +157 -0
- data/lib/middleman-core/templates/html5/source/LICENSE.md +19 -0
- data/lib/middleman-core/templates/html5/source/README.md +63 -0
- 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-144x144-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 +15 -0
- data/lib/middleman-core/templates/html5/source/css/main.css +298 -0
- data/lib/middleman-core/templates/html5/source/css/normalize.css +504 -0
- data/lib/middleman-core/templates/html5/source/favicon.ico +0 -0
- data/lib/middleman-core/templates/html5/source/humans.txt +15 -0
- data/lib/middleman-core/templates/html5/source/img/.gitignore +0 -0
- data/lib/middleman-core/templates/html5/source/index.html.erb +6 -0
- data/lib/middleman-core/templates/html5/source/js/main.js +1 -0
- data/lib/middleman-core/templates/html5/source/js/plugins.js +14 -0
- data/lib/middleman-core/templates/html5/source/js/vendor/jquery-1.8.0.min.js +2 -0
- data/lib/middleman-core/templates/html5/source/js/vendor/modernizr-2.6.1.min.js +4 -0
- data/lib/middleman-core/templates/html5/source/layouts/layout.erb +40 -0
- data/lib/middleman-core/templates/html5/source/robots.txt +3 -0
- data/lib/middleman-core/templates/local.rb +27 -0
- data/lib/middleman-core/templates/mobile.rb +24 -0
- data/lib/middleman-core/templates/mobile/source/404.html +37 -0
- data/lib/middleman-core/templates/mobile/source/README.markdown +21 -0
- data/lib/middleman-core/templates/mobile/source/crossdomain.xml +25 -0
- data/lib/middleman-core/templates/mobile/source/css/style.css +315 -0
- data/lib/middleman-core/templates/mobile/source/humans.txt +43 -0
- data/lib/middleman-core/templates/mobile/source/img/h/apple-touch-icon.png +0 -0
- data/lib/middleman-core/templates/mobile/source/img/h/splash.png +0 -0
- data/lib/middleman-core/templates/mobile/source/img/l/apple-touch-icon-precomposed.png +0 -0
- data/lib/middleman-core/templates/mobile/source/img/l/apple-touch-icon.png +0 -0
- data/lib/middleman-core/templates/mobile/source/img/l/splash.png +0 -0
- data/lib/middleman-core/templates/mobile/source/img/m/apple-touch-icon.png +0 -0
- data/lib/middleman-core/templates/mobile/source/index.html +92 -0
- data/lib/middleman-core/templates/mobile/source/js/libs/modernizr-custom.js +14 -0
- data/lib/middleman-core/templates/mobile/source/js/libs/respond.min.js +7 -0
- data/lib/middleman-core/templates/mobile/source/js/mylibs/helper.js +171 -0
- data/lib/middleman-core/templates/mobile/source/js/plugins.js +20 -0
- data/lib/middleman-core/templates/mobile/source/js/script.js +0 -0
- data/lib/middleman-core/templates/mobile/source/robots.txt +4 -0
- data/lib/middleman-core/templates/mobile/source/sitemap.xml +9 -0
- data/lib/middleman-core/templates/mobile/source/test/index.html +31 -0
- data/lib/middleman-core/templates/mobile/source/test/qunit/qunit.css +148 -0
- data/lib/middleman-core/templates/mobile/source/test/qunit/qunit.js +1265 -0
- data/lib/middleman-core/templates/mobile/source/test/tests.js +21 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/Readme.PDF +0 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx1.snippet +31 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/aspx2.snippet +2 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/ga.aspx +195 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/aspx/sample.aspx +44 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/ga.jsp +225 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp1.snippet +35 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/jsp2.snippet +2 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/jsp/sample.jsp +51 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/ga.php +176 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/php1.snippet +30 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/php2.snippet +4 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/php/sample.php +44 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/ga.pl +195 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/perl1.snippet +27 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/perl2.snippet +1 -0
- data/lib/middleman-core/templates/mobile/source/tools/googleanalyticsformobile/pl/sample.pl +38 -0
- data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/COPYING +202 -0
- data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/bookmark_bubble.js +559 -0
- data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.html +43 -0
- data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/example/example.js +57 -0
- data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/arrow.png +0 -0
- data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/close.png +0 -0
- data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/generate_base64_images +33 -0
- data/lib/middleman-core/templates/mobile/source/tools/mobile-bookmark-bubble/images/icon_calendar.png +0 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/README +27 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/databasefactory.js +45 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworker.js +324 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworker_test.html +393 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbworkerstarter.js +32 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_gears.js +595 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_gears_test.html +404 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_html5.js +203 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapper_html5_test.html +468 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapperapi.js +202 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/dbwrapperapi_test.html +51 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_resultset.js +71 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_resultset_test.html +86 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_transaction.js +196 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/gears_transaction_test.html +221 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/gearsutils.js +94 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/gearsutils_test.html +84 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/global_functions.js +72 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/index.html +347 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/simplenotes.js +503 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/styles.css +66 -0
- data/lib/middleman-core/templates/mobile/source/tools/wspl/simplenotes/template.js +75 -0
- data/lib/middleman-core/templates/shared/Gemfile.tt +14 -0
- data/lib/middleman-core/templates/shared/config.ru +4 -0
- data/lib/middleman-core/templates/shared/config.tt +87 -0
- data/lib/middleman-core/templates/shared/gitignore +18 -0
- data/lib/middleman-core/util.rb +286 -0
- data/lib/middleman-core/version.rb +5 -0
- data/lib/middleman-more/core_extensions/compass.rb +74 -0
- data/lib/middleman-more/core_extensions/default_helpers.rb +261 -0
- data/lib/middleman-more/core_extensions/i18n.rb +238 -0
- data/lib/middleman-more/extensions/asset_hash.rb +128 -0
- data/lib/middleman-more/extensions/asset_host.rb +50 -0
- data/lib/middleman-more/extensions/automatic_alt_tags.rb +27 -0
- data/lib/middleman-more/extensions/automatic_image_sizes.rb +41 -0
- data/lib/middleman-more/extensions/cache_buster.rb +55 -0
- data/lib/middleman-more/extensions/directory_indexes.rb +24 -0
- data/lib/middleman-more/extensions/gzip.rb +106 -0
- data/lib/middleman-more/extensions/lorem.rb +176 -0
- data/lib/middleman-more/extensions/minify_css.rb +78 -0
- data/lib/middleman-more/extensions/minify_javascript.rb +88 -0
- data/lib/middleman-more/extensions/relative_assets.rb +28 -0
- data/lib/middleman-more/templates/smacss.rb +29 -0
- data/lib/middleman-more/templates/smacss/source/_footer.haml +1 -0
- data/lib/middleman-more/templates/smacss/source/index.html.haml +1 -0
- data/lib/middleman-more/templates/smacss/source/layouts/layout.haml +13 -0
- data/lib/middleman-more/templates/smacss/source/stylesheets/base/README.markdown +11 -0
- data/lib/middleman-more/templates/smacss/source/stylesheets/base/base.scss +1 -0
- data/lib/middleman-more/templates/smacss/source/stylesheets/base/normalize.scss +375 -0
- data/lib/middleman-more/templates/smacss/source/stylesheets/layout/README.markdown +9 -0
- data/lib/middleman-more/templates/smacss/source/stylesheets/modules/README.markdown +9 -0
- data/lib/middleman-more/templates/smacss/source/stylesheets/states/README.markdown +12 -0
- data/lib/middleman-more/templates/smacss/source/stylesheets/style.css.scss +12 -0
- data/lib/middleman/rack.rb +4 -0
- data/lib/vendored-middleman-deps/fastimage.rb +287 -0
- data/middleman-core.gemspec +43 -0
- data/spec/middleman-core/binary_spec.rb +15 -0
- data/spec/middleman-core/binary_spec/middleman +0 -0
- data/spec/middleman-core/binary_spec/middleman.png +0 -0
- data/spec/middleman-core/binary_spec/plain.txt +1 -0
- data/spec/middleman-core/binary_spec/stars.svgz +0 -0
- data/spec/middleman-core/binary_spec/unicode +1 -0
- data/spec/middleman-core/binary_spec/unicode.txt +1 -0
- data/spec/spec_helper.rb +5 -0
- metadata +1268 -0
@@ -0,0 +1,150 @@
|
|
1
|
+
require 'active_support/core_ext/object/inclusion'
|
2
|
+
|
3
|
+
module Middleman
|
4
|
+
module Sitemap
|
5
|
+
# Code adapted from https://github.com/ralph/document_mapper/
|
6
|
+
module Queryable
|
7
|
+
OPERATOR_MAPPING = {
|
8
|
+
'equal' => :==,
|
9
|
+
'gt' => :>,
|
10
|
+
'gte' => :>=,
|
11
|
+
'in' => :in?,
|
12
|
+
'include' => :include?,
|
13
|
+
'lt' => :<,
|
14
|
+
'lte' => :<=
|
15
|
+
}
|
16
|
+
|
17
|
+
VALID_OPERATORS = OPERATOR_MAPPING.keys
|
18
|
+
|
19
|
+
FileNotFoundError = Class.new StandardError
|
20
|
+
OperatorNotSupportedError = Class.new StandardError
|
21
|
+
|
22
|
+
module API
|
23
|
+
def select(options={})
|
24
|
+
documents = resources.select { |r| !r.raw_data.empty? }
|
25
|
+
options[:where].each do |selector, selector_value|
|
26
|
+
documents = documents.select do |document|
|
27
|
+
next unless document.raw_data.key? selector.attribute
|
28
|
+
document_value = document.raw_data[selector.attribute]
|
29
|
+
operator = OPERATOR_MAPPING[selector.operator]
|
30
|
+
document_value.send operator, selector_value
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
if options[:order_by].present?
|
35
|
+
order_attribute = options[:order_by].keys.first
|
36
|
+
asc_or_desc = options[:order_by].values.first
|
37
|
+
documents = documents.select do |document|
|
38
|
+
document.raw_data.include? order_attribute
|
39
|
+
end
|
40
|
+
documents = documents.sort_by do |document|
|
41
|
+
document.raw_data[order_attribute]
|
42
|
+
end
|
43
|
+
documents.reverse! if asc_or_desc == :desc
|
44
|
+
end
|
45
|
+
|
46
|
+
documents
|
47
|
+
end
|
48
|
+
|
49
|
+
def where(hash)
|
50
|
+
Query.new(self).where(hash)
|
51
|
+
end
|
52
|
+
|
53
|
+
def order_by(field)
|
54
|
+
Query.new(self).order_by(field)
|
55
|
+
end
|
56
|
+
|
57
|
+
def offset(number)
|
58
|
+
Query.new(self).offset(number)
|
59
|
+
end
|
60
|
+
|
61
|
+
def limit(number)
|
62
|
+
Query.new(self).limit(number)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
class Query
|
67
|
+
def initialize(model, opts={})
|
68
|
+
@model = model
|
69
|
+
@where = opts[:where] || {}
|
70
|
+
@order_by = opts[:order_by]
|
71
|
+
@offset = opts[:offset]
|
72
|
+
@limit = opts[:limit]
|
73
|
+
end
|
74
|
+
|
75
|
+
def where(constraints_hash)
|
76
|
+
selector_hash = constraints_hash.reject { |key, _| !key.is_a? Selector }
|
77
|
+
symbol_hash = constraints_hash.reject { |key, _| key.is_a? Selector }
|
78
|
+
symbol_hash.each do |attribute, value|
|
79
|
+
selector = Selector.new(attribute: attribute, operator: 'equal')
|
80
|
+
selector_hash.update(selector => value)
|
81
|
+
end
|
82
|
+
Query.new @model, opts(where: @where.merge(selector_hash))
|
83
|
+
end
|
84
|
+
|
85
|
+
def opts(new_opts)
|
86
|
+
{ where: {}.merge(@where),
|
87
|
+
order_by: @order_by,
|
88
|
+
offset: @offset,
|
89
|
+
limit: @limit
|
90
|
+
}.merge(new_opts)
|
91
|
+
end
|
92
|
+
|
93
|
+
def order_by(field)
|
94
|
+
Query.new @model, opts(order_by: field.is_a?(Symbol) ? { field => :asc } : field)
|
95
|
+
end
|
96
|
+
|
97
|
+
def offset(number)
|
98
|
+
Query.new @model, opts(offset: number)
|
99
|
+
end
|
100
|
+
|
101
|
+
def limit(number)
|
102
|
+
Query.new @model, opts(limit: number)
|
103
|
+
end
|
104
|
+
|
105
|
+
def first
|
106
|
+
all.first
|
107
|
+
end
|
108
|
+
|
109
|
+
def last
|
110
|
+
all.last
|
111
|
+
end
|
112
|
+
|
113
|
+
def all
|
114
|
+
result = @model.select(where: @where, order_by: @order_by)
|
115
|
+
result = result.last([result.size - @offset, 0].max) if @offset.present?
|
116
|
+
result = result.first(@limit) if @limit.present?
|
117
|
+
result
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
class Selector
|
122
|
+
attr_reader :attribute, :operator
|
123
|
+
|
124
|
+
def initialize(opts={})
|
125
|
+
unless VALID_OPERATORS.include? opts[:operator]
|
126
|
+
raise OperatorNotSupportedError
|
127
|
+
end
|
128
|
+
@attribute, @operator = opts[:attribute], opts[:operator]
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
# Add operators to symbol objects
|
136
|
+
class Symbol
|
137
|
+
Middleman::Sitemap::Queryable::VALID_OPERATORS.each do |operator|
|
138
|
+
class_eval <<-OPERATORS
|
139
|
+
def #{operator}
|
140
|
+
Middleman::Sitemap::Queryable::Selector.new(:attribute => self, :operator => '#{operator}')
|
141
|
+
end
|
142
|
+
OPERATORS
|
143
|
+
end
|
144
|
+
|
145
|
+
unless method_defined?(:"<=>")
|
146
|
+
def <=>(other)
|
147
|
+
to_s <=> other.to_s
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
@@ -0,0 +1,155 @@
|
|
1
|
+
require 'middleman-core/sitemap/extensions/traversal'
|
2
|
+
require 'middleman-core/sitemap/extensions/content_type'
|
3
|
+
|
4
|
+
module Middleman
|
5
|
+
# Sitemap namespace
|
6
|
+
module Sitemap
|
7
|
+
# Sitemap Resource class
|
8
|
+
class Resource
|
9
|
+
include Middleman::Sitemap::Extensions::Traversal
|
10
|
+
include Middleman::Sitemap::Extensions::ContentType
|
11
|
+
|
12
|
+
# @return [Middleman::Application]
|
13
|
+
attr_reader :app
|
14
|
+
delegate :logger, :instrument, to: :app
|
15
|
+
|
16
|
+
# @return [Middleman::Sitemap::Store]
|
17
|
+
attr_reader :store
|
18
|
+
|
19
|
+
# The source path of this resource (relative to the source directory,
|
20
|
+
# without template extensions)
|
21
|
+
# @return [String]
|
22
|
+
attr_reader :path
|
23
|
+
|
24
|
+
# The output path for this resource
|
25
|
+
# @return [String]
|
26
|
+
attr_accessor :destination_path
|
27
|
+
|
28
|
+
# Set the on-disk source file for this resource
|
29
|
+
# @return [String]
|
30
|
+
# attr_reader :source_file
|
31
|
+
|
32
|
+
def source_file
|
33
|
+
@source_file || get_source_file
|
34
|
+
end
|
35
|
+
|
36
|
+
# Initialize resource with parent store and URL
|
37
|
+
# @param [Middleman::Sitemap::Store] store
|
38
|
+
# @param [String] path
|
39
|
+
# @param [String] source_file
|
40
|
+
def initialize(store, path, source_file=nil)
|
41
|
+
@store = store
|
42
|
+
@app = @store.app
|
43
|
+
@path = path.gsub(' ', '%20') # handle spaces in filenames
|
44
|
+
@source_file = source_file
|
45
|
+
@destination_path = @path
|
46
|
+
|
47
|
+
@local_metadata = { options: {}, locals: {}, page: {}, blocks: [] }
|
48
|
+
end
|
49
|
+
|
50
|
+
# Whether this resource has a template file
|
51
|
+
# @return [Boolean]
|
52
|
+
def template?
|
53
|
+
return false if source_file.nil?
|
54
|
+
!::Tilt[source_file].nil?
|
55
|
+
end
|
56
|
+
|
57
|
+
# Get the metadata for both the current source_file and the current path
|
58
|
+
# @return [Hash]
|
59
|
+
def metadata
|
60
|
+
result = store.metadata_for_path(path).dup
|
61
|
+
|
62
|
+
file_meta = store.metadata_for_file(source_file).dup
|
63
|
+
result[:blocks] += file_meta.delete(:blocks) if file_meta.key?(:blocks)
|
64
|
+
result.deep_merge!(file_meta)
|
65
|
+
|
66
|
+
local_meta = @local_metadata.dup
|
67
|
+
result[:blocks] += local_meta.delete(:blocks) if local_meta.key?(:blocks)
|
68
|
+
result.deep_merge!(local_meta)
|
69
|
+
|
70
|
+
result[:blocks] = result[:blocks].flatten.compact
|
71
|
+
result
|
72
|
+
end
|
73
|
+
|
74
|
+
# Merge in new metadata specific to this resource.
|
75
|
+
# @param [Hash] metadata A metadata block like provides_metadata_for_path takes
|
76
|
+
def add_metadata(metadata={}, &block)
|
77
|
+
metadata = metadata.dup
|
78
|
+
@local_metadata[:blocks] += metadata.delete(:blocks) if metadata.key?(:blocks)
|
79
|
+
@local_metadata.deep_merge!(metadata)
|
80
|
+
@local_metadata[:blocks] += [block] if block_given?
|
81
|
+
end
|
82
|
+
|
83
|
+
# The output/preview URL for this resource
|
84
|
+
# @return [String]
|
85
|
+
attr_accessor :destination_path
|
86
|
+
|
87
|
+
# Extension of the path (i.e. '.js')
|
88
|
+
# @return [String]
|
89
|
+
def ext
|
90
|
+
File.extname(path)
|
91
|
+
end
|
92
|
+
|
93
|
+
def request_path
|
94
|
+
destination_path
|
95
|
+
end
|
96
|
+
|
97
|
+
# Render this resource
|
98
|
+
# @return [String]
|
99
|
+
def render(opts={}, locs={}, &block)
|
100
|
+
return app.template_data_for_file(source_file) unless template?
|
101
|
+
|
102
|
+
relative_source = Pathname(source_file).relative_path_from(Pathname(app.root))
|
103
|
+
|
104
|
+
instrument 'render.resource', path: relative_source, destination_path: destination_path do
|
105
|
+
md = metadata.dup
|
106
|
+
opts = md[:options].deep_merge(opts)
|
107
|
+
|
108
|
+
# Pass "renderer_options" hash from frontmatter along to renderer
|
109
|
+
if md[:page]['renderer_options']
|
110
|
+
opts[:renderer_options] = {}
|
111
|
+
md[:page]['renderer_options'].each do |k, v|
|
112
|
+
opts[:renderer_options][k.to_sym] = v
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
locs = md[:locals].deep_merge(locs)
|
117
|
+
|
118
|
+
# Forward remaining data to helpers
|
119
|
+
app.data.store('page', md[:page]) if md.key?(:page)
|
120
|
+
|
121
|
+
blocks = Array(md[:blocks]).dup
|
122
|
+
blocks << block if block_given?
|
123
|
+
|
124
|
+
app.current_path ||= destination_path
|
125
|
+
|
126
|
+
# Certain output file types don't use layouts
|
127
|
+
unless opts.key?(:layout)
|
128
|
+
opts[:layout] = false if %w(.js .json .css .txt).include?(ext)
|
129
|
+
end
|
130
|
+
|
131
|
+
app.render_template(source_file, locs, opts, blocks)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
# A path without the directory index - so foo/index.html becomes
|
136
|
+
# just foo. Best for linking.
|
137
|
+
# @return [String]
|
138
|
+
def url
|
139
|
+
url_path = destination_path
|
140
|
+
if app.strip_index_file
|
141
|
+
url_path = url_path.sub(/(^|\/)#{Regexp.escape(app.index_file)}$/,
|
142
|
+
app.trailing_slash ? '/' : '')
|
143
|
+
end
|
144
|
+
File.join(app.respond_to?(:http_prefix) ? app.http_prefix : '/', url_path)
|
145
|
+
end
|
146
|
+
|
147
|
+
# Whether the source file is binary.
|
148
|
+
#
|
149
|
+
# @return [Boolean]
|
150
|
+
def binary?
|
151
|
+
::Middleman::Util.binary?(source_file)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
@@ -0,0 +1,279 @@
|
|
1
|
+
# Used for merging results of metadata callbacks
|
2
|
+
require 'active_support/core_ext/hash/deep_merge'
|
3
|
+
require 'monitor'
|
4
|
+
require 'middleman-core/sitemap/queryable'
|
5
|
+
|
6
|
+
module Middleman
|
7
|
+
# Sitemap namespace
|
8
|
+
module Sitemap
|
9
|
+
# The Store class
|
10
|
+
#
|
11
|
+
# The Store manages a collection of Resource objects, which represent
|
12
|
+
# individual items in the sitemap. Resources are indexed by "source path",
|
13
|
+
# which is the path relative to the source directory, minus any template
|
14
|
+
# extensions. All "path" parameters used in this class are source paths.
|
15
|
+
class Store
|
16
|
+
# @return [Middleman::Application]
|
17
|
+
attr_accessor :app
|
18
|
+
|
19
|
+
include ::Middleman::Sitemap::Queryable::API
|
20
|
+
|
21
|
+
# Initialize with parent app
|
22
|
+
# @param [Middleman::Application] app
|
23
|
+
def initialize(app)
|
24
|
+
@app = app
|
25
|
+
@resources = []
|
26
|
+
@_cached_metadata = {}
|
27
|
+
@resource_list_manipulators = []
|
28
|
+
@needs_sitemap_rebuild = true
|
29
|
+
@lock = Monitor.new
|
30
|
+
|
31
|
+
reset_lookup_cache!
|
32
|
+
|
33
|
+
# Register classes which can manipulate the main site map list
|
34
|
+
register_resource_list_manipulator(:on_disk, Middleman::Sitemap::Extensions::OnDisk.new(self))
|
35
|
+
|
36
|
+
# Request Endpoints
|
37
|
+
register_resource_list_manipulator(:request_endpoints, @app.endpoint_manager)
|
38
|
+
|
39
|
+
# Proxies
|
40
|
+
register_resource_list_manipulator(:proxies, @app.proxy_manager)
|
41
|
+
|
42
|
+
# Redirects
|
43
|
+
register_resource_list_manipulator(:redirects, @app.redirect_manager)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Register a klass which can manipulate the main site map list. Best to register
|
47
|
+
# these in a before_configuration or after_configuration hook.
|
48
|
+
#
|
49
|
+
# @param [Symbol] name Name of the manipulator for debugging
|
50
|
+
# @param [Class, Module] inst Abstract namespace which can update the resource list
|
51
|
+
# @return [void]
|
52
|
+
def register_resource_list_manipulator(name, inst, *)
|
53
|
+
@resource_list_manipulators << [name, inst]
|
54
|
+
rebuild_resource_list!(:registered_new)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Rebuild the list of resources from scratch, using registed manipulators
|
58
|
+
# rubocop:disable UnusedMethodArgument
|
59
|
+
# @return [void]
|
60
|
+
def rebuild_resource_list!(reason=nil)
|
61
|
+
@lock.synchronize do
|
62
|
+
@needs_sitemap_rebuild = true
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# Find a resource given its original path
|
67
|
+
# @param [String] request_path The original path of a resource.
|
68
|
+
# @return [Middleman::Sitemap::Resource]
|
69
|
+
def find_resource_by_path(request_path)
|
70
|
+
@lock.synchronize do
|
71
|
+
request_path = ::Middleman::Util.normalize_path(request_path)
|
72
|
+
ensure_resource_list_updated!
|
73
|
+
@_lookup_by_path[request_path]
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# Find a resource given its destination path
|
78
|
+
# @param [String] request_path The destination (output) path of a resource.
|
79
|
+
# @return [Middleman::Sitemap::Resource]
|
80
|
+
def find_resource_by_destination_path(request_path)
|
81
|
+
@lock.synchronize do
|
82
|
+
request_path = ::Middleman::Util.normalize_path(request_path)
|
83
|
+
ensure_resource_list_updated!
|
84
|
+
@_lookup_by_destination_path[request_path]
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# Get the array of all resources
|
89
|
+
# @param [Boolean] include_ignored Whether to include ignored resources
|
90
|
+
# @return [Array<Middleman::Sitemap::Resource>]
|
91
|
+
def resources(include_ignored=false)
|
92
|
+
@lock.synchronize do
|
93
|
+
ensure_resource_list_updated!
|
94
|
+
if include_ignored
|
95
|
+
@resources
|
96
|
+
else
|
97
|
+
@resources_not_ignored ||= @resources.reject(&:ignored?)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
# Invalidate our cached view of resource that are not ingnored. If your extension
|
103
|
+
# adds ways to ignore files, you should call this to make sure #resources works right.
|
104
|
+
def invalidate_resources_not_ignored_cache!
|
105
|
+
@resources_not_ignored = nil
|
106
|
+
end
|
107
|
+
|
108
|
+
# Register a handler to provide metadata on a file path
|
109
|
+
# @param [Regexp] matcher
|
110
|
+
# @return [Array<Array<Proc, Regexp>>]
|
111
|
+
def provides_metadata(matcher=nil, &block)
|
112
|
+
@_provides_metadata ||= []
|
113
|
+
@_provides_metadata << [block, matcher] if block_given?
|
114
|
+
@_provides_metadata
|
115
|
+
end
|
116
|
+
|
117
|
+
# Get the metadata for a specific file
|
118
|
+
# @param [String] source_file
|
119
|
+
# @return [Hash]
|
120
|
+
def metadata_for_file(source_file)
|
121
|
+
blank_metadata = { options: {}, locals: {}, page: {}, blocks: [] }
|
122
|
+
|
123
|
+
provides_metadata.reduce(blank_metadata) do |result, (callback, matcher)|
|
124
|
+
next result if matcher && !source_file.match(matcher)
|
125
|
+
|
126
|
+
metadata = callback.call(source_file).dup
|
127
|
+
|
128
|
+
if metadata.key?(:blocks)
|
129
|
+
result[:blocks] << metadata[:blocks]
|
130
|
+
metadata.delete(:blocks)
|
131
|
+
end
|
132
|
+
|
133
|
+
result.deep_merge(metadata)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
# Register a handler to provide metadata on a url path
|
138
|
+
# @param [Regexp] matcher
|
139
|
+
# @return [Array<Array<Proc, Regexp>>]
|
140
|
+
def provides_metadata_for_path(matcher=nil, &block)
|
141
|
+
@_provides_metadata_for_path ||= []
|
142
|
+
if block_given?
|
143
|
+
@_provides_metadata_for_path << [block, matcher]
|
144
|
+
@_cached_metadata = {}
|
145
|
+
end
|
146
|
+
@_provides_metadata_for_path
|
147
|
+
end
|
148
|
+
|
149
|
+
# Get the metadata for a specific URL
|
150
|
+
# @param [String] request_path
|
151
|
+
# @return [Hash]
|
152
|
+
def metadata_for_path(request_path)
|
153
|
+
return @_cached_metadata[request_path] if @_cached_metadata[request_path]
|
154
|
+
|
155
|
+
blank_metadata = { options: {}, locals: {}, page: {}, blocks: [] }
|
156
|
+
|
157
|
+
@_cached_metadata[request_path] = provides_metadata_for_path.reduce(blank_metadata) do |result, (callback, matcher)|
|
158
|
+
case matcher
|
159
|
+
when Regexp
|
160
|
+
next result unless request_path =~ matcher
|
161
|
+
when String
|
162
|
+
next result unless File.fnmatch('/' + Util.strip_leading_slash(matcher), "/#{request_path}")
|
163
|
+
end
|
164
|
+
|
165
|
+
metadata = callback.call(request_path).dup
|
166
|
+
|
167
|
+
result[:blocks] += Array(metadata.delete(:blocks))
|
168
|
+
|
169
|
+
result.deep_merge(metadata)
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
# Get the URL path for an on-disk file
|
174
|
+
# @param [String] file
|
175
|
+
# @return [String]
|
176
|
+
def file_to_path(file)
|
177
|
+
file = File.expand_path(file, @app.root)
|
178
|
+
|
179
|
+
prefix = @app.source_dir.sub(/\/$/, '') + '/'
|
180
|
+
return false unless file.start_with?(prefix)
|
181
|
+
|
182
|
+
path = file.sub(prefix, '')
|
183
|
+
|
184
|
+
# Replace a file name containing automatic_directory_matcher with a folder
|
185
|
+
unless @app.config[:automatic_directory_matcher].nil?
|
186
|
+
path = path.gsub(@app.config[:automatic_directory_matcher], '/')
|
187
|
+
end
|
188
|
+
|
189
|
+
extensionless_path(path)
|
190
|
+
end
|
191
|
+
|
192
|
+
# Get a path without templating extensions
|
193
|
+
# @param [String] file
|
194
|
+
# @return [String]
|
195
|
+
def extensionless_path(file)
|
196
|
+
path = file.dup
|
197
|
+
path = remove_templating_extensions(path)
|
198
|
+
|
199
|
+
# If there is no extension, look for one
|
200
|
+
path = find_extension(path, file) if File.extname(strip_away_locale(path)).empty?
|
201
|
+
path
|
202
|
+
end
|
203
|
+
|
204
|
+
# Actually update the resource list, assuming anything has called
|
205
|
+
# rebuild_resource_list! since the last time it was run. This is
|
206
|
+
# very expensive!
|
207
|
+
def ensure_resource_list_updated!
|
208
|
+
@lock.synchronize do
|
209
|
+
return unless @needs_sitemap_rebuild
|
210
|
+
@needs_sitemap_rebuild = false
|
211
|
+
|
212
|
+
@app.logger.debug '== Rebuilding resource list'
|
213
|
+
|
214
|
+
@resources = @resource_list_manipulators.reduce([]) do |result, (_, inst)|
|
215
|
+
newres = inst.manipulate_resource_list(result)
|
216
|
+
|
217
|
+
# Reset lookup cache
|
218
|
+
reset_lookup_cache!
|
219
|
+
newres.each do |resource|
|
220
|
+
@_lookup_by_path[resource.path] = resource
|
221
|
+
@_lookup_by_destination_path[resource.destination_path] = resource
|
222
|
+
end
|
223
|
+
|
224
|
+
newres
|
225
|
+
end
|
226
|
+
|
227
|
+
invalidate_resources_not_ignored_cache!
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
private
|
232
|
+
|
233
|
+
def reset_lookup_cache!
|
234
|
+
@lock.synchronize {
|
235
|
+
@_lookup_by_path = {}
|
236
|
+
@_lookup_by_destination_path = {}
|
237
|
+
}
|
238
|
+
end
|
239
|
+
|
240
|
+
# Removes the templating extensions, while keeping the others
|
241
|
+
# @param [String] path
|
242
|
+
# @return [String]
|
243
|
+
def remove_templating_extensions(path)
|
244
|
+
# Strip templating extensions as long as Tilt knows them
|
245
|
+
path = path.sub(File.extname(path), '') while ::Tilt[path]
|
246
|
+
path
|
247
|
+
end
|
248
|
+
|
249
|
+
# Remove the locale token from the end of the path
|
250
|
+
# @param [String] path
|
251
|
+
# @return [String]
|
252
|
+
def strip_away_locale(path)
|
253
|
+
if @app.respond_to? :langs
|
254
|
+
path_bits = path.split('.')
|
255
|
+
lang = path_bits.last
|
256
|
+
return path_bits[0..-2].join('.') if @app.langs.include?(lang.to_sym)
|
257
|
+
end
|
258
|
+
|
259
|
+
path
|
260
|
+
end
|
261
|
+
|
262
|
+
# Finds an extension for path according to file's extension
|
263
|
+
# @param [String] path without extension
|
264
|
+
# @param [String] file path with original extensions
|
265
|
+
def find_extension(path, file)
|
266
|
+
input_ext = File.extname(file)
|
267
|
+
|
268
|
+
unless input_ext.empty?
|
269
|
+
input_ext = input_ext.split('.').last.to_sym
|
270
|
+
if @app.template_extensions.key?(input_ext)
|
271
|
+
path << ".#{@app.template_extensions[input_ext]}"
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
275
|
+
path
|
276
|
+
end
|
277
|
+
end
|
278
|
+
end
|
279
|
+
end
|