RSSAmplifier

Blog

Adam Collier's Blog

Welcome to the blog! I hope you enjoy reading what I write and learn something a long the way

adamcollier.co.ukRSS feed ↗21 posts

Latest posts

Create a React Drawer Component using the native HTML Dialog

Learn how to build a modern React drawer component using the native HTML Dialog element. This tutorial covers drag-to-close functionality, touch gestures, and leveraging the browser's built-in modal capabilities for better accessibility and performance.

Adding validation to your Petite Vue form in Astro with Valibot

Adding validation to your Petite Vue form in Astro with Valibot

Astro, Petite Vue and motion.dev for lightweight but powerful interactivity

A guide on how to use Astro, Petite Vue and motion.dev's spring function to add lightweight but incredibly powerful interactivity to your site

Using Tanstack Virtual and window virtualisation for a grid of items

A guide on how to use Tanstack's window virtualiser when rendering a grid of items with varying row heights

Fujifilm x10 notes and recipes

A collection of notes and recipes for the Fujifilm x10 camera, a camera I recently picked up to experiment with.

Transitioning from Planetscale to Self-Hosted Postgres with Coolify and HTTP Proxy

Learn how to switch from Planetscale to a self-hosted Postgres database using Coolify and HTTP Proxy. This guide covers the process, the advantages of self-hosting, and introduces Coolify, an open-source hosting alternative.

Best cafes to work from in Liverpool

A list of the best cafes to work from in Liverpool

Remix Indie Stack: Creating Recipeasy

I released a small side project, Recipeasy: A space to collect recipes and quickly create shopping lists. Here's my thoughts and take on Remix's Indie Stack

Using UnoCSS with Remix

Unsure on how to style your Remix app? Get Remix up and running with UnoCSS, the instant on-demand Atomic CSS engine, and build UI's quicker than ever.

A trip to Glasgow: art galleries, restaurants and cafes to visit

After a long weekend in Glasgow here are my recommendations on places to eat, art galleries to visit and cafes for small bites and great coffee.

Moving from Next to Remix

I've moved away from Next.js and completely rewritten my site in Remix. Find out some of the reasons why and some of the new technologies I've adopted.

Adding CodeMirror 6 to a React Project

Render your first CodeMirror 6 editor in React and take it from a basic setup to something more complex, functional and impressive.

Switching from Google Analytics to Umami

Take full control of your sites statistics by switching from Google Analytics to Umami. Improve performance and create a safer space for your users.

Using Storybook with Vite

Create your first Storybook story using Vite and React. Jump start your UI component library and enjoy complete confidence in your UI.

Create a Gatsby Spotify Plugin

Take advantage of the Spotify API and build a plug-in to display your top tracks. Simple, flexible and a great feature to have on your personal site.

Adding an Updated Date to Markdown and MDX Posts

Improve your SEO by showing when your posts got last updated. Perfect for Gatsby and Next.js sites which use Markdown or MDX for their content.

Using Hast to Create Tables

Discover the power of Hast and how we can use it to manipulate markdown content. Let's turn some markdown table links into the real deal.

Create a Gutenberg Block using create-guten-block

Let's talk about WordPress' Gutenberg blocks and how we can create a custom block of our own to establish a wonderful UI experience.

Reduce Page Weight using Font Subsetting

Using Glyphhanger and pyftsubset let's reduce our page weight by subsettting our font files and only serving the glyphs our pages need.

Creating a Masonry Layout with CSS Grid

Let's face it, Masonry layouts can be a real pain. Let's create our own layout using CSS variables and a few lines of JavaScript.

Replacing Emojis with HTML Entities

Avoid issues using Emoji's in our markup by replacing them with the HTML entity equivalent. Let's write a script to help us do this.