Command Palette

Search for a command to run...

Page Inspect

https://darn.es/
Internal Links
65
External Links
57
Images
11
Headings
107

Page Content

Title:David Darnes - Designer, Front-end Developer & Writer specialising in Design Systems, Eleventy, Ghost & Jamstack
Description:Designer, Front-end Developer & Writer specialising in Design Systems, Eleventy, Ghost & Jamstack
HTML Size:120 KB
Markdown Size:26 KB
Fetched At:October 6, 2025

Page Structure

h1David Darnes
h2Designer, Front-end Developer & Writer
h3Work
h2Nord Design System
h2Seccl Technology
h2Ghost Developer Expert
h2Eleventy Starter Ghost
h2Anchor Themes
h2Alembic theme for Jekyll
h2Garth theme for Jekyll
h3Blog
h2ShopTalk Show: Web Components and Design Systems
h2Is 2025 the Year of the ‘Design Engineer’?
h2Add Design System Releases to Any Website with zeroheight
h2bluesky-replies Web Component
h2You’re Not Creating Enough Prototypes
h2duration-property Web Component
h2The Lowdown on Dropdowns in HTML & CSS
h2bluesky-post Web Component
h2What WordPress Can Teach Us About Open-Source in Design Systems
h2Adoption Tracking With GitHub Actions
h2WordPress Alternatives
h2Web Components: Little Bits
h2A Desk of Stickers
h2How to Track Adoption in Your Design System
h2heading-anchors Web Component
h2live-filter Web Component
h2Awesome Standalones
h2Lightning talk at All Day Hey!
h2zeroheight x Storybook: Design system workflow tips
h2Live Code Examples in Your Design System With StackBlitz
h2Pixel Pioneers 2024 Highlights
h2The Case for Web Components
h2code-pen Web Component
h2From Design to Code (and Back Again) with zeroheight and StackBlitz
h2Color contrast with Web Components
h2contrast-details Web Component
h2Blogroll
h2random-source Web Component
h2For the Design System Developers out there
h2Use zeroheight design tokens directly in your codebase
h2My travel coffee brewer
h2Ideas for my dream CMS
h2Date pickers are hard, whodathunk it
h2link-peek Web Component
h2A crude way to find and follow Thread users from Mastodon
h2mastodon-post Web Component
h2sample-input Web Component
h2play-button Web Component
h2What I did in 2023

Markdown Content

David Darnes - Designer, Front-end Developer & Writer specialising in Design Systems, Eleventy, Ghost & Jamstack

# David Darnes
Pronunciation of my name                   ## Designer, Front-end Developer & Writer



Bluesky Mastodon LinkedIn GitHub CodePen Design Systems Webring RSS

For over 15 years, I've been providing my skills in **front-end development**, **design** and **technical writing** to clients such as **Shopify**, **zeroheight**, **Nordhealth**, **Google**, **Buffer**, **Netlify**, **Ghost**, **Octopus Energy**, **Stackbit** and many more. Check out **my work** and **articles**. If you like what you see **get in touch**.

### Work

A small selection of projects I've worked on with my clients and for open source

- ## Nord Design System

Currently working full time on Nord Design System. We use modern technologies such as Web Components and CSS Custom Properties to provide the wider design and development team everything they need to design and build products such as Provet Cloud, Diarium, Navisec Health and many more.
- ## Seccl Technology

I was commissioned by Seccl to completely rebuild their marketing website using modern Jamstack technology. This involved the use of Netlify, Eleventy cutting edge front-end techniques.
- ## Ghost Developer Expert

Due to my strong experience in Ghost I've become an an official Developer Expert on the platform. Check out my official developer page and example of Ghost sites I've built
- ## Eleventy Starter Ghost

The Eleventy Starter for Ghost is designed to help developers build sites using the Ghost Content API and the popular Static Site Generator Eleventy. The starter uses nunjucks to expose Ghost site data as well as rendering pages, posts, tags and author pages.
- ## Anchor Themes

Anchor Themes is a site I created to showcase the best themes available for Anchor CMS. I designed, built and manage the site so that people can easily browse and use themes for Anchor CMS.
- ## Alembic theme for Jekyll

Alembic is a theme that has the ability to be used straight out of the box as well as a strong basis for any type of content based site.
- ## Garth theme for Jekyll

