mirror of
https://github.com/vercel/next-learn.git
synced 2026-06-29 07:34:15 +00:00
40 lines
914 B
JavaScript
40 lines
914 B
JavaScript
import Layout from '../../components/Layout'
|
|
import { getAllPostIds, getPostData } from '../../lib/posts'
|
|
import Head from 'next/head'
|
|
import Date from '../../components/Date'
|
|
import utilStyles from '../../styles/utils.module.css'
|
|
|
|
const Post = ({ postData }) => (
|
|
<Layout>
|
|
<Head>
|
|
<title>{postData.title}</title>
|
|
</Head>
|
|
<article>
|
|
<h1 className={utilStyles.headingXl}>{postData.title}</h1>
|
|
<div className={utilStyles.lightText}>
|
|
<Date dateString={postData.date} />
|
|
</div>
|
|
<div dangerouslySetInnerHTML={{ __html: postData.contentHtml }} />
|
|
</article>
|
|
</Layout>
|
|
)
|
|
|
|
export async function getStaticPaths() {
|
|
const paths = getAllPostIds()
|
|
return {
|
|
paths,
|
|
fallback: false
|
|
}
|
|
}
|
|
|
|
export async function getStaticProps({ params }) {
|
|
const postData = await getPostData(params.id)
|
|
return {
|
|
props: {
|
|
postData
|
|
}
|
|
}
|
|
}
|
|
|
|
export default Post
|