Files
ghall.space/src/pages/index.astro
T
2025-02-13 09:53:27 -05:00

74 lines
1.9 KiB
Plaintext

---
export const prerender = true;
import { Image } from 'astro:assets';
import { getCollection } from 'astro:content';
import Layout from '@layouts/Layout.astro';
import Avatar from '@components/Avatar.astro';
import portrait from '../img/portrait.jpg';
import MastodonIcon from '../img/svg/mastodon.svg';
import BlueskyIcon from '../img/svg/bluesky.svg';
const iconSize = 16;
const posts = await getCollection('blog');
const latestPost = posts.sort(
(a, b) =>
new Date(b.data.pubDate).valueOf() - new Date(a.data.pubDate).valueOf()
)[0];
---
<Layout title="Welcome">
<div transition:name="my-avatar">
<Avatar size={200} />
</div>
<p>
My name is <strong>Graham</strong> (he/him), a full-stack web developer, and
tech enthusiast.
</p>
<p>
When I'm not writing code, I'm usually enjoying one of my other hobbies;
video games, board games, music, hiking, photography, art, the list goes
on...
</p>
<p>
I also like writing about stuff, so I put together this site to share
whatever's on my mind about the world of tech, gaming, life, web
development, and whatever else strikes my fancy.
</p>
<p>
Read my latest blog post, <a href={`blog/${latestPost.slug}`}
>{latestPost.data.title}</a
>, from {new Date(latestPost.data.pubDate).toLocaleDateString()}.
</p>
<p>
If your interested in checking out my web dev projects, check out <a
href="https://ghall.dev/"
target="_blank">my portfolio</a
>.
</p>
<p>
If you want to get in touch, I'm on <a
rel="me"
href="https://mastodon.social/@ghalldev"
target="_blank"><MastodonIcon size={iconSize} />Mastodon</a
> and <a
href="https://bsky.app/profile/ghalldev.bsky.social"
target="_blank"><BlueskyIcon size={iconSize} />Bluesky</a
>.
</p>
<p>
My portrait was drawn by <a
href="https://www.nataliavazquezgarcia.com"
target="_blank">Natalia Vazquez</a
>.
</p>
</Layout>
<style>
a > svg {
transform: translateY(0.18rem);
}
</style>