Basic HTML Boilerplate Structure

January 30, 2018

When you only create a new base template every few months (or longer!), it’s hard to remember the little details of the structure that you don’t touch often. As of HTML5, the <doctype>declaration and structure has gotten a lot easier, but it’s still easy to forget. Here’s the basics: <!DOCTYPE html> <html lang=”en”> <head> <title>Page… read more

Switch WordPress Database based on Git Branch

I’m working on a large redesign project where lots of database changes are going to take place. In order to not mix-up the current master branch with the new redesign changes, I made a new database so I can keep things separate. The only trick is to remember to change out the database in wp-config.php… read more

Terminal window with a bunch of queries like

Import a Huge Database with MySQL Command Line in MAMP

I needed to import a 500mb MySQL database today, and I didn’t want to mess with changing the max 32mb upload file size with phpmyadmin.┬áThe 32mb limit is due to having to upload and process the file, but if the file is on your local machine anyways, there’s no need to upload it. Let’s bypass… read more

Terminal Command for Looking up Nameservers

At The Engaging News Project, we recently upgraded our DNS hosting by moving over to Cloudflare. I wanted to test our site as soon as the nameservers updated to Cloudflare’s to make sure no weird issues popped up. Fortunately, there’s a handy terminal command for that! $ nslookup -type=ns jeremyjon.es nslookup is a command to… read more

Apple Bug Report – Non-native Focusable Elements Page Jump

On iOS devices running Safari on version 10+, when focusing a non-native focusable element (ie – a div that is focusable via JavaScript or with a tabindex value) inside an embedded iframe on a page, the parent page will jump down the page and you have to scroll back up to return to the focused… read more

How to Fix Blurry Images in WordPress 4.4 from srcset and sizes

In WordPress 4.4 they added a big feature: responsive images using srcset and sizes for all content images. This is amazing. Since WordPress is a hugely popular framework, the amount of bandwidth saved is astronomical. I’m really proud of the WordPress team for implementing this. But… there are some blurry images. It’s not a perfect… read more

Using BEM in the Wild

BEM can get out of control if you’re not careful. On the first project I used BEM, I handcrafted this artisanal class name: .progress__bar__question-count__current-number. Yup. That’s four levels deep. I’m not proud of this. The goal of this article is to make sure another .progress__bar__question-count__current-number never gets written. Before we dive in, if you’re not… read more

Modular and Descriptive Class Names

What’s the big deal, just name it the first thing that makes sense, right? It makes sense now, so it will probably always make sense! .btn–small, .btn–tiny, .btn–really-tiny, umm… .btn–really-super-duper-tiny! Considering your class names avoids headaches and confusion down the road. But that’s easier said than done. Before we figure that out, let’s get some… read more

B is for Block: An Intro to the BEM Naming Convention

BEM (Block, Element, Modifier) is a great way to keep class naming consistent and meaningful. If you’ve never used BEM before but want to understand how it works, or if you’re thinking about using it for an upcoming site or component, this article is meant for you. If you’re already familiar with how BEM works,… read more

Extensively Extending Sass @extend: How I Overused Extends

Right now, I believe CSS should be minimal, meaningful (to people), and not descriptive of what it looks like (visually). Also, I can be a bit of an idealist. Especially at the beginning of a project. As a warning, this post isn’t meant to teach basic CSS concepts. Get ready for some CSS nerdery. Project… read more