I recently discovered SVGOMG by Jake Archibald. It acts as a GUI for SVGO, an incredibly useful SVG optimization tool. It you do anything with SVG images on the web, check it out. [Visit link]
Hello. My name is John Hughes and this is my website where I write about web design and development and anything else I find interesting.
For those times when you’ve done something wrong in Git and you have no idea how to fix it, Katie Sylor-Miller’s dead simple Git commands might just save you and your project. There’s also a Twitter account. Warning: explicit lyrics. [Visit link]
Where would we be without CSS Tricks? Chris Coyier’s complete guide to flexbox is exactly what it says it is: an invaluable reference for all things flex. I would be lost without it. [Visit link]
If you use SSH from the command line, you can use aliases to avoid having to remember usernames, domains, and IP addresses. You can also use those aliases with anything else that communicates via SSH, including Git.
I recently wanted to reformat a memory stick so I could move a big file between two computers. It should have been easy, but instead it sent me down a rabbit hole of options for file systems. Here is what I found.
If you have Linux for a while, you might have tried installing something from source. However, removing it again can be a slow and tedious process. CheckInstall makes it easy to manage software installed from source by creating standard binary packages first.
There are lots of good reasons to switch to HTTPS. It protects your users and your site from third-party interference, it lets you use the much faster HTTP/2 protocol, and it might even give you a little SEO boost. For more details, and even more reasons to switch, check out Scott Helme’s recent post on HTTPS. And, thanks to Let’s Encrypt, switching to HTTPS is now both free and extremely easy. [Visit link]
A little while ago, I wrote a PHP class to promote and demote headings in HTML content so that they fit in with the surrounding document outline. Since then, I have found a much simpler method, using regular expression substitutions with callbacks. As a bonus, here is how you do it in four different languages.
Performance matters, especially for the current generation of multiple megabyte websites being pushed down flaky mobile data connections. Andrew Smales has posted some really useful tips on making web pages go fast. Take note! [Visit link]
In a previous post, I described a Sass media query mixin that makes it a bit easier to generate CSS for old versions of IE that don’t support media queries. The idea was to use a global variable to decide whether or not to surround the CSS rules with min-width media queries. Modern browsers get a mobile first responsive site and old versions of IE get the equivalent of the largest breakpoint.
The beautiful Independent Publisher WordPress theme is now available on WordPress.com. They have made a few changes to Raam Dev’s original, but it retains a clean, minimalist design that puts content first. [Visit link]
If you haven’t seen Brad Frost’s site Death to Bullshit yet, check it out now. The more websites serve advertising networks, the less they serve human beings and that is a bad thing. [Visit link]
Jon Yablonski has written some really good front-end principles for designers. A good design process benefits everyone: designers, developers, and users. Thanks to Brad Frost for sharing the link on Twitter. [Visit link]
A data URI can be used to embed files directly in HTML or CSS as base64 encoded strings. Here is a quick PHP function to do just that.
You might have noticed that the current iteration of my site doesn’t have much in the way of design. In most respects, it is mostly text and mostly default. But choosing to avoid additional code and customization has had a number of benefits, not least in performance and accessibility.
Building a website with a content management system is hard. An over-enthusiastic client with a WYSIWYG editor and too much experience of Microsoft Word can wreak havoc on your design. Here are a few lessons I have learned about building sites that clients can update, but not break.