import { ReactNode } from "react" import { GatsbyLinkProps, graphql, Link, PageProps } from "gatsby" import Layout from "../../components/organisms/Layout" import { Card, CardContent, Grid, Typography } from "@mui/material" import styled from "@emotion/styled" type PostProps = { size?: "normal" | "highlight" post: Queries.BlogQuery["allMdx"]["edges"][0]["node"] } const Post = ({ size = "normal", post }: PostProps) => { const PostLink = styled((props: { children: ReactNode }) => ( ))` color: inherit; text-decoration: inherit; &:hover { opacity: 0.8; } ` return ( {post.frontmatter?.title} {post.excerpt} ) } const Blog = ({ data: { allMdx } }: PageProps) => { const [highlight, ...posts] = allMdx.edges return ( {posts.map(({ node: post }) => ( ))} ) } export const query = graphql` query Blog { allMdx( sort: { fields: [frontmatter___published], order: DESC } filter: { fields: { source: { eq: "posts" } }, frontmatter: { published: { ne: null } } } ) { edges { node { id slug excerpt(pruneLength: 400) frontmatter { title published } } } } } ` export default Blog