import React from 'react' import Head from 'next/head' import {GetStaticProps} from 'next' import {Card} from '@/components/ui/Card' import {Resume} from '@/components/ui/Resume' import {Container} from '@/components/common/Container' import { GitHubIcon, LinkedInIcon, TwitterIcon } from '@/components/icons/SocialIcons' import {SocialLink} from '@/components/ui/SocialLink' import {Views} from '@/components/ui/Views' import {formatDate} from '@/lib/formatDate' import {generateRssFeed} from '@/lib/generateRssFeed' import {generateSitemap} from '@/lib/generateSitemap' import {getAllArticles} from '@/lib/getAllArticles' import {Article} from 'types' function Article(article: Article) { return (
{article.title}

{formatDate(article.date)}

) } export default function Home({articles}: { articles: Article[] }) { return ( <> Ryan Freeman - Full-stack software engineer from Dublin, Ireland.

Full-stack software engineer who enjoys building cloud-native applications.

Hi. I'm Ryan, a software engineer based in Dublin, Ireland. I'm currently working in the aviation industry for Aer Lingus. I am passionate about personal growth and progressing in my career. This is my personal website where you can learn more about me, read articles I've written and see projects I've worked on.

{articles.map(({slug, title, description, date}) => (
))}
) } export const getStaticProps: GetStaticProps = async () => { if (process.env.NODE_ENV === 'production') { await generateRssFeed() await generateSitemap() } return { props: { articles: (await getAllArticles()) .slice(0, 3) .map(({component, ...meta}) => meta), } } }