Jamstack is meaningless

Right at the top, let’s say what’s in the title… The name Jamstack is meaningless… but then again, so is MACH … and composable… and headless… and Developer experience… and serverless…, but also, they’re all hugely important Meaningless and hugely important seem to be almost diametrically opposed, so let me take a step back and explain

😱 Book Release: Eleventy by Example – Learn 11ty with 5 in-depth projects

Oh! Hey! I wrote a book. Fancy that! It's, of course, all about 11ty.

11ty Second 11ty: Creating Template Filters

This week, we’re going to dive into 11ty filters. We’ll use 1 built-in filter, and make 2 custom filters.

11ty Second 11ty: Global Data files (JS and JSON)

In these two videos, we take 110 seconds each to discuss how to use 11ty's Global Data files to pull static data with JSON and dynamic (at build time) data with JavaScript.

11ty second 11ty: The Render Plugin Part 1

The Render plugin is comprised of two shortcodes for use in your Nunjucks, Liquid or JS templates. It’s a plugin that is bundled with the main 11ty NPM package and ready to use as soon as you nom install 11ty.

Help needed: Netlify's Dusty Domains event – Give me your domain ideas

Netlify has this great event for December: dusty.domains, but I don’t have any old domains. I still want to participate, and that's where you come in! I need domain ideas. For every domain idea I get (that's an available domain), I'll donate $1 to one of the four charities on the Dusty Domains site (up to $100).

Frontend environment variables with Astro.js

How to set up environment variables for use in client-side "islands" in AstroJS

Quick experiment with the Slinkity 11ty plugin

A quick write up of my first experiment with the Slinkity 11ty plugin. We build a quick "Like" button for my son's art site.

Creating a dynamic color converter with 11ty Serverless

11ty started out as a static site generator, but is quickly getting into the dynamic game. Use the templates and structure you love, but use them on the server, as well!

Using 11ty JavaScript Data files to mix Markdown and CMS content into one collection

In this article, we'll mix Markdown files with external data sources to create a unified 11ty Collection.

CSS Tricks redesigns again, algorithmic CSS, and experimenting with your team process

A newsletter for 2021

Starting a new email newsletter

How to show your template code in 11ty blog posts

If you write a technical blog and use 11ty as your static site generator of choice you might run into a conundrum: How do you show Liquid or Nunjucks template code in your code blocks.

New City, New Job, New Content

In July, I've moved to a new state and started a new job. I'm now living in the mitten-state of Michigan and working for the awesome DevRel team at Sanity.io!

Using Nunjucks 'If Expressions' in 11ty to create a simple active navigation state

In this tutorial, we'll set up a simple navigation, identify what page navigation item we need to activate based on URL parts and add an active class to that element with no need of an if tag

Climbing the 11ty Performance leaderboard with Cloudinary, critical CSS and more

A few weeks ago, Zach Leatherman announced that he was going to change the Built with 11ty section 11ty's documentation. He was going to create a performance leaderboard to showcase performant projects using the tool. I wanted my site to break into the top 100!

Three JAMstack movements to watch in 2020

This article covers three topics I think will help define the JAMstack in 2020.

Create a Codepen promo watermark with no additional HTML, CSS or JS

In this tutorial, we'll cover the basics of adding a watermark to a CodePen Pen with no additional html, css or js on that pen.

3 underused CSS features to learn for 2020

CSS has a whole lot of power. There are properties and values for any number of amazing designs. With all that power comes a lot to remember. If you don't know about all the tools in your toolbox, how will you find the right one for the job? In this post, we'll take a look at three lesser-used, but super useful tools for various jobs in CSS.

Use CSS Subgrid to layout full-width content stripes in an article template

I love JavaScript, but I love rendered HTML much more, so I challenged myself to convert James' client-side JS code to something that rendered HTML. I wanted to do it as quickly and as concisely as possible.

Adapt client-side JavaScript for use in 11ty (Eleventy) data files

I love JavaScript, but I love rendered HTML much more, so I challenged myself to convert James' client-side JS code to something that rendered HTML. I wanted to do it as quickly and as concisely as possible.

CSS Gap creates a bright future for margins in Flex as well as Grid

In this tutorial, we'll take a look at how we've added margins in the past with Flex and how gap makes it so we can have these internal margins with no hacks.

Create your first CSS Custom Properties (Variables)

In this tutorial, we'll tackle one of the amazing new features of CSS: Custom Properties. You may also have heard them referred to as CSS Variables.

Use CSS Grid to create a self-centering full-width element

In this tutorial, use CSS Grid to create a self-centering full-width element. Traditionally, this required extra markup, but with CSS Grid, we won't need it!

Creating an 11ty Plugin - SVG Embed Tool

