Japan1
Japan
この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字
Midasi2
この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。この文章はダミーです。文字
Code
import {
GetServerSideProps,
GetStaticPaths,
GetStaticProps,
NextPage,
} from "next";
import Image from "next/image";
import React from "react";
import ArticleMeta from "../../components/ArticleMeta";
import Block from "../../components/Block";
import Layout from "../../components/Layout";
import { ArticleProps, Params } from "../../types/types";
import { fetchBlocksByPageId, fetchPages } from "../../utils/notion";
import { getText } from "../../utils/property";
import { sampleCards } from "../../utils/sample";
import NotionBlocks from "notion-block-renderer";
export const getStaticPaths: GetStaticPaths = async () => {
const { results } = await fetchPages({});
const paths = results.map((page: any) => {
return {
params: {
slug: getText(page.properties.slug.rich_text),
},
};
});
return {
paths: paths,
fallback: "blocking",
};
};
export const getStaticProps: GetStaticProps = async (ctx) => {
const { slug } = ctx.params as Params;
const { results } = await fetchPages({ slug: slug });
const page = results[0];
const pageId = page.id;
const { results: blocks } = await fetchBlocksByPageId(pageId);
return {
props: {
page: page,
blocks: blocks,
},
revalidate: 10,
};
};
const Article: NextPage<ArticleProps> = ({ page, blocks }) => {
return (
<Layout>
<article className="w-full">
{/* meta section */}
<div className="my-12">
<ArticleMeta page={page} />
</div>
<div className="my-12">
<NotionBlocks blocks={blocks} isCodeHighlighter={true} />
</div>
</article>
</Layout>
);
};
export default Article;