Skip to content

Commit 99a97a1

Browse files
committed
format a bit better
1 parent a3179da commit 99a97a1

File tree

1 file changed

+47
-49
lines changed

1 file changed

+47
-49
lines changed

exercises/06.seo/02.solution.nested/README.mdx

Lines changed: 47 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,53 +5,51 @@
55
👨‍💼 Great! Now we can customize the meta tags on our routes! Let's do a bit more
66
for our profile pages.
77

8-
<callout-warning>
9-
🦉 You'll notice that if you navigate to the `/users/kody` route, you'll see
10-
the `Profile | Epic Notes` in the title, which is expected. But if you
11-
navigate to a child path, like `/users/kody/notes`, you'll see only
12-
`Epic Notes` again. It may looks like this is an unexpected behavior as we
13-
might be expecting the children paths to inherit the parent's meta
14-
overrides.
15-
16-
## Use case: `/users/kody` and `/users/kody/notes`
17-
18-
Let's focus on `/users/kody` and `/users/kody/notes` URL paths case for a
19-
while: regardless they have a parent-child relationship in terms of their
20-
paths, they *do not* have the same relashionship in the REMIX's layout
21-
hierarchy. This is how our pages are organized in terms of files
22-
inside of the `routes` directory:
23-
24-
```shell
25-
/users/kody <=> routes/users+/$username.tsx
26-
/users/kody/notes <=> routes/users+/$username_+/notes.tsx
27-
```
28-
That little underscore in the name of the folder `$username_+` means that
29-
the pages inside of it don't use the layout defined in the
30-
`routes/users+/$username.tsx` file (and consequently, they won't use the
31-
meta override defined over there). In other words: they aren't
32-
"layout-nested", even when *they are* "url-nested". In summary:
33-
- In terms of URL path: `/users/kody/notes` *is* a child of `/users/kody`
34-
- In terms of layout: `/users/kody/notes` *is not* a child of `/users/kody`
35-
36-
The page in `/users/kody/notes` will, in fact, use the meta override from
37-
the first route module hierarchically above `routes/users+/$username.tsx`,
38-
which is the override we defined in the `root.tsx`. You can always have a
39-
better view of the layout-nesting by running `npx remix routes` in a
40-
terminal at the root of a remix project:
41-
42-
```shell
43-
➜ playground :> npx remix routes
44-
<Routes>
45-
<Route file="root.tsx">
46-
<Route index file="routes/index.tsx" />
47-
<Route path="resources/healthcheck" file="routes/resources+/healthcheck.tsx" />
48-
<Route path="users/:username" file="routes/users+/$username.tsx" />
49-
<Route path="users/:username/notes" file="routes/users+/$username_+/notes.tsx">
50-
<Route path=":noteId" file="routes/users+/$username_+/notes.$noteId.tsx" />
51-
<Route path=":noteId/edit" file="routes/users+/$username_+/notes.$noteId_.edit.tsx" />
52-
<Route index file="routes/users+/$username_+/notes.index.tsx" />
53-
</Route>
8+
🦉 You'll notice that if you navigate to the `/users/kody` route, you'll see the
9+
`Profile | Epic Notes` in the title, which is expected. But if you navigate to a
10+
child path, like `/users/kody/notes`, you'll see only `Epic Notes` again. It may
11+
look like this is an unexpected behavior as we might be expecting the children
12+
paths to inherit the parent's meta overrides.
13+
14+
## Use case: `/users/kody` and `/users/kody/notes`
15+
16+
Let's focus on `/users/kody` and `/users/kody/notes` URL paths case for a while:
17+
regardless they have a parent-child relationship in terms of their paths, they
18+
_do not_ have the same relashionship in the REMIX's layout hierarchy. This is
19+
how our pages are organized in terms of files inside of the `routes` directory:
20+
21+
```
22+
/users/kody <=> routes/users+/$username.tsx
23+
/users/kody/notes <=> routes/users+/$username_+/notes.tsx
24+
```
25+
26+
That little underscore in the name of the folder `$username_+` means that the
27+
pages inside of it don't use the layout defined in the
28+
`routes/users+/$username.tsx` file (and consequently, they won't use the meta
29+
override defined over there). In other words: they aren't "layout-nested", even
30+
when _they are_ "url-nested". In summary:
31+
32+
- In terms of URL path: `/users/kody/notes` _is_ a child of `/users/kody`
33+
- In terms of layout: `/users/kody/notes` _is not_ a child of `/users/kody`
34+
35+
The page in `/users/kody/notes` will, in fact, use the meta override from the
36+
first route module hierarchically above `routes/users+/$username.tsx`, which is
37+
the override we defined in the `root.tsx`. You can always have a better view of
38+
the layout-nesting by running `npx remix routes` in a terminal at the root of a
39+
remix project. Doing that you should get something like this:
40+
41+
{/* prettier-ignore */}
42+
```tsx
43+
<Routes>
44+
<Route file="root.tsx">
45+
<Route index file="routes/index.tsx" />
46+
<Route path="resources/healthcheck" file="routes/resources+/healthcheck.tsx" />
47+
<Route path="users/:username" file="routes/users+/$username.tsx" />
48+
<Route path="users/:username/notes" file="routes/users+/$username_+/notes.tsx">
49+
<Route path=":noteId" file="routes/users+/$username_+/notes.$noteId.tsx" />
50+
<Route path=":noteId/edit" file="routes/users+/$username_+/notes.$noteId_.edit.tsx" />
51+
<Route index file="routes/users+/$username_+/notes.index.tsx" />
5452
</Route>
55-
</Routes>
56-
```
57-
</callout-warning>
53+
</Route>
54+
</Routes>
55+
```

0 commit comments

Comments
 (0)