Garth has been available on RubyGems.org since June 2016 and has been downloaded over 20,000 times. It has continued to be one of the most popular independent open source Jekyll themes.

### Blog

Articles about web design, development and some personal ones thrown in

- ## ShopTalk Show: Web Components and Design Systems
Monday 24th March 2025

Got invited to chat with Chris Coyier and Dave Rupert on my favourite podcast, ShopTalk Show! We talked about Nord Design System, my open source Web Components and a few other things I've learned in my line of work. Also snuck in a special intro and outro.
- ## Is 2025 the Year of the ‘Design Engineer’?
Monday 13th January 2025

What is a Design Engineer and is it the right name? Let's explore this role and it's contributions to Design Systems.
- ## Add Design System Releases to Any Website with zeroheight
Wednesday 18th December 2024

Add your design system's release history and link to those releases with this tutorial and the new zeroheight API
- ## bluesky-replies Web Component
Friday 6th December 2024

The bluesky-post Web Component allows you to turn a regular link to a Bluesky post into an embeddable list of replies to that post, including metadata such as reply count, repost count, likes and more.
- ## You’re Not Creating Enough Prototypes
Friday 29th November 2024

The true value of using design systems to create prototypes and how they impact testing, quantification and assessment of your products.
- ## duration-property Web Component
Wednesday 13th November 2024

A Web Component to surface the duration of an audio or video as a CSS Custom Property
- ## The Lowdown on Dropdowns in HTML & CSS
Thursday 7th November 2024

A run down of all the new features coming to HTML and CSS that will be game changers for dropdowns and ergo user interfaces.
- ## bluesky-post Web Component
Tuesday 29th October 2024

The bluesky-post Web Component allows you to turn a regular link to a Bluesky post into an embeddable post quote including metadata such as reply count, repost count, likes and more.
- ## What WordPress Can Teach Us About Open-Source in Design Systems
Monday 28th October 2024

What can the recent situation with the WordPress community teach us about how we use open-source in design systems?
- ## Adoption Tracking With GitHub Actions
Thursday 17th October 2024

Track adoption with our new GitHub Action and monitor your design system’s React components across your applications automatically!
- ## WordPress Alternatives
Wednesday 9th October 2024

Alternative WordPress options that you can drop onto a server and get running with
- ## Web Components: Little Bits
Monday 7th October 2024

My talk about using Web Components to sprinkle a little fun onto my website, and how well they work in Design Systems
- ## A Desk of Stickers
Wednesday 28th August 2024

This desk has followed me for almost my whole 15-year career, and I didn't even pay for it. Please allow me to digress for a moment about a battered IKEA tabletop.
- ## How to Track Adoption in Your Design System
Thursday 22nd August 2024

The often overlooked side of working on a design system is validating the work itself to stakeholders. In this article, I’ll run through all the tools currently available to provide you with adoption data for your design files, code packages, and documentation.
- ## heading-anchors Web Component
Monday 19th August 2024

A Web Component to generate anchor links for headings.
- ## live-filter Web Component
Friday 16th August 2024

A Web Component for filtering items using a text input.
- ## Awesome Standalones
Wednesday 31st July 2024

Reviving one of the most popular Web Components directory on GitHub
- ## Lightning talk at All Day Hey!
Monday 29th July 2024

My "Building tabs in Web Components" talk from All Day Hey! in Leeds
- ## zeroheight x Storybook: Design system workflow tips
Tuesday 2nd July 2024

I was joined by Rosie from our Product Team and Varun from Chromatic (Storybook) about the features and benefits of using Storybook with zeroheight.
- ## Live Code Examples in Your Design System With StackBlitz
Wednesday 26th June 2024

Having code examples in your design system for developers is super valuable, but do you know what’s even more helpful? Code examples that can be edited, forked, and reshared! In this post, I’ll show you how to provide experience using StackBlitz.
- ## Pixel Pioneers 2024 Highlights
Monday 24th June 2024

For those who couldn’t make Pixel Pioneers this year, here’s a roundup of the interesting stuff I learned from attending the long-running web development conference in Bristol, UK.
- ## The Case for Web Components
Wednesday 19th June 2024

