Skip to content

Commit 7d4b63e

Browse files
committed
chore: fix dead links
1 parent e1c1d81 commit 7d4b63e

File tree

13 files changed

+27
-27
lines changed

13 files changed

+27
-27
lines changed

src/Web/Blog/articles/2024-10-31-alpha-3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ Finally, we've integrated the previously added cache component within several pa
233233
<em>Tempest\View\ViewCache</em> <error>disabled</error>
234234
```
235235

236-
You can read more about caching [here](/main/2-tempest-in-depth/04-caching).
236+
You can read more about caching [here](/main/features/cache).
237237

238238
## Up next
239239

src/Web/Blog/articles/2024-11-25-alpha-4.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ This caching strategy comes with one additional requirement: it will only work w
6969
<success>Done</success> 111 items cached
7070
```
7171

72-
The same manual generation is now also required when deploying to production with full discovery cache enabled. You can read more about automating this process in [the docs](/main/getting-started/getting-started#about-discovery). Finally, if you're interested in some more behind-the-scenes info and benchmarks, you can check out [the GitHub issue](https://github.com/tempestphp/tempest-framework/issues/395#issuecomment-2492127638).
72+
The same manual generation is now also required when deploying to production with full discovery cache enabled. You can read more about automating this process in [the docs](/main/getting-started/installation#about-discovery). Finally, if you're interested in some more behind-the-scenes info and benchmarks, you can check out [the GitHub issue](https://github.com/tempestphp/tempest-framework/issues/395#issuecomment-2492127638).
7373

7474
## Make Commands
7575

@@ -113,7 +113,7 @@ trait HasConsole
113113
}
114114
```
115115

116-
You can read more about when and when not to use this feature [in the docs](/main/essentials/container/#injected-properties).
116+
You can read more about when and when not to use this feature [in the docs](/main/essentials/container#injected-properties).
117117

118118
## `config:show` Command
119119

src/Web/Blog/articles/2025-03-08-static-websites-with-tempest.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,4 +134,4 @@ On a final note, you can always clean up the generated HTML files by running `{c
134134
<success>Done</success>
135135
```
136136

137-
It's a pretty cool feature that requires minimal effort, but will have a huge impact on your website's performance. If you want more insights into Tempest's static pages, you can head over to [the docs](/main/2-tempest-in-depth/10-static-pages) to learn more.
137+
It's a pretty cool feature that requires minimal effort, but will have a huge impact on your website's performance. If you want more insights into Tempest's static pages, you can head over to [the docs](/main/features/static-pages) to learn more.

src/Web/Blog/articles/2025-03-13-request-objects-in-tempest.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ return new SQLiteConfig(
164164
);
165165
```
166166

167-
Next, create a migration. For the sake of simplicity I like to use raw SQL migrations. You can read more about them [here](/main/1-essentials/05-models#migrations). These are discovered as well, so you can place them wherever suits you:
167+
Next, create a migration. For the sake of simplicity I like to use raw SQL migrations. You can read more about them [here](/main/essentials/database#migrations). These are discovered as well, so you can place them wherever suits you:
168168

169169
```sql
170170
-- app/Migrations/CreateBookTable.sql

src/Web/Documentation/content/main/1-essentials/01-routing.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ final readonly class AircraftController
7272

7373
### Route binding
7474

75-
In controller actions, you may want to receive an object instead of a scalar value such as an identifier. This is especially useful in the case of [models](/main/essentials/models) to avoid having to write the fetching logic in each controller.
75+
In controller actions, you may want to receive an object instead of a scalar value such as an identifier. This is especially useful in the case of [models](./03-database.md#models) to avoid having to write the fetching logic in each controller.
7676

7777
```php app/AircraftController.php
7878
use Tempest\Router\Get;
@@ -151,7 +151,7 @@ uri([AircraftController::class, 'show'], id: $aircraft->id);
151151
```
152152

153153
:::info
154-
Note that Tempest does not have named routes, and currently doesn't plan on adding them. However, if you have an argument for them, feel free to hop on our [Discord server](/discord) to discuss it.
154+
Note that Tempest does not have named routes, and currently doesn't plan on adding them. However, if you have an argument for them, feel free to hop on our [Discord server](/discord){:ssg-ignore="true"} to discuss it.
155155
:::
156156

157157
## Matching the current URI
@@ -181,7 +181,7 @@ A core pattern of any web application is to access data from the current request
181181

182182
In most situations, the data you expect to receive from a request is structured. You expect clients to send specific values, and you want them to follow specific rules.
183183

184-
The idiomatic way to achieve this is by using request classes. They are classes with public properties that correspond to the data you want to retrieve from the request. Tempest will automatically validate these properties using PHP's type system, in addition to optional [validation attributes](../1-tempest-in-depth/02-validation) if needed.
184+
The idiomatic way to achieve this is by using request classes. They are classes with public properties that correspond to the data you want to retrieve from the request. Tempest will automatically validate these properties using PHP's type system, in addition to optional [validation attributes](../2-features/06-validation) if needed.
185185

186186
A request class must implement {`Tempest\Router\Request`} and should use the {`Tempest\Router\IsRequest`} trait, which provides the default implementation.
187187

@@ -228,7 +228,7 @@ final readonly class AirportController
228228
```
229229

230230
:::info A note on data mapping
231-
The `map()` function is a powerful feature that sets Tempest apart. It allows mapping any data from any source into objects of your choice. You may read more about them in [their documentation](../1-tempest-in-depth/01-mapper).
231+
The `map()` function is a powerful feature that sets Tempest apart. It allows mapping any data from any source into objects of your choice. You may read more about them in [their documentation](../2-features/01-mapper.md).
232232
:::
233233

234234
### Retrieving data directly
@@ -348,7 +348,7 @@ final readonly class AircraftController
348348
}
349349
```
350350

351-
Tempest has a powerful templating system inspired by modern front-end frameworks. You may read more about views in their [dedicated chapter](./03-views).
351+
Tempest has a powerful templating system inspired by modern front-end frameworks. You may read more about views in their [dedicated chapter](./02-views.md).
352352

353353
### Using built-in response classes
354354

@@ -471,7 +471,7 @@ final readonly class JsonController
471471

472472
There are some situations in which you may need to act on a response right before it is sent to the client. For instance, you may want to display custom error error pages when an exception occurred, or redirect somewhere instead of displaying the [built-in HTTP 404](/hello-from-the-void){:ssg-ignore="true"} page.
473473

474-
This may be done using a response processor. Similar to [view processors](./03-views#pre-processing-views), they are classes that implement the {`Tempest\Response\ResponseProcessor`} interface. In the `process()` method, you may mutate and return the response object:
474+
This may be done using a response processor. Similar to [view processors](./02-views.md#pre-processing-views), they are classes that implement the {`Tempest\Response\ResponseProcessor`} interface. In the `process()` method, you may mutate and return the response object:
475475

476476
```php src/ErrorResponseProcessor.php
477477
use function Tempest\view;
@@ -555,7 +555,7 @@ Task deferring only works if [`fastcgi_finish_request()`](https://www.php.net/ma
555555

556556
## Testing
557557

558-
Tempest provides a router testing utility accessible through the `http` property of the [`IntegrationTest`](https://github.com/tempestphp/tempest-framework/blob/main/src/Tempest/Framework/Testing/IntegrationTest.php) test case. You may learn more about testing in the [dedicated chapter](./07-testing).
558+
Tempest provides a router testing utility accessible through the `http` property of the [`IntegrationTest`](https://github.com/tempestphp/tempest-framework/blob/main/src/Tempest/Framework/Testing/IntegrationTest.php) test case. You may learn more about testing in the [dedicated chapter](./07-testing.md).
559559

560560
The router testing utility provides methods for all HTTP verbs. These method return an instance of [`TestResponseHelper`](https://github.com/tempestphp/tempest-framework/blob/main/src/Tempest/Framework/Testing/Http/TestResponseHelper.php), giving access to multiple assertion methods.
561561

src/Web/Documentation/content/main/1-essentials/02-views.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Inside, a `x-post` [component](#view-components) is rendered multiple times than
4242

4343
## Rendering views
4444

45-
As specified in the documentation about [sending responses](./02-controllers#view-responses), views may be returned from controller actions using the `{php}view` function. This function is a shorthand for instantiating a {`Tempest\View\View`} object.
45+
As specified in the documentation about [sending responses](./01-routing.md#view-responses), views may be returned from controller actions using the `{php}view` function. This function is a shorthand for instantiating a {`Tempest\View\View`} object.
4646

4747
```php app/AircraftController.php
4848
use Tempest\Router\Get;
@@ -458,7 +458,7 @@ Iconify has a large collection of icon sets, which you may browse using the [Ic
458458

459459
### `x-vite-tags`
460460

461-
Tempest has built-in support for [Vite](https://vite.dev/), the most popular front-end development server and build tool. You may read more about [asset bundling](./04-asset-bundling) in the dedicated documentation.
461+
Tempest has built-in support for [Vite](https://vite.dev/), the most popular front-end development server and build tool. You may read more about [asset bundling](../2-features/05-asset-bundling.md) in the dedicated documentation.
462462

463463
This component simply inject registered entrypoints where it is called.
464464

@@ -514,7 +514,7 @@ Tempest views are always compiled to plain PHP code before being rendered. Durin
514514
{:hl-property:VIEW_CACHE:}={:hl-keyword:true:}
515515
```
516516

517-
During deployments, that cache must be cleared in order to not serve outdated views to users. You may do that by running `tempest view:clear` on every deploy. You can read more about caching and view caching in [the cache chapter](../1-tempest-in-depth/04-caching).
517+
During deployments, that cache must be cleared in order to not serve outdated views to users. You may do that by running `tempest view:clear` on every deploy.
518518

519519
## Using other engines
520520

@@ -615,7 +615,7 @@ return new ViewConfig(
615615

616616
#### Initializing your engine
617617

618-
The renderer will be called every time a view is rendered. If your engine has an initialization step, it may be a good idea to use a singleton [initializer](../1-essentials/01-container#dependency-initializers) to construct it.
618+
The renderer will be called every time a view is rendered. If your engine has an initialization step, it may be a good idea to use a singleton [initializer](../1-essentials/05-container.md#dependency-initializers) to construct it.
619619

620620
As an example, here is a simplified version of the initializer that creates the `Blade` object, used by the Blade renderer:
621621

src/Web/Documentation/content/main/1-essentials/03-database.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The ORM is currently experimental and is not covered by our backwards compatibil
1010

1111
## Overview
1212

13-
Tempest provides a database abstraction layer with support for PostgreSQL, MySQL and SQLite. Querying the database can be done using [raw SQL](#querying-the-database) or [our query builder](#database-persistence).
13+
Tempest provides a database abstraction layer with support for PostgreSQL, MySQL and SQLite. Querying the database can be done using [raw SQL](#querying-the-database) or [our query builder](#non-object-models).
1414

1515
Additionally, [database models](#models) are completely decoupled from the ORM.
1616

src/Web/Documentation/content/main/1-essentials/05-container.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Tempest has a dependency container capable of resolving dependencies without any
1111

1212
## Injecting dependencies
1313

14-
The constructors of classes resolved by the container may be any class or interface associated with a [dependency initializer](#dependency-initializers). Similarly, invoked methods such as [event handlers](../2-tempest-in-depth/07-events), [console commands](../3-console/02-building-console-commands) and invokable classes may also be called directly from the container.
14+
The constructors of classes resolved by the container may be any class or interface associated with a [dependency initializer](#dependency-initializers). Similarly, invoked methods such as [event handlers](../2-features/08-events.md), [console commands](../3-console/02-building-console-commands) and invokable classes may also be called directly from the container.
1515

1616
```php src/Aircraft/AircraftService.php
1717
use App\Aircraft\ExternalAircraftProvider;
@@ -288,7 +288,7 @@ $container->get(Highlighter::class, tag: 'cli');
288288

289289
Some components implement the {`Tempest\Container\HasTag`} interface, which requires a `tag` property. Singletons using this interface are tagged by the `tag` property, essentially providing the ability to have dynamic tags.
290290

291-
This is specifically useful to get multiple instances of the same configuration. This is how [multiple database connections support](../1-features/05-database.md#using-multiple-connections) is implemented.
291+
This is specifically useful to get multiple instances of the same configuration. This is how [multiple database connections support](../1-essentials/03-database.md#using-multiple-connections) is implemented.
292292

293293
## Built-in types dependencies
294294

src/Web/Documentation/content/main/1-essentials/07-testing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ keywords: ["phpunit", "pest"]
88

99
Tempest uses [PHPUnit](https://phpunit.de) for testing and provides an integration through the [`Tempest\Framework\Testing\IntegrationTest`](https://github.com/tempestphp/tempest-framework/blob/main/src/Tempest/Framework/Testing/IntegrationTest.php) test case. This class boots the framework with configuration suitable for testing, and provides access to multiple utilities.
1010

11-
Testing utilities specific to components are documented in their respective chapters. For instance, testing the router is described in the [routing documentation](./02-controllers#testing).
11+
Testing utilities specific to components are documented in their respective chapters. For instance, testing the router is described in the [routing documentation](./01-routing.md#testing).
1212

1313
## Running tests
1414

15-
If you created a Tempest application through the [recommended installation process](../0-getting-started/01-getting-started#installation), you already have access to `tests/IntegrationTestCase`, which your application tests can inherit from.
15+
If you created a Tempest application through the [recommended installation process](../0-getting-started/02-installation.md), you already have access to `tests/IntegrationTestCase`, which your application tests can inherit from.
1616

1717
In this case, you may use the `composer phpunit` command to run your test suite.
1818

src/Web/Documentation/content/main/2-features/02-file-storage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ return new S3StorageConfig(
2626

2727
In this example, the S3 credentials are specified in the `.env`, so a different bucket and credentials can be configured depending on the environment.
2828

29-
Once your storage is configured, you may interact with it by using the {`Tempest\Storage\Storage`} interface. This is usually done through [dependency injection](../1-features/01-container.md#injecting-dependencies):
29+
Once your storage is configured, you may interact with it by using the {`Tempest\Storage\Storage`} interface. This is usually done through [dependency injection](../1-essentials/05-container.md#injecting-dependencies):
3030

3131
```php src/UserService.php
3232
final readonly class UserService

0 commit comments

Comments
 (0)