From 2390b738c670346f3fd6d141c6edbeba0ef4702b Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Wed, 8 Mar 2023 12:20:36 +0100 Subject: [PATCH] Update pretty relative index links to rewrite to `.` instead of `/` Update pretty relative index links to rewrite to `.` instead of `/` so they are indeed relative --- packages/framework/src/Foundation/Kernel/Hyperlinks.php | 4 ++++ .../Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/framework/src/Foundation/Kernel/Hyperlinks.php b/packages/framework/src/Foundation/Kernel/Hyperlinks.php index 4d7a89ac522..253b34c4c2c 100644 --- a/packages/framework/src/Foundation/Kernel/Hyperlinks.php +++ b/packages/framework/src/Foundation/Kernel/Hyperlinks.php @@ -78,6 +78,10 @@ public function relativeLink(string $destination): string } $route .= $this->formatLink($destination); + if (Config::getBool('hyde.pretty_urls', false) === true && $route === '/') { + return '.'; + } + return str_replace('//', '/', $route); } diff --git a/packages/framework/tests/Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php b/packages/framework/tests/Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php index 7b3928e9084..e45c6e38b62 100644 --- a/packages/framework/tests/Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php +++ b/packages/framework/tests/Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php @@ -105,7 +105,7 @@ public function testHelperRewritesIndexWhenUsingPrettyUrls() { self::mockConfig(['hyde.pretty_urls' => true]); $this->mockCurrentPage('foo.html'); - $this->assertEquals('/', Hyde::relativeLink('index.html')); + $this->assertEquals('.', Hyde::relativeLink('index.html')); $this->mockCurrentPage('foo/bar.html'); $this->assertEquals('../', Hyde::relativeLink('index.html')); $this->mockCurrentPage('foo/bar/baz.html');