A free downloadable whitepaper containing explanations, experience, resources, articles, and expert recommendations that’ll equip you with the skills to create versatile Web Components
- ## code-pen Web Component
Tuesday 18th June 2024

A Web Component for opening code blocks in CodePen.
- ## From Design to Code (and Back Again) with zeroheight and StackBlitz
Tuesday 11th June 2024

Garrison Snelling from StackBlitz invited me to a livestream, during which we discussed the benefits of providing code examples in design system documentation and what's possible with zeroheight and StackBlitz.
- ## Color contrast with Web Components
Wednesday 5th June 2024

Want to show the contrast levels of two colours? Try out this Web Component I’ve made!
- ## contrast-details Web Component
Wednesday 5th June 2024

Use the contrast-details Web Component to present colour contrast information of two colours.
- ## Blogroll
Friday 17th May 2024

A list of blogs I follow in my RSS reader
- ## random-source Web Component
Wednesday 15th May 2024

The random-source Web Component allows you to cycle randomly through different audio or video sources, utilising existing HTML elements and providing an elegant fallback experience.
- ## For the Design System Developers out there
Tuesday 14th May 2024

Are you looking for early access to developer features coming to zeroheight? Sign up here
- ## Use zeroheight design tokens directly in your codebase
Monday 13th May 2024

Bring your zeroheight design tokens directly into your development projects using our Tokens Manager features.
- ## My travel coffee brewer
Saturday 11th May 2024

Whenever I travel and I question whether the location will have good coffee nearby I take my Munieq Tetra Drip coffee filter. If you're looking for an ultra portable coffee brewing kit I'd recommend this.
- ## Ideas for my dream CMS
Monday 29th April 2024

After listening to Chris, Dave and Matt talk about their ideal CMS setup on Shop talk I felt it was an ideal time to share my ideal CMS features as well as some context around why I'm more interested in them than I should be.
- ## Date pickers are hard, whodathunk it
Thursday 25th April 2024

Due to the new job I've given myself permission to consume even more design systems related content. In doing so I listened to a recent Syntax FM episode featuring the folks from Shoelace, now Web Awesome, where they talked about joining up with Font Awesome and their Kickstarter
- ## link-peek Web Component
Monday 15th April 2024

The link-peek Web Component allows you to turn a regular anchor link to a rich preview (also known as an 'unfurled' link) to show description, meta image, website name and more using a JSON API.
- ## A crude way to find and follow Thread users from Mastodon
Friday 5th April 2024

There are a handful of people I'm interested in on Threads that I want to follow from my Mastodon account, so to zero in on this awkward intersect I've used the following very crude method
- ## mastodon-post Web Component
Monday 19th February 2024

The mastodon-post Web Component allows you to turn a regular link to a Mastodon post into an embeddable post quote including metadata such as reply count, boost count, favourites and more.
- ## sample-input Web Component
Monday 8th January 2024

It's great that can upload audio and video files with the input element, but browsers don't make it very easy for the user to preview that file. The sample-input component allows you to use audio and video elements to preview an audio or video file that's been uploaded to an input.
- ## play-button Web Component
Thursday 4th January 2024

Styling audio and video elements can be a bit of a pain, especially across browsers. At the same time current solutions are either hacky CSS or overly engineered JavaScript. The play-button component allows you to play, and pause, audio and video with a single button element.
- ## What I did in 2023
Sunday 31st December 2023

Survived.
- ## storage-form Web Component
Friday 22nd December 2023

storage-form is a Web Component to allow regular form elements to interact with the browsers local storage. This can be really useful when building websites or small applications that need to be able to store data for later use, such as website viewing preferences (also known as light/dark mode).
- ## is-playing Web Component
Tuesday 19th December 2023

is-playing is a Web Component that checks if an audio or video element is playing content and applies a playing attribute to itself and the element that is playing.
- ## Web Component GitHub starter template
Friday 15th December 2023

I made an open source GitHub template to help me spin up new Web Components, and I thought you might find it useful as well.
- ## share-button Web Component
Tuesday 12th December 2023

share-button is a Web Component that turns a regular button element into a button that can invoke the native sharing options within the OS.
- ## Design Systems & Web Components: what works & what doesn't
Thursday 5th October 2023

