Skip to content

Commit 81d5272

Browse files
authored
add reference layout (#50)
* add reference layout * fix
1 parent 13be348 commit 81d5272

File tree

3 files changed

+38
-44
lines changed

3 files changed

+38
-44
lines changed

src/layouts/ReferenceLayout.astro

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
import { type CollectionEntry } from "astro:content";
3+
import BaseLayout from "./BaseLayout.astro";
4+
import { makeReferencePageSlug } from "@pages/_utils";
5+
import { removeLocalePrefix } from "@i18n/utils";
6+
7+
type ReferenceEntry = CollectionEntry<"reference">;
8+
9+
interface Props {
10+
title: string;
11+
entries: ReferenceEntry[];
12+
}
13+
14+
const { entries, title } = Astro.props;
15+
---
16+
17+
<BaseLayout title={title}>
18+
<ul>
19+
{
20+
entries.map((refEntry) => (
21+
<li>
22+
<a
23+
href={`/reference${makeReferencePageSlug(removeLocalePrefix(refEntry.id))}`}
24+
>
25+
{refEntry.data.title}
26+
</a>
27+
</li>
28+
))
29+
}
30+
</ul>
31+
</BaseLayout>
+3-22
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
---
2-
import BaseLayout from "@layouts/BaseLayout.astro";
2+
import ReferenceLayout from "@layouts/ReferenceLayout.astro";
33
import { nonDefaultSupportedLocales } from "@i18n/const";
4-
import {
5-
getCollectionInLocaleWithFallbacks,
6-
makeReferencePageSlug,
7-
} from "@pages/_utils";
8-
import { removeLocalePrefix } from "@i18n/utils";
4+
import { getCollectionInLocaleWithFallbacks } from "@pages/_utils";
95
106
export async function getStaticPaths() {
117
const paths = nonDefaultSupportedLocales.map(async (locale) => ({
@@ -20,22 +16,7 @@ export async function getStaticPaths() {
2016
return await Promise.all(paths);
2117
}
2218
23-
const { locale } = Astro.params;
2419
const { entries } = Astro.props;
2520
---
2621

27-
<BaseLayout title="Reference">
28-
<ul>
29-
{
30-
entries.map((refEntry) => (
31-
<li>
32-
<a
33-
href={`/${locale}/reference${makeReferencePageSlug(removeLocalePrefix(refEntry.id))}`}
34-
>
35-
{refEntry.data.title}
36-
</a>
37-
</li>
38-
))
39-
}
40-
</ul>
41-
</BaseLayout>
22+
<ReferenceLayout title="Reference" entries={entries} />

src/pages/reference/index.astro

+4-22
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,8 @@
11
---
2-
import BaseLayout from "@layouts/BaseLayout.astro";
3-
import {
4-
getCollectionInDefaultLocale,
5-
makeReferencePageSlug,
6-
} from "@pages/_utils";
7-
import { removeLocalePrefix } from "@i18n/utils";
2+
import ReferenceLayout from "@layouts/ReferenceLayout.astro";
3+
import { getCollectionInDefaultLocale } from "@pages/_utils";
84
9-
const referenceEntries = await getCollectionInDefaultLocale("reference");
5+
const entries = await getCollectionInDefaultLocale("reference");
106
---
117

12-
<BaseLayout title="Reference">
13-
<ul>
14-
{
15-
referenceEntries.map((refEntry) => (
16-
<li>
17-
<a
18-
href={`/reference/${makeReferencePageSlug(removeLocalePrefix(refEntry.id))}`}
19-
>
20-
{refEntry.data.title}
21-
</a>
22-
</li>
23-
))
24-
}
25-
</ul>
26-
</BaseLayout>
8+
<ReferenceLayout title="Reference" entries={entries} />

0 commit comments

Comments
 (0)