Website/src/pages/[...slug].astro

73 Zeilen
1.5 KiB
Plaintext

2023-10-01 10:04:04 +02:00
---
import { getCollection } from 'astro:content'
import NavbarLayout from "../layouts/NavbarLayout.astro";
2023-10-12 21:02:57 +02:00
import {astroI18n, createGetStaticPaths} from "astro-i18n";
2023-10-01 10:04:04 +02:00
2023-10-12 21:02:57 +02:00
export const getStaticPaths = async () => {
2023-10-01 10:04:04 +02:00
let posts = await getCollection("pages");
2023-10-12 21:02:57 +02:00
return posts.filter(value => value.id.split("/")[0] === astroI18n.locale).map((page) => ({
2023-10-01 10:04:04 +02:00
props: { page }, params: { slug: page.slug }
}) )
}
const { page } = Astro.props;
const { Content } = await page.render();
---
<NavbarLayout title={page.data.title}>
<article>
<h1 class="text-left">{page.data.title}</h1>
<Content />
</article>
</NavbarLayout>
<style is:global>
article {
width: clamp(75%, 25rem, 100vw);
@apply mx-auto bg-gray-100 px-4 py-8 rounded-b-md shadow-md pt-40 sm:pt-28 md:pt-14
dark:text-white dark:bg-neutral-900;
2023-10-12 21:02:57 +02:00
p {
@apply my-4 leading-7;
}
2023-10-01 10:04:04 +02:00
h1 {
@apply text-4xl font-bold mt-4 text-center;
}
2023-10-12 21:02:57 +02:00
2023-10-01 10:04:04 +02:00
h2 {
@apply text-3xl font-bold mt-4;
}
2023-10-12 21:02:57 +02:00
2023-10-01 10:04:04 +02:00
h3 {
@apply text-2xl font-bold mt-4;
}
2023-10-12 21:02:57 +02:00
2023-10-01 10:04:04 +02:00
h4 {
@apply text-xl font-bold mt-4;
}
a {
@apply text-blue-500 hover:text-blue-700;
}
2023-10-12 21:02:57 +02:00
ol>li, ul>li {
@apply ml-4;
}
ol {
@apply list-decimal;
}
ul {
@apply list-disc;
}
2023-10-01 10:04:04 +02:00
pre.astro-code {
2023-10-12 21:02:57 +02:00
@apply w-fit p-4 rounded-md border-2 border-gray-600 my-4;
2023-10-01 10:04:04 +02:00
}
}
</style>