MDX Starter (#3)

Reviewed-on: mthomson/michaelthomson#3
Co-authored-by: Michael Thomson <michael@michaelthomson.dev>
Co-committed-by: Michael Thomson <michael@michaelthomson.dev>
This commit is contained in:
2024-01-18 14:01:49 +00:00
committed by mthomson
parent a9c847ad0b
commit a25eb1d730
8 changed files with 1529 additions and 90 deletions

17
app/blog/[slug]/page.tsx Normal file
View File

@@ -0,0 +1,17 @@
import { getAllPosts, getPostBySlug } from "@/lib/posts";
import { MDXRemote } from 'next-mdx-remote/rsc'
export async function generateStaticParams() {
const posts = getAllPosts(["slug"]);
return posts.map((post) => ({ slug: post.slug }));
}
export default async function Page({ params }: { params: { slug: string } }) {
const post = getPostBySlug(params.slug, ["title", "content"]);
return (
<MDXRemote
source={post.content}
/>
)
}

View File

@@ -1,27 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--foreground-rgb: 0, 0, 0;
--background-start-rgb: 214, 219, 220;
--background-end-rgb: 255, 255, 255;
}
@media (prefers-color-scheme: dark) {
:root {
--foreground-rgb: 255, 255, 255;
--background-start-rgb: 0, 0, 0;
--background-end-rgb: 0, 0, 0;
}
}
body {
color: rgb(var(--foreground-rgb));
background: linear-gradient(
to bottom,
transparent,
rgb(var(--background-end-rgb))
)
rgb(var(--background-start-rgb));
}

View File

@@ -5,8 +5,8 @@ import './globals.css'
const inter = Inter({ subsets: ['latin'] })
export const metadata: Metadata = {
title: 'Create Next App',
description: 'Generated by create next app',
title: 'Michael Thomson',
description: '',
}
export default function RootLayout({

View File

@@ -1,7 +1,17 @@
import { getAllPosts } from "@/lib/posts"
import Link from "next/link";
export default function Home() {
const pages = getAllPosts(["title", "slug"]);
return (
<main className="">
Yo
<main>
{pages.map(page => (
<Link href={`/blog/${page.slug}`} key={page.title}>
{page.title}
</Link>
))}
</main>
)
}