After getting QMK to work, I thought it would be useful to document how I got it to work. This is starting from zero, using a Ubuntu live booting USB drive.
Hardware I’m using a basic Pro Micro dev board. It uses the ATMEGA 32u4, and supports USB natively, which is what we need. When getting these, make sure to get Micro-USB (otherwise you have the chonky mini-USB), and the 5V/16MHz version.
I made a “simpler” version which uses a preprocessor and Hugo Shortcodes to embed tweets as images. It’s easy to use while writing, the preprocessor generates images using Chrome / Puppeteer as needed.
This is based on Ben Frain’s version, simplified a bit since we get the table of contents statically embedded.
Code The full code (in layouts/partials/article.
The lazy person’s guide to confirming that a move to a static site worked.
Download all relevant URLs from Search Console Convert download to a URL list Check for http to https redirects Check for valid final URLs Download all relevant URLs I’m picking one approximate source of truth - the URLs that received impressions in Google Search. This list doesn’t need to be comprehensive, just something more than I’d manually pick.
This is a simple (“simple” hah, it’s pretty complex for a simple annotation) implementation of a bounce URL for adding rel=nofollow support to a static HTML site. (More on other nofollow approaches)
Overview We’ll modify 3 things:
Add a /nofollow/ URL which redirects as appropriate Add the /nofollow/ URL to the site’s robots.txt. Modify the render-link.html code to swap in the rel=nofollow Passing mechanism: We’ll use URL anchors (/folder/page#anchor) to pass the destination URL.
I touched on nofollow for Hugo-sites recently, but thinking about it a bit more, I wonder if it needs some kinda of failsafe setup. What happens if Hugo stops injecting the link parser? What happens if I move to a different setup and forget the link processor? What happens if … (insert paranoia here)
The goal of nofollow links is to avoid having search engines use them, but still to allow users to use them.
If you’ve been following along, or probably not, since none of this is live yet, I’ve been moving some of my random old sites over to static hosting to simplify life. Static hosting doesn’t solve everything, and doesn’t protect your cheese, but it’s cheap & carefree (at least, until your hoster deprecates their static hosting). Finding new places to put static hosting is pretty straightforward too.
I use Firebase static hosting for this site at the moment, that’s what this post covers.
Want a simple search functionality for your Hugo site? Here’s the setup I used here.
It uses the Google search advanced query operators (which you can get if you go to Tools / Advanced Search) to add the site as a separate parameter.
as_q = the query you want as_sitesearch = the site you want to search in It opens up in a separate window, if you’re ok with that.
Mostly a random collection of decisions I made when revamping this site. I’ll try to update this over time as I make new calls.
Hosting Post in markdown. This is mostly for comfort, it’s easier than writing HTML.
I use Hugo as a static site generator. I thought static site generators would be easy; I was wrong. Hugo uses Go and a bunch of libraries, I can’t install all of it on my company laptop (without disabling some security features, which otherwise seem like a good idea).