rsnext/examples/with-contentlayer/pages/index.js
Steven 4466ba436b
chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00

34 lines
993 B
JavaScript

import Link from "next/link";
import Head from "next/head";
import { allPosts } from "contentlayer/generated";
import { pick } from "@contentlayer/client";
import utilStyles from "../styles/utils.module.css";
export default function Home({ posts }) {
return (
<>
<Head>
<title>Home</title>
</Head>
<section className={`${utilStyles.headingMd} ${utilStyles.padding1px}`}>
<h2 className={utilStyles.headingLg}>Blog</h2>
<ul className={utilStyles.list}>
{posts.map(({ slug, date, title }) => (
<li className={utilStyles.listItem} key={slug}>
<Link href={`/posts/${slug}`}>{title}</Link>
<br />
<small className={utilStyles.lightText}>{date}</small>
</li>
))}
</ul>
</section>
</>
);
}
export async function getStaticProps() {
const posts = allPosts.map((post) => pick(post, ["title", "date", "slug"]));
return { props: { posts } };
}