I was invited by the Netherlands Government Digital Services to speak at their Design Systems Week on the topic of using Web Components in design systems.
- ## Post previews with Ghost, Eleventy & Netlify
Wednesday 18th January 2023

A while back, I updated my Eleventy plugin for Ghost so you get more data from your Ghost instance, including the ability to retrieve draft posts. Here's how I used it to preview draft posts using Eleventy and Netlify.
- ## How Nordhealth uses Custom Properties in Web Components
Wednesday 17th August 2022

The benefits of using Custom Properties in design systems and component libraries.
- ## Web Components & Lit
Friday 8th July 2022

Phil Hawksworth from Netlify invited me and Jack Franklin from Google to talk about Web Components and Lit in a YouTube livestream. It was great to share experiences and perspectives of using Lit and the current web components landscape
- ## You should add a generator tag to your Eleventy site
Wednesday 29th June 2022

Hear me out on this one, I've got a short but sensible list as to why.
- ## Building tabs in Web Components
Wednesday 29th June 2022

Part of my role at Nordhealth is to design, develop and expand upon our ever increasing roster of Web Components within the Nord Design System. One of my most recent contributions is arguably one component, but actually comprises of three Web Components. We're talking about tabs.
- ## Using Display-P3 colour
Wednesday 15th June 2022

I wanted really bright colours on my site, but in order to do that I needed to delve into a rabbit hole of using Display-P3 colour in CSS. Here's how I did it.
- ## Using a GitHub repo directory as an npm package
Wednesday 12th January 2022

The following tutorial explains how to use a GitHub repo directory, or folder, as if it were an npm package.
- ## First monthly update for Nord Design System
Monday 20th December 2021

This was my first monthly update as part of the Nordhealth Design System team. I go into detail on our CSS Framework and the recently completed command menu web component.
- ## My home desk setup
Wednesday 11th August 2021

After posting a picture of my desk covered in stickers I was asked to submit my desk setup to setups.co. Check out what I use for my remote working setup.
- ## How to use Schema.org Markup for Your E-Commerce Sites
Thursday 27th May 2021

In this article I’ll dive into Schema.org, a tool for annotating web pages to provide search engines with more meaning about the content. You’ll better understand how we can use schema markup for e-commerce websites allowing people to find your products.
- ## Add a Formspree Form to Your Static Sites
Tuesday 9th March 2021

In this tutorial we’re going to look at a hassle-free way of adding dynamic, flexible forms to your static websites.
- ## Jekyll alternatives: The benefits to JavaScript static site generators
Tuesday 29th December 2020

Jekyll paved the way for an entire ecosystem of static site generators to flourish, but what do these new JavaScript SSGs offer over Jekyll? Let’s find out!
- ## Blogging on the Jamstack with DropInBlog, Netlify & Eleventy
Tuesday 24th November 2020

In this tutorial, I’ll show you how to switch from using client-side JavaScript to power your DropInBlog blog to using it as a fully functioning ‘headless blog’, with the assisted power of Eleventy and Netlify on the Jamstack.
- ## What is Eleventy?
Tuesday 3rd November 2020

I was kindly invited onto the Smashing Podcast to talk with Drew McLellan about Eleventy. Follow the link to listen.
- ## Switching to Netlify DNS
Tuesday 28th July 2020

If you’re onboard with Netlify then maybe you should switch your custom domains to their platform as well. In this tutorial I’ll show you how to move your custom domain to Netlify DNS and how to link it with a project on Netlify.
- ## Let’s Learn Ghost on the Jamstack! Livestream Q & A
Tuesday 14th April 2020

I recently joined Jason Lengstorf on his Twitch show Learn With Jason. I didn’t get around to answering all the questions from the live chat. Thankfully with the power of Twitch Chat Reply I was able to go back in time and pull out all the questions. Here’s a somewhat brief Q & A on those questions.
- ## Building a Netlify Build Plugin
Monday 2nd March 2020

Netlify Build Plugins let you tap into the different phases in the build process that happen on Netlify. After being invited to the beta I spent some time figuring out what I could do and built a plugin of my own.
- ## Page translations and multi-language selects
Sunday 23rd February 2020

Multi-language sites are straight up hard to do. You would think there’s standard HTML spec stuff to handle this kinda stuff? Well there is!
- ## Minimum viable analytics
Sunday 23rd February 2020