In the sites I’ve built with Eleventy (11ty) recently, I’ve found myself reusing a couple filters. This has involved me copying and pasting the code a lot. The solution? Create an 11ty Plugin.

Now offering design and code reviews at PeerReviews.dev

For the past few months, I’ve talked with a lot of different people about how best to serve up-and-coming designers and developers. I want to be a resource for people learning to code and learning about design. So, when my friend James Q. Quick released his first code review on YouTube, I knew I needed to follow along.

Routing contact-form emails to different addresses with Netlify, Zapier and SendGrid

When your client wants dynamic form processing, and your site is "static," what are you going to do? In this article, we'll explore two methods to do dynamic form routing based on a user's answer to a form field.

Create an Eleventy (11ty) theme based on a free HTML template

In this video series, we'll take a look at what it takes to start with a free HTML template found on Google and convert it for use with a static site generator (SSG). We'll be using my personal favorite SSG 11ty (EleventyJS).

Client work and the JAMstack

I worked at an agency for almost six years. In that time, I created only a handful of static sites. Part of this was because the agency had a custom content management system. The other part was an unwillingness to give up "dynamic" websites. I've created a website to aggregate resources for agencies and freelancers looking to branch out into the JAMstack.

Grid vs. Flex: A Tale of a "Simple" Promo Space

I love the new layout modes in CSS. Grid and Flexbox are both amazing features. They each have their place. What if I told you that if you used the "wrong" one, you could double your CSS and HTML? Let's take a look at what appears to be a simple promo grid.

Using Eleventy's (11ty) JavaScript Data Files

I enjoy building workflows for pure static sites. I enjoy ingesting data into my build process instead of loading my client-side with fetches. In this example, we'll use Eleventy's ability to use a JavaScript file, to execute code to fetch data on site build, negating the need for task runners like Gulp.

The Tech Barrier to Entry

I'm grateful for my unique journey to find my professional niche. It's taken a lot of twists and turns. Is my journey replicable in this era of developer tooling and convenience?

What Can We Learn from CERN's WorldWideWeb rebuild?

Have you ever wanted to go back in time and see what it was like to browse the web using Sir Tim Berners-Lee's first web browser? I have. Apparently so did the team at CERN. For the 30th anniversary of the world's first web browser, The European Organization for Nuclear Research (CERN) brought togoether a team to recreate WorldWideWeb in a modern browser. 

Let's bring Fan Sites and webrings back!

In the days before the web was mainstream, it was a place of creation. First for education, then for every random idea that any creator had! As the web transitioned from a network of educational institutions to the consumer force it is today, the early adopters were technologists... AKA geeks! 

Practical CSS Grid - Launching My First Course

Late last year, I took the plunge and began to work full time on my passion - education. That has led to today. Today, I officially launched my first online course - Practical CSS Grid!

Build Trust on the Web incorporating User Worries with your User Stories

The web is suffering from a crisis of trust. Every week there’s a new story posted about a data breach or untrustworthy practices (I’m looking at you, Facebook). How can we fix that? When we create user stories for new features, shouldn’t we also create user worries about them?

2019 The Year of Markup-First Development

The state of the web in 2018 has been heavy into the world of JavaScript. We've made amazing advancements in the way our sites work. Every site has the ability to feel like an application. Without HTML, though, our fancy future may have a dystopian layer right beneath the surface.

Refactoring CSS into a Sass mixin

It struck me recently as I was writing a new Sass mixin that there may be designers and developers out there that haven't translated vanilla CSS into a Sass function. In this article, I want to show how to take often-used CSS and convert it into a DRY (Don't Repeat Yourself) Sass mixin.

Starting a new journey with Code Contemporary

I'm beginning my new journey as an independent creator. I've left the comfortable confines of agency life to see what I can do creating resources for designers and developers. I'll be writing, recording, speaking and consulting. Much of this will be under the heading of my new company Code Contemporary

Dynamic Static Sites with Netlify and iOS Shortcuts

An experiment adding dynamic functionality to this site pushed via iOS shortcuts and Netlify functions

Top 3 uses for the ::before and ::after CSS pseudo elements

It’s no secret that I'm a fan of ::before and ::after pseudo-elements. I use them to great effect for creating darkened overlays in this previous post. They have so many uses beyond that, though. Here are my top 3 uses for them in my every-day development process.

How To: Use CSS Grid to Mix and Match Design Patterns

In a previous tutorial, I described how to create a simple fluid card grid with CSS Grid. In this tutorial, we'll take it a step farther and create promotional spaces that morph in interesting ways.

Use CSS ::before and ::after for simple, spicy image overlays

Use :after elements to create the simplest HTML possible to render useful and fun overlays on top of background images. Then extend them with blend-modes!

Modern CSS: Four Things Every Developer and Designer Should Know About CSS

