0
0
mirror of https://github.com/yude-jp/yude.jp synced 2024-06-09 23:36:01 +09:00
yude.jp/pages/posts.js

55 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-09-06 10:39:12 +09:00
// Base layout
import Layout from "./components/Layout"
// Next.js
import Link from "next/link";
2021-12-11 18:07:22 +09:00
// React
2021-09-06 10:39:12 +09:00
import { useRouter } from 'next/router'
2021-12-11 18:07:22 +09:00
// i18n
import { useTranslation, useLanguageQuery, LanguageSwitcher } from 'next-export-i18n';
const { t } = useTranslation();
const [query] = useLanguageQuery();
2021-09-06 10:39:12 +09:00
// microCMS library
import { client } from "../libs/client";
// next-seo
import { NextSeo } from 'next-seo';
export default function Home({ blog }) {
return (
<>
<NextSeo
title="記事一覧"
description="yude のブログの記事一覧 / yude's blog posts listing"
/>
<Layout title={t('common:post_list')}>
<div>
<h1 className="text-center">{t('common:post_list')}</h1>
<ul>
{blog.map((blog) => (
<li key={blog.id}>
<Link href={`/posts/${blog.id}`}>
<a>{blog.title}</a>
</Link>
</li>
))}
</ul>
</div>
</Layout>
</>
);
}
// Passing data to template
export const getStaticProps = async () => {
const data = await client.get({ endpoint: "blog" });
return {
props: {
blog: data.contents,
},
};
};