Skip to content

Commit

Permalink
Merge pull request #1472 from hydephp/add-documentation-index-page-to…
Browse files Browse the repository at this point in the history
…-sidebar-when-it-is-the-only-page

Add documentation index page to the sidebar when it's the only page
  • Loading branch information
caendesilva authored Nov 26, 2023
2 parents 34eaffb + 300694c commit a524c17
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ protected function generate(): void
$this->items->put($route->getRouteKey(), NavItem::fromRoute($route));
}
});

// If there are no pages other than the index page, we add it to the sidebar so that it's not empty
if ($this->items->count() === 0 && DocumentationPage::home() !== null) {
$this->items->push(NavItem::fromRoute(DocumentationPage::home(), group: 'other'));
}
}

public function hasGroups(): bool
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,31 @@ public function test_is_group_active_for_index_page_with_no_groups()
$this->assertFalse(DocumentationSidebar::create()->isGroupActive('foo'));
}

public function test_index_page_added_to_sidebar_when_it_is_the_only_page()
{
Filesystem::touch('_docs/index.md');
$sidebar = DocumentationSidebar::create();

$this->assertCount(1, $sidebar->items);
$this->assertEquals(
collect([NavItem::fromRoute(Routes::get('docs/index'))]),
$sidebar->items
);
}

public function test_index_page_not_added_to_sidebar_when_other_pages_exist()
{
$this->createTestFiles(1);
Filesystem::touch('_docs/index.md');
$sidebar = DocumentationSidebar::create();

$this->assertCount(1, $sidebar->items);
$this->assertEquals(
collect([NavItem::fromRoute(Routes::get('docs/test-0'))]),
$sidebar->items
);
}

protected function createTestFiles(int $count = 5): void
{
for ($i = 0; $i < $count; $i++) {
Expand Down

0 comments on commit a524c17

Please sign in to comment.