Contrary to popular belief, CSS is an absolute delight. Many developers I talk to think the phrase "Modern CSS" is an oxymoron. If you haven’t been watching the growth and maturity of CSS in the past 5 years, you’re doing yourself a disservice. 

3 Strategies for Getting Started with CSS Grid

If you're wondering how to start working with CSS Grid, here are three strategies for adopting it into your workflow.

CSS Tip: Use rotate() and skew() together to introduce some clean punk rock to your CSS

I'm still convinced that taking inspiration from punk rock design of the 70s and 80s is going to be a trend. If you want to start small, introduce some angles to your design. This is a simple trick to angle a stripe of content without adding awkward white space.

The 5 Stages of Grid Love

Looking back on the past year, I've identified the five stages of my love with the CSS Grid Specification.

How To: A CSS-Only Mobile Off Canvas Navigation

Mobile navigation and the "hamburger nav" pattern aren't going away. In this tutorial, I'll walk you through creating a mobile off-canvas navigation with only CSS and HTML.

How To: Use CSS Grid Layout to Make a Simple, Fluid Card Grid

In this tutorial, I'm going to show you how to take one of the most common tropes of web design -- the card grid -- and make it fluid. 

Make a More Flexible Cover Screen with CSS Grid

Our design trends are about to get a facelift. Grid Layout is coming in the next release of modern browsers. It's important to get a grip on its utility. Let's take a common trend in editorial and marketing design - the "cover page" banner area.

Firefox 52 to Introduce New Box-Alignment Values

CSS Grid is coming in Firefox 52 in March. That’s amazing. It could overshadow a few small improvements that are also coming in the release. The Box-Alignment module is getting a couple new features, as well.

Falling Forward — Rethinking Progressive Enhancement, Graceful Degradation and Developer Morality

Forget what you know about Graceful Degradation. Forget what you know about Developer Convenience. Forget what you know about Progressive Enhancement. Instead of arguing over these terms, we should focus on how to change our culture. Create "fallforwards" not "fallbacks."

Start Exploring the Magic of CSS Grid Layout

Grid is an amazing new CSS Specification coming to major browsers in 2017. When it’s ready for use in production, it’s going to drastically change the way we do layout on the web. Currently, there’s no real browser support. Edge and IE10/11 "support" grid, but they implemented an early version of the specification and it’s significantly broken.

I Converted My Blog to CSS Grid Layout and Regret Nothing

With the death of Lella Vignelli last week (Dec. 21, 2016), I read for the first time The Vignelli Canon. The layout of the pages inspired me. I knew that I wanted to give a quick update to some of my blog posts to mirror some of the design from that book -- a book that talks about grids, as well.

Feature Queries are on the Rise

Since the Web became a more beautiful place with the advent of CSS, there’s always been a struggle in the use of more modern features of CSS with browsers who are either slower to adopt or more cautious in the way the implement features. There have been many potential solutions for this issue.

CSS Shapes — Let the Text Flow Around You

There’s magic in the air around CSS right now. There’s so much new to be excited about. One simple thing that you should get excited about is the CSS Shapes Module. These are not CSS shapes like building triangles out of border property hacks. This is taking your content and shaping it around shapes and images.

Flexbox -- Let's start simple

Layout in CSS is hard. We’ve spent the 2 decades since the inception of CSS battling with its idea of how to lay out content on the web. When we moved from table-based layouts to CSS layouts with floats and positioning, we gained a LOT of flexibility, but we also lost things like vertical centering that tables afforded us. Floats and positioning got us a long way to making really nice looking sites, but with the advent of responsive design and fluid layouts, the struggle has been real...

Memorializing Prince and Print vs. The Web

A giant of the music industry passed on April 21. While I wasn’t a zealous follower of his music, I can tell you the world is a sadder place without Prince in it. But that’s not what I’m writing about. In the social media memorializing of this titan, I came across this

I went to Italy and noticed UX fails

Ciao friends! I’m just arriving back in the States from a trip to Italy. I’m not exactly much of a world traveller, but a good time was had. While I enjoyed the majority of what I saw, I also observed a few major usability fails that I wanted to bring up. Give the blog a little international flair.

How to Get Designers to Contribute in Open Source

I’ve been thinking a decent bit this year about how to get designers involved in Open Source projects. There’s more and more being talked about in this vein, and I don’t plan on rehashing what they talked about (The Intimidation Barrier and Open Source Design by Una Cravats and one of the first guiding documents -- The Open Source Design Manifesto by Garth Braithwaite to name but a couple).

The True Gift of Your Former Code

I’m not in the same league as most developers I have the pleasure of meeting, but I had been pretty proud of the little Django app I put together for my old portfolio site. It worked pretty well. I had loads of plans for it when I made it — none of which came to fruition. In the end, it served it’s purpose and I learned a lot in the process.