Recent Articles

Adding a Sitemap in Metalsmith
Adding a Sitemap in Metalsmith
Jan 11, 2020 · 4 min read

Sitemaps are XML files that provide a list of all pages on a site that should be crawled by search engines, and they're very simple to add in Metalsmith.


Adding a Google Site Ownership Verification File in Metalsmith
Adding a Google Site Ownership Verification File in Metalsmith
Dec 28, 2019 · 4 min read

In order to manage your website in the Google Search Console you first need to verify ownership of your site. One way of doing this is by downloading a special HTML file from Google and uploading it to your site for Google to crawl.


Linting Metalsmith Output HTML
Linting Metalsmith Output HTML
Dec 8, 2019 · 3 min read

Best I know, there aren't any good ways to test the output of a Metalsmith build to make sure things like updated dependencies didn't break styling or content. But one thing we can do is lint the output HTML to make sure it's at least syntactically correct and doesn't contain broken links.


Using Font Awesome with Metalsmith
Using Font Awesome with Metalsmith
Dec 1, 2019 · 3 min read

Font Awesome is a large set of icon web fonts I've been using in multiple projects for years. They add new icons and entirely new styles all the time and in general their free tier is good enough for most projects to start. Let's dive into including their static assets into a Metalsmith project.


Using Bootstrap 4 with Metalsmith
Using Bootstrap 4 with Metalsmith
Sep 22, 2019 · 6 min read

As a primarily back-end developer I tend to use Bootstrap in most of my full-stack applications. It's a great way to save some time getting a small project or prototype up and running. Using Bootstrap in Metalsmith isn't complicated, it just takes 3 plugins.


Starting a Metalsmith Project
Starting a Metalsmith Project
Sep 19, 2019 · 12 min read

Metalsmith is a plugin-based static site generator originally from Segment. It's a current favorite of mine because of how sites are built as a pipeline of plugins where the output of each plugin is the input of the next. This allows for strong control over what happens and when it happens.


The Concept of Deployments
The Concept of Deployments
Aug 23, 2019 · 8 min read

Pupils dilated. Sweaty palms. Tingly legs. You lean in. A world of opportunity lays before you. You close your eyes…and wait. Deployments.


Tunneling a Database Connection with Docker Compose
Tunneling a Database Connection with Docker Compose
Aug 7, 2019 · 3 min read

I recently had the need to tunnel a database connection from a local Docker container to a remote MySQL server. The AWS RDS instance is inside the same VPC as a bastion host that runs the SSH server. Rather than open the tunnel on the host machine and have the container connect through host.docker.internal I thought I'd configure it all in one place with Docker Compose.