James McGrath

I had to code a design that was like half a pie chart with text in the slices and the center of the chart was cut out in a circle like a donut. You can see it here on Squad by Mamamia. The solution I...
Published on Aug 28, 2023
Reading time: 2 minutes
Let's make a fly in animation on scroll with css custom properties and the intersection observer.
Published on Apr 24, 2022
Reading time: 5 minutes
Recently I was using swiper.js to make a slide show. One of the features that was requested was to have pagination with dots on the bottom and a fraction counter in the top right like Instagram....
Published on Jul 24, 2021
Reading time: 3 minutes
One of the projects I have been working on lately uses Nuxt and Vuetify. Someone on the team decided that dark mode is the preferred color scheme for the website. Personally I'm not a fan of the dark...
Published on Jul 02, 2021
Reading time: 2 minutes
Here's 2 ways to position the underline in text. The easiest way is to use text-underline-offset. Another way is to put the text in a <span> or <div> and use padding-bottom and border-bottom....
Published on Mar 22, 2021
Reading time: 1 minute
Say you got this design and it's exactly the same for different routes. A real world example of this is when we implemented AMP on mamamia.com.au. The only difference between the AMP and non-AMP...
Published on Mar 09, 2021
Reading time: 1 minute
This post is not a tutorial but just an account of what I did. For each website that was moved to a new webhost there is a high level list of things that were done.
Published on Feb 08, 2021
Reading time: 5 minutes
Let's look at how to find an item in an array of objects if we know one of the object's properties.
Published on May 17, 2020
Reading time: 1 minute
Today let's see how we can refactor an accessible hamburger button using Vue.
Published on Apr 18, 2020
Reading time: 2 minutes
In the thing I'm currently working on at Mamamia, the content for the page is coming from a WYSIWYG editor. The section of the page where it appears has a title that is planned to be hardcoded in to...
Published on Feb 09, 2020
Reading time: 1 minute