Kevinleary.net, LLC.

Blog

Sensible approaches to build and maintain custom WordPress websites.

The Evolution of JavaScript Module Patterns

The evolution of JavaScript module patterns has been a huge headache for web developers. Attempting to work with plugins and libraries that all use different module patterns overly difficult, but once you understand each pattern and how to work with it you can begin to translate and make sense of each. This article should provide…

Export & Import All Databases on a MySQL Server

When I upgrade MySQL I like to start with a backup of all my MySQL databases. I have 50+ databases in my localhost server, so it’s best to bulk export them all to a single .sql file with one command. I need this export to be easy to import back into my MySQL server as…

Using Moment in Angular/TypeScript

Using Moment in a TypeScript Angular app is easier than you think. Here are the steps you’ll need to take to get it setup. Basic Moment Usage Run the following commands inside your Angular CLI project to install Moment and it’s corresponding interfaces. npm i -S moment; npm i -D @types/moment; Once this is done…

Currency Formatting in JavaScript & TypeScript

There’s a simple, native way to format numbers and floats as currency strings in JavaScript. I’ve seen all kinds of approaches to this common scenario. The toLocaleString method is built-in to JavaScript, 100% supported in majority browsers, and requires no external libraries or dependencies. I’d recommend it as the best approach to take if you…

Display HTML in Angular Components

Displaying HTML in an Angular component that’s stored in a template variable isn’t as straightforward as you’d expect. In order to properly store and display an HTML string in a component without issues, you’ll need to take one of two approaches depending on the tags and attributes in the HTML. If you’ve tried displaying HTML…

Quick Fix for WordPress ob_end_flush() Error

From time-to-time I see the following error on your WordPress website, usually at the very bottom of your pages below the footer. ob_end_flush(): failed to send buffer of zlib output compression (1) This happens when your WordPress theme or plugins use output buffering but don’t flush the output properly or, in some cases, when there…

Ionicons in Angular: Web Component Fix

Ionicons 4.x provides a web component that you can use to add an icon with <ion-icon name=”…”></ion-icon>. Using this web component in an Angular app doesn’t work though, and many developers have reported that Ionicons 4 is broken when used with Angular. If you’ve tried to include Ionicons 4 in your Angular CLI project you’ll…

Mac Dock & Multiple Monitors

Unfortunately the native Mac OS X dock can’t be used on multiple displays. You can get it setup so that it’s available on both, but what most people are after (myself included) is a seamless dock that spans two external display monitors reliably. I’ve tried all of the suggested approaches mentioned on the Apple stackexchange…

Change the WordPress Gutenberg Editor’s Width

To change the width of the WordPress Gutenberg editor you need to load custom CSS rules for it. Here’s an overview of how to quickly change the width, including loading the stylesheet and adding the specific rules that will increase the width of the Gutenberg editors content area. Load Custom CSS for Gutenberg Editor Inside…

Parsing URL Parameters in Angular Components

Simple tasks are often confusing the first time you handle them in Angular. There are many answers to most of these simple questions, but many of them are overly complex and confusing to understand. If you’re just starting out with Angular, or have recently made the switch from AngularJS, you’ll most likely need to work…

How to Disable the WordPress Gutenberg Editor

WordPress 5.0 will be released on 12/7/2018, and with it comes a new editing experience known as Gutenberg. To avoid broken websites, confused and frustrated clients, and havoc within your WordPress websites you can preemptively disable the Gutenberg editor entirely by installing the official Classic Editor plugin from the Automattic team.

Test a Website for ADA Compliance & WCAG Accessibility

ADA website compliance is an important aspect that every business owner should understand and be aware of. It’s always been important to develop a website following the WCAG and ADA compliance guidelines, but most websites out there don’t. It’s now more important than ever with potential legal implications on the line. Unfortunately it can be…

90+ Enterprise Businesses Using WordPress

WordPress is a highly flexible publishing platform for the web that powers all kinds of websites, from local small businesses to Fortune 1000 enterprises. Examples of big brands using WordPress aren’t easy to find, so I decided to do my own research and compile a list of business from the Fortune 1000 that are currently using WordPress to power their website.

Fix Hanging Words in WordPress

Hanging words are known as typography widows, they’re those annoying scenarios where you find yourself with a single hanging word on it’s own line in an HTML element, like this: Everything looks great until we size down the viewport and find that we have a single word left hanging. In this example, hanging is a…

Accessible Dropdown Menus for WordPress

Here’s a quick function that you can use to make any dropdown menus accessible in your WordPress theme. This assumes that you’re running a layer of JavaScript to actually make `.sub-menu` items appear when a top level menu item is hovered or clicked on. It wouldn’t be good to add this without having dropdown menus implemented, but hopefully that’s obvious.