I recently switched all my personal project sites to Netlify. I’d like to share how I made the move, my experiences, and the tooling I use to manage domains and track analytics.
- ## How to use Ghost with Jekyll
Saturday 10th August 2019

Someone made an interesting query recently that I couldn’t help but take on as a challenge: Is there any way to use Ghost with Jekyll?
- ## Eleventy and Ghost
Wednesday 7th August 2019

My full write up on the official Ghost changelog blog on what's possible with Ghost and Eleventy
- ## Use Eleventy to generate a Ghost blog
Friday 31st May 2019

Last night I had a thought: What if I could source a Ghost blog from the Ghost Content API and then generate a static blog all inside of Eleventy?
- ## 5 excellent examples of progressive web applications
Friday 15th March 2019

Chrome 73 has just landed with the ability to install PWAs, but what is a PWA? Well as you’ve probably read in the title, PWA stands for Progressive Web Application.
- ## Experiments in augmented reality with Apple’s ARKit
Wednesday 30th January 2019

ARKit is a development platform created by Apple to allow developers to use augmented reality on iOS devices. We can use ARKit to create virtual objects, images and even working user interfaces that look like they are right in front of you.
- ## Coding a festive puzzle game with modern front-end techniques
Wednesday 12th December 2018

T’is the season, by which I mean the season where some of us have down-time to do a little practical learning with code. And what better way to learn this time of year than by making a toy you can actually play with.
- ## 5 tips for a happier front-end Development Team
Monday 29th October 2018

During my time at Simpleweb I’ve learnt an incredible amount of tools, techniques, practices and general front-end development knowledge. In this article I’d like to share just a few of the things I’ve learnt that will hopefully make your front-end work easier, more productive or more enjoyable.
- ## Dropping the mic on Netlify in 20 minutes
Wednesday 15th August 2018

Alright, so I didn’t actually drop the mic on Netlify; I dropped a site on it. Netlify Drop is a tool where you can grab a folder containing a site or app or whatever and drop it straight into the Netlify hosting platform.
- ## Making your first Jekyll theme: Part 2
Tuesday 16th January 2018

In Part 1, I gave an overview of creating themes for Jekyll and a few tips for when you’re developing your own theme. In this second part, I’m going to give a full step-by-step guide to developing your own Jekyll theme gem.
- ## Making your first Jekyll theme: Part 1
Monday 2nd October 2017

By nature, any well structured site that has easily editable content is ‘themeable’ — a layer, or skin, that presents content in the way the owner or creator intended; Jekyll is no different. Pages, posts and any other form of formatted content can be segregated from the templating files.
- ## Adding heading links to your Jekyll blog
Monday 24th July 2017

Just a brief JavaScript trick to get anchor links added to your Jekyll blog post headings.
- ## What do we look for in a CMS?
Monday 6th March 2017

I posed this question in several forms on Twitter to get feedback from the community. After some consideration, polls and great discussion, I came up with a list of aspects that people consider when looking for a CMS.
- ## My worst job interview
Thursday 19th January 2017

My worst job interview didn’t get me very far; not even into their office. It was just a phone call. It was a brief and kind of upsetting moment in my early career. Allow me to explain why I think this was my worst interview.
- ## How to create a Jekyll theme gem
Tuesday 18th October 2016

One of Jekyll’s noteworthy new features is the ability create official themes in the form of Ruby gems. These themes can be installed by a Jekyll user to style their static blog or website with ease, leaving them to manage their content.
- ## Adding Siteleaf to a GitHub Pages site
Wednesday 24th August 2016

I’ve been using Siteleaf a lot recently, for both my day job and personal projects. In light of this, I decided to create a screencast of myself going through the process of adding Siteleaf to a pre-existing site running on GitHub Pages. As additional reference, I’ve documented the process below.
- ## I put CSS in my HTML and nothing exploded
Monday 15th August 2016

When I first felt comfortable with front-end web development, I thought inline CSS was a filthy thing to do; something that could only be done in haste or from poor implementation. Thankfully, I’m a little wiser now and can understand that there is almost always a reason behind the implementation.
- ## My domain is my playground
Sunday 5th June 2016

