← Back to posts

Personal Website and Email

This is something I've been putting off for a long time.

I’m happy to have a place to dump my thoughts and write about personal projects. I’m not much of a writer. Part of my reason for setting this up is to practice writing about things I enjoy writing about. This is a post I’m writing mostly so the posts page is not empty.

Website

Tech

The website is built with SvelteKit and mdsvex. I write posts in Markdown and links to each post are automatically generated on the posts page. The site is fully statically generated at build-time. I like being able to host it anywhere as easily as possible, and I don’t want to deal with SSR/CSR/Hydration or any of that nonsense — I deal with that stuff enough at work!

Here is the block of code that runs to populate the posts page, because I want to see how code blocks look:

export async function load() {
  const postModules = import.meta.glob('./*/*.md', { eager: true });

  const posts = Object.entries(postModules).map(([path, mod]) => {
    const href = 'posts/' + path.split('/').slice(0, -1).join('/');
    const { metadata } = mod as { metadata: Omit<PostData, 'href'> };
    return { href, ...metadata };
  });

  return { posts };
}

Looks good. I really like gruvbox.

The website source is available here.

Style

I don’t like designing fancy websites. I’m not good at it. I like websites that load fast and look good enough. I think this website’s design is a reflection of that.

Email

Who doesn’t want an email with their own domain. The Gmail address I’ve been using since I learned to set it up has become a nearly irredeemable wasteland of marketing and spam. It’s nice to start fresh.