diff --git a/middleman-core/features/sitemap_traversal.features b/middleman-core/features/sitemap_traversal.feature similarity index 74% rename from middleman-core/features/sitemap_traversal.features rename to middleman-core/features/sitemap_traversal.feature index 73cda82c..d6e94637 100644 --- a/middleman-core/features/sitemap_traversal.features +++ b/middleman-core/features/sitemap_traversal.feature @@ -3,6 +3,7 @@ Feature: Step through sitemap as a tree Scenario: Root Given the Server is running at "traversal-app" When I go to "/index.html" + Then I should see "Path: index.html" Then I should not see "Parent: index.html" Then I should see "Child: sub/index.html" Then I should see "Child: root.html" @@ -11,6 +12,7 @@ Feature: Step through sitemap as a tree Scenario: Directories have children and a parent Given the Server is running at "traversal-app" When I go to "/sub/index.html" + Then I should see "Path: sub/index.html" Then I should see "Parent: index.html" Then I should see "Child: sub/fake.html" Then I should see "Child: sub/fake2.html" @@ -18,41 +20,38 @@ Feature: Step through sitemap as a tree Then I should see "Child: sub/sibling2.html" Then I should see "Child: sub/sub2/index.html" Then I should see "Sibling: root.html" - - Scenario: Page has siblings + + Scenario: Directory accessed without index.html Given the Server is running at "traversal-app" - When I go to "/sub/sibling.html" + When I go to "/sub/" + Then I should see "Path: sub/index.html" + Then I should see "Parent: index.html" + Then I should see "Child: sub/fake.html" + Then I should see "Child: sub/fake2.html" + Then I should see "Child: sub/sibling.html" + Then I should see "Child: sub/sibling2.html" + Then I should see "Child: sub/sub2/index.html" + Then I should see "Sibling: root.html" + + Scenario: Page has siblings, parent, and source file + Given the Server is running at "traversal-app" + When I go to "/sub/sibling/" + Then I should see "Parent: sub/index.html" Then I should see "Sibling: sub/fake.html" Then I should see "Sibling: sub/fake2.html" Then I should see "Sibling: sub/sibling2.html" Then I should see "Sibling: sub/sub2/index.html" + Then I should see "Source: source/sub/sibling.html.erb" - Scenario: Proxied page has siblings + Scenario: Proxied page has siblings, parent, and source file Given the Server is running at "traversal-app" - When I go to "/sub/fake.html" + When I go to "/sub/fake/" + Then I should see "Path: sub/fake.html" + Then I should see "Parent: sub/index.html" Then I should see "Sibling: sub/fake2.html" Then I should see "Sibling: sub/sibling.html" Then I should see "Sibling: sub/sibling2.html" Then I should see "Sibling: sub/sub2/index.html" - - Scenario: Page has parent - Given the Server is running at "traversal-app" - When I go to "/sub/sibling.html" - Then I should see "Parent: sub/index.html" - - Scenario: Proxied page has parent - Given the Server is running at "traversal-app" - When I go to "/sub/fake.html" - Then I should see "Parent: sub/index.html" - - Scenario: Page has source_file - Given the Server is running at "traversal-app" - When I go to "/sub/sibling.html" - Then I should see "Source: source/sub/sibling.html.erb" - - Scenario: Proxied page has source_file - Given the Server is running at "traversal-app" - When I go to "/sub/fake.html" Then I should see "Source: source/proxied.html.erb" Scenario: Child pages have data @@ -64,6 +63,7 @@ Feature: Step through sitemap as a tree Scenario: When directory_index extension is active, child pages are found in named directory Given the Server is running at "traversal-app" When I go to "/directory-indexed" + Then I should see "Path: directory-indexed.html" Then I should see "Parent: index.html" Then I should see "Child: directory-indexed/fake.html" Then I should see "Child: directory-indexed/fake2.html" diff --git a/middleman-core/fixtures/traversal-app/source/layout.erb b/middleman-core/fixtures/traversal-app/source/layout.erb index c6daca12..8725e85f 100644 --- a/middleman-core/fixtures/traversal-app/source/layout.erb +++ b/middleman-core/fixtures/traversal-app/source/layout.erb @@ -1,3 +1,5 @@ +Path: <%= current_page.path %> + Source: <%= current_page.source_file.sub(root + "/", "") %> <% if current_page.parent %> diff --git a/middleman-core/lib/middleman-core/core_extensions/sitemap.rb b/middleman-core/lib/middleman-core/core_extensions/sitemap.rb index 188b26c1..89702606 100644 --- a/middleman-core/lib/middleman-core/core_extensions/sitemap.rb +++ b/middleman-core/lib/middleman-core/core_extensions/sitemap.rb @@ -64,7 +64,7 @@ module Middleman::CoreExtensions::Sitemap # Get the page object for the current path # @return [Middleman::Sitemap::Page] def current_page - sitemap.page(current_path) + sitemap.page_by_destination(current_path) end # Ignore a path, regex or callback diff --git a/middleman-more/features/ignore_already_minified.features b/middleman-more/features/ignore_already_minified.feature similarity index 100% rename from middleman-more/features/ignore_already_minified.features rename to middleman-more/features/ignore_already_minified.feature