I'm a freelance web developer based in the South of Scotland.
On recent projects I've worked with React, Eleventy, design systems, Storybook and SASS.
I'm currently AVAILABLE to discuss new freelance and contracting web development projects.
🧲 Quick Tip: npm outdated and npm update
How to check for and update to newer versions of your installed dependencies using npm's built-in commands
🔍 Add Search to an Eleventy website with Elasticlunr
How to build an index from an 11ty collection and add client-side search with elasticlunr.
🌍 Create a Sitemap.xml with Eleventy
Add an XML sitemap to your 11ty website with a few lines of nunjucks.
🧱 My Eleventy + SCSS/SASS Setup
My simple configuration when working with SCSS/SASS in an Eleventy (11ty) build.
🤸♀️ The prefers-reduced-motion media query
This CSS feature is used to detect if the user has requested the system minimize the amount of animation or motion it uses.
🎤 Podcasts I'm listening to
Answering the number 1 question in the world right now. "What podcasts are you listening to?"
⚡ Run Umbraco from VS Code
Probably the quickest, leanest way to get to work on a fresh Umbraco site is with VSCode and IIS Express.
🧰 My Web Development Setup
A run through of my current software, hardware and editor setup for day to day web development.
🔖 Better filenames for React Suspense/Lazy chunks
Using webpackChunkName to replace the numbered filenames with something more meaninful
⌨ Add Git-Bash to the new Windows Terminal
How to add a Git-Bash tab to the new Windows Terminal (Preview) shell and set it as the default.
🌙 Dark Mode CSS with the prefers-color-scheme media query
prefers-color-scheme is a new-ish CSS media query that lets developers define styles tailored to a visitor's color scheme system setting.
🎥 Favourite films of 2010's
One of those pointless list posts. This one is about my favourite films.
📦 Useful NPM global packages
Handy npm packages to worth installing globally.
🐛 Debugging LESS with dotLESS
How to trace back compiled CSS to less files when using dotLESS.
🚄 Website Speed and Analytic Metrics
A brief look at how website performance influences the stats found in Google Analytics.
🔓 Umbraco Instant Log Out Issue
A fix for Umbraco login automatic log out issue. Spoiler - it's a HTTPS cookie thing.
🔲 jQuery Responsive Lightbox plugin
A lightweight, responsive lightbox jquery plugin.
📆 iOS Date Parsing Issue
Fixing a YYYY-MM date parsing issue which appears in the iOS 5 WebView.
📱 Disable Bouncing Scroll Effect in PhoneGap [iOS]
By default Cordova/PhoneGap apps have a sort of elasticy pull down effect. This can be disabled from cordova.plist.
🖇 Many To Many Mapping in Fluent NHibernate
Code snippet for mapping two classes in Fluent NHibernate using a many to many relation.
🏷 How to Remove ETags in IIS6
Performance tools such as YSlow & WebPageTest recommend you disable ETags. This is how to do it in IIS6.
📰 Slow Site, Frustrated Visitors, Negative Press
A huge chunk of visitors who suffer performance issues will go on to share this with others. Just check twitter.
🖨 Delay Loading The Print Stylesheet