diff --git a/packages/framework/src/Framework/Factories/NavigationDataFactory.php b/packages/framework/src/Framework/Factories/NavigationDataFactory.php index 0a4a90a48c4..3c8267f8f75 100644 --- a/packages/framework/src/Framework/Factories/NavigationDataFactory.php +++ b/packages/framework/src/Framework/Factories/NavigationDataFactory.php @@ -89,9 +89,8 @@ protected function makeHidden(): bool { return $this->isInstanceOf(MarkdownPost::class) || $this->searchForHiddenInFrontMatter() - || in_array($this->routeKey, Config::getArray('hyde.navigation.exclude', ['404'])) - || (! $this->isInstanceOf(DocumentationPage::class) && $this->pageIsInSubdirectory() && ($this->getSubdirectoryConfiguration() === 'hidden')) - && (basename($this->identifier) !== 'index'); + || $this->isPageHiddenInNavigationConfiguration() + || $this->isNonDocumentationPageInHiddenSubdirectory(); } protected function makePriority(): int @@ -119,6 +118,19 @@ private function searchForHiddenInFrontMatter(): ?bool ?? $this->invert($this->getMatter('navigation.visible')); } + private function isPageHiddenInNavigationConfiguration(): ?bool + { + return in_array($this->routeKey, Config::getArray('hyde.navigation.exclude', ['404'])); + } + + private function isNonDocumentationPageInHiddenSubdirectory(): bool + { + return ! $this->isInstanceOf(DocumentationPage::class) + && $this->pageIsInSubdirectory() + && $this->getSubdirectoryConfiguration() === 'hidden' + && basename($this->identifier) !== 'index'; + } + private function searchForPriorityInFrontMatter(): ?int { return $this->getMatter('navigation.priority')