https://chrisnicholas.dev/blog/a-new-blog-for-2024
Skip to content
CN
* Blog
* Work
* About
Visit my X/Twitter pageHeadshot of Chris Nicholas in the snow
A new blog for 2024
2 Jan 2024
It's been a long time since I've published a blog post, two whole
years. Part of the reason is that it took too much effort to create
posts for my previous blog. I needed better DX. A few nights ago,
feeling inspired after reading articles by Pedro Duarte, Rauno
Freiberg, and Lee Robinson, I decided it was time to start over.
Aims
So here's the score--I want a blog with great DX that makes it as easy
as possible to create posts. I also want to go minimal, so I can get
away with a single design on mobile and desktop. No faffing around; I
want this blog built and published in 5 days! And lastly, I'm looking
to try some new libraries and technologies. Right, let's dive in.
Design
At work I spend most of my time writing and programming, so dipping
my toes into design was a nice change. Here's a couple of details.
Animated header
For the header, I was aiming for an animated background that combined
an aurora, light beams, and a rainbow. I'm quite pleased with the
result, and it's actually pure CSS--try changing hue-rotate below to
emulate the animation.
An interactive demo showing the header background
.aurora {
filter: hue-rotate(0deg) saturate(7.0) blur(30px);
}
hue-rotate[0 ]saturate[7 ]blur
[30 ]
Saturated text
All text that overlays the aurora is saturated with its underlying
colours--a tiny touch that really unifies the design. You can do this
by simply applying a luminosity blend mode to the text.
My name's Chris Nicholas
mix-blend-mode: luminosity;
Noise
I'm applying a tiny amount of film grain to the body. To me, this
makes the page feel like one consistent piece; as you scroll down,
the noise sticks to the content, somewhat similar to seeing texture
on paper.
An interactive demo allowing you to change the noise level on the
page
.noise {
opacity: 0.025;
}
opacity
[0.025 ]
Reset noise
I wouldn't recommend noise for most websites, and it's very easy to
overdo it, but I enjoy the subtle filmic effect on my blog.
Catalyst
I'm using Catalyst, a new UI kit by the Tailwind team. It's clear
that a tonne of thought has gone into making these components
accessible, and pixel perfect, on both light and dark modes.
Tailwind UI Catalyst demo
Warningbadge
System
Catalyst provides you with a set of files to download into your
project, and you can export your components from these. Heroicons has
also been updated with new icons that fit neatly into Catalyst.
Send message
import { Button } from "../components/Button";
import { PaperAirplaneIcon } from "@heroicons/react/16/solid";
function Component() {
return (
);
}
If you'd like to customise your components further, you can edit the
downloaded files directly. Each file contains Headless UI components
with lists of carefully annotated classes dispersed throughout.
It's been a long time since I've publis...
export default function Page() {
const MDXContent = useMDXComponent(post.body.code);
return