Whenever I want to test or try something out, I do one of three things; I create a new pen on CodePen, push some files to a new Surge project, or I’ll try it out live on my personal site or blog. The last one in that list is my favourite thing to do.
- ## Jekyll Conf lightning talk
Monday 16th May 2016

Recently I was asked by CloudCannon to record a lightning talk for Jekyll Conf. It was a great opportunity to contribute to the Jekyll community. You can watch all the talks from the day on YouTube.
- ## How to create an open source portfolio
Sunday 27th March 2016

One really useful aspect of GitHub repos is that they allow us to host static websites thanks to GitHub Pages. But did you know that you can dynamically display all your GitHub repos on your website as well? In this tutorial I’m going to show you how to use that metadata to create a portfolio.
- ## Could GitHub make a CMS?
Tuesday 23rd February 2016

Following on from my previous article, I wanted to explore the idea of GitHub making a CMS. What would it be? How would it work? Why would they even do it? To break down this hypothetical concept, I’m going to use the Five Ws, otherwise known as “Who, What, Where, When and Why?”.
- ## Building a site entirely on github.com
Thursday 18th February 2016

Have you ever thought: What’s the minimum I need in order to build a site? I’ve thought about it quite a bit. So much so, I like to test my theories out in personal projects; in this case, my own portfolio site. However, I might have taken it a bit too far...
- ## My screencasting setup
Saturday 15th August 2015

A while ago I created a screencast series called ‘Baking Bread.li’, this was in preparation for a course for Tuts+ called ‘Building Websites with BaseKit’. In order to make the course I needed to get some equipment together.
- ## GitHub Pages & custom domains
Thursday 9th July 2015

I love GitHub Pages. So much so that I’ve created several websites using it. This site runs on it, and a few others. What I don’t love is setting up domain records. It’s up there with setting up email accounts and doing the dishes.
- ## I listen to too many podcasts
Tuesday 7th April 2015

I’ve had to take a break from listening to podcasts as all I’ve been doing in playing catch up with every single episode of them, rather than listening to episodes I actually want to hear.
- ## How to implement cross-browser SVG Sprites
Tuesday 28th October 2014

In this tutorial I’m going to demonstrate a basic implementation of some SVG icons, how to provide a fallback, and how to turn them into an SVG sprite.
- ## 5 ways to be a better front-end web developer
Thursday 28th August 2014

Frontend web development can be a confusing area to work in. With new techniques, tools and technologies appearing daily, it can be difficult to maintain your skills and understanding of the latest best practices.
- ## Anchor CMS – What is it?
Sunday 21st July 2013

Anchor is a lightweight CMS designed to be simple but effective. It was originally created by the mysterious web designer & developer Visual Idiot. It was born out of his frustration with current CMS platforms...
- ## Creating a theme for Anchor CMS
Wednesday 19th June 2013

We’re going to be making a custom theme for the ‘up and coming’ open source CMS, Anchor. Anchor is a super simple, lightweight and bullet fast content management system.
- ## Web Dev Conference 2012: Look back
Monday 19th November 2012

A week or so ago I attended WDC 2012 (Web Development Conference 2012), which was my first web design & development conference. And yes, I did put design, and you’ll see why in the following.
- ## Tracking time
Friday 7th September 2012

Not long ago I asked my Twitter followers what they suggest for a single person to track their time with. I was worried it might open up a can of worms, but I got an excellent response. Here’s what people suggested...
- ## Just get it done
Saturday 16th June 2012

The scenario is that you've set yourself the task of creating an app, plugin, blog, android or (in my case) personal portfolio website. And thats great, working on your own work is always fun. However it can be far too easy to get stuck in a rut.

### Subscribe to my newsletter

Enjoying what you've read so far? How about getting notified when I publish content in future? Use the form below to subscribe to receive articles, tutorials and code directly to your inbox:

Your email  Subscribe

What's going to happen when I click the button?

You'll be **instantly subscribed to my newsletter**, powered by Ghost. You can manage and unsubscribe at any time.

### Like what you see?

Get in touch if you're looking for help with **front-end development**, **design** or **technical writing**. Use the form below and I'll be in touch as soon as I can:

Your email  Your message Attachments Preview audio Send

Back to top

© David Darnes 1987 – 2025