Skip to content

Commit f954212

Browse files
authored
Merge pull request #973 from hydephp/add-baseRouteKey-helper-to-HydePage-class
Add static `HydePage::baseRouteKey()` helper method
2 parents b2557e3 + 26bdada commit f954212

File tree

10 files changed

+61
-1
lines changed

10 files changed

+61
-1
lines changed

packages/framework/src/Pages/Concerns/HydePage.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,14 @@ public static function path(string $path = ''): string
171171
return Hyde::path(unslash(static::sourceDirectory().'/'.unslash($path)));
172172
}
173173

174+
/**
175+
* Get the route key base for the page model.
176+
*/
177+
public static function baseRouteKey(): string
178+
{
179+
return static::outputDirectory();
180+
}
181+
174182
/**
175183
* Compile the page into static HTML.
176184
*

packages/framework/src/Support/Models/RouteKey.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ public function get(): string
4242
public static function fromPage(string $pageClass, string $identifier): self
4343
{
4444
/** @var \Hyde\Pages\Concerns\HydePage $pageClass */
45-
return new self(unslash($pageClass::outputDirectory().'/'.$identifier));
45+
return new self(unslash($pageClass::baseRouteKey().'/'.$identifier));
4646
}
4747
}

packages/framework/tests/Feature/HydePageTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,14 @@ public function testPath()
8585
);
8686
}
8787

88+
public function testBaseRouteKey()
89+
{
90+
$this->assertSame(
91+
TestPage::outputDirectory(),
92+
TestPage::baseRouteKey()
93+
);
94+
}
95+
8896
public function testGetSourcePath()
8997
{
9098
$this->assertSame(

packages/framework/tests/Unit/Pages/BaseHydePageUnitTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ protected function mockPageDataFactory(): PageDataFactory
2626

2727
abstract public function testPath();
2828

29+
abstract public function testBaseRouteKey();
30+
2931
abstract public function testGetBladeView();
3032

3133
abstract public function testSourcePath();

packages/framework/tests/Unit/Pages/BladePageUnitTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ public function testOutputDirectory()
2929
$this->assertSame('', BladePage::outputDirectory());
3030
}
3131

32+
public function testBaseRouteKey()
33+
{
34+
$this->assertSame('', BladePage::baseRouteKey());
35+
}
36+
3237
public function testFileExtension()
3338
{
3439
$this->assertSame('.blade.php', BladePage::fileExtension());

packages/framework/tests/Unit/Pages/DocumentationPageUnitTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ public function testOutputDirectory()
3030
$this->assertSame('docs', DocumentationPage::outputDirectory());
3131
}
3232

33+
public function testBaseRouteKey()
34+
{
35+
$this->assertSame('docs', DocumentationPage::baseRouteKey());
36+
}
37+
3338
public function testFileExtension()
3439
{
3540
$this->assertSame('.md', DocumentationPage::fileExtension());

packages/framework/tests/Unit/Pages/HtmlPageUnitTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ public function testOutputDirectory()
3535
);
3636
}
3737

38+
public function testBaseRouteKey()
39+
{
40+
$this->assertSame(
41+
'',
42+
HtmlPage::baseRouteKey()
43+
);
44+
}
45+
3846
public function testFileExtension()
3947
{
4048
$this->assertSame(

packages/framework/tests/Unit/Pages/InMemoryPageUnitTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ public function testOutputDirectory()
3838
);
3939
}
4040

41+
public function testBaseRouteKey()
42+
{
43+
$this->assertSame(
44+
'',
45+
InMemoryPage::baseRouteKey()
46+
);
47+
}
48+
4149
public function testFileExtension()
4250
{
4351
$this->assertSame(

packages/framework/tests/Unit/Pages/MarkdownPageUnitTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ public function testOutputDirectory()
3636
);
3737
}
3838

39+
public function testBaseRouteKey()
40+
{
41+
$this->assertSame(
42+
'',
43+
MarkdownPage::baseRouteKey()
44+
);
45+
}
46+
3947
public function testFileExtension()
4048
{
4149
$this->assertSame(

packages/framework/tests/Unit/Pages/MarkdownPostUnitTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ public function testOutputDirectory()
3636
);
3737
}
3838

39+
public function testBaseRouteKey()
40+
{
41+
$this->assertSame(
42+
'posts',
43+
MarkdownPost::baseRouteKey()
44+
);
45+
}
46+
3947
public function testFileExtension()
4048
{
4149
$this->assertSame(

0 commit comments

Comments
 (0)