Things I Have Written

Working Copy WebDAV Server

I’m an avid user of Working Copy, the brilliant iOS Git client from Anders Borum. Apparently I still have a few things to learn about it though, as I discovered while listening to Episode 71 of the excellent iPad Pros podcast.

It turns out that in order to solve the problem of being able to browse and work with Working Copy repos from directly within Panic Code Editor (another iOS app that I use every day), Anders bestowed upon Working Copy a built-in WebDAV server. Fire it up, create a server entry in Code Editor pointing to the WebDAV server IP, and get to work.

The best case scenario is that when Panic updates the app, they allow direct access through Files app integration, since Working Copy can act as a Files location provider, but in the meantime, this solution works pretty well.

Using Hugo content sections for RSS feed flexibility

I’ve done a lot of testing with Hugo’s RSS feed generation in the past week, and one fact stands out: you can fight the law, but the law always wins.

In Hugo’s case, the law is content sections. Content sections are the key to RSS flexibility.

You may remember me expressing some bitterness about the way Hugo’s default is to litter the place about with RSS feeds for every single type of taxonomy that you have enabled. Having an RSS feed for every tag is silly, and so I figured I would just disable that. Turns out, it’s not so simple.

As I discovered last week, there’s a lack of granularity for enabling and disabling RSS feeds beyond sections, taxonomies, and taxonomy terms. That sounds great, until you realize I’m not talking about specific sections, taxonomies, and taxonomy terms. I mean all sections, or all taxonomies, or all taxonomy terms. Hugo RSS …

(Read More)

Hugo Feed Link

Yesterday I wrote about how to customize your Hugo RSS feed so that you have one feed named feed.xml. One other addition you may wish to make is to link to it in your page headers.

It’s simple enough – assuming you’ve made the modifications to make Hugo name your RSS feed “feed.xml”, add the following to your base template somewhere between the <head></head> tags. Obviously there will be a lot more in your page header, but this is simplified for our purposes.

<link rel="alternate" type="application/rss+xml" href='{{ "feed.xml" | absURL }}' />

Now when you view your page source, you’ll see a link to your RSS feed embedded within.

By the way, in case you’re wondering how I did a view source on iPadOS, the answer is a View Source shortcut, which can be found here.

Customizing Hugo RSS Feeds

Yesterday I griped about the way Hugo generates RSS feeds for every section and taxonomy, and how it names them all index.xml. Then, not long after I posted my complaints, I found all the answers I’d been seeking.

First, the default RSS handling in Hugo is weird. Anyone who thinks it’s how RSS should work on a website is … well, let’s just use the word wrong and smile in a friendly manner while we do. But it’s wrong.

The good news is, both of my desired changes, having one RSS feed for my blog posts only and having that feed named feed.xml, are quite simple to achieve. All that’s needed are some minor additions to the site config file and an RSS template.

The list of steps to perform are as follows:

  • Configure the site to have one single RSS feed in the site’s root directory.
  • Configure …

(Read More)

Hugo RSS Feeds

One thing about Hugo that I’m not in love with so far is its default RSS feed handling, which admittedly I most likely don’t fully understand. What I want from my site is specific feeds for specific things, and nothing more. That might sound controlling, but it’s not about that so much as it’s about clarity and organization.

For example, Hugo by default makes an RSS feed for all new content on the site. That means if I create a Contact page or an About page or a Projects page, it gets added into my RSS feed, which seems really stupid it me. Generally people want RSS to follow blog posts or specific topics. That’s what I want too.

In addition to this overall, way too comprehensive feed, Hugo loves to create feeds for every item in every taxonomy type. I don’t want to be rude to whoever decided this was a great idea, but does it really seem likely that anyone wants to follow an RSS feed for tags used in blog posts? …

(Read More)

Panic Code Editor

I have a few apps on my iPad I consider workhorses, and certainly one of those is Code Editor from Panic.

Code Editor is kind of a 3-in-1 tool for working on websites:

  • SSH client,
  • FTP client,
  • Text editor.

This is the perfect set of features for me for working with Hugo sites because I need to move files around (FTP), edit files (text editor), and compile the site to see my changes (SSH client).

Furthermore, I often use each of these features individually to do some quick task. The FTP functionality alone is pretty valuable ever since Panic discontinued their Transmit FTP app on iOS.

Code Editor is not perfect, however. I’m not going to say I’m hesitant to recommend it, because I’m not, but there are a couple caveats.

First, it’s not a new app and it will eventually be replaced by a new Panic product called Nova. Right …

(Read More)

Recent Podcast Appearances

Rather than post an “ICYMI” to Twitter, I’ll mention a couple recent podcast appearances here instead.

I was fortunate enough to enjoy a two-part appearance on iPad Pros with Tim Chaten, the first episode of which went live yesterday. It’s Episode 69 – Shortcuts and Data Jar with Scott Willsey.

Yesterday we also released episode 50 of BubbleSort TV, Mr Robot S04E11 : 411 Exit, with myself and Vic Hudson. We’ve been covering Mr. Robot Season 4. It’s a good one, and it just got really weird.

Serving up Hugo on the Mac

The beauty of the Mac that my Windows-tolerating, Mac-non-understanding friends don’t see is that it runs Unix, and that means it can run everything the entire web is built on and the tools that are used to develop the entire web.

Hugo is no exception. You’re probably not going to want to run production sites from your Mac, but you can get a lot of development work and testing done by running Hugo on a Mac and hacking away at your sites from your local network.

Installing Hugo on macOS is relatively simple using Homebrew.

Homebrew’s marketing technique leaves a bit to be desired:

Homebrew installs the stuff you need that Apple (or your Linux system) didn’t.

Less than convincing, yes, but Homebrew is in fact quite useful. Once Homebrew is installed, getting Hugo on your Mac is just a matter of typing the following in the command line:

brew …

(Read More)

Pair Programming with Hugo

I mentioned in my first post on my new parallel universe version of that I am using Hugo to generate the site. And Vic and I joked in our Mr. Robot Season 4 podcast on BubbleSort TV that we are now pair programming buddies. Truth is, I have worked a lot with Vic on both the BubbleSort sites and server and on Hugo in general, learning what I needed in order to build this site and prepare for some future projects.

Hugo has a lot of what you need to make a full-featured website built in. It’s highly customizable, and it’s not hard to learn. Like anything, it does take a little time and digging to uncover some of its nuances.

One of the things I’m working on right now is customizing the RSS feeds for the site so I can start linking to them and people can start using them. By …

(Read More)


I love beginnings. New projects, new directions, new things to learn and create.

My personal website is a project with a beginning, and ending, and now another beginning. I have moved it from my old web host and Wordpress to a different platform entirely, for both practical and frivolous reasons.

This site now uses Hugo, a static site generator that has a lot of the benefits of dynamically rendered sites with the performance and increased security of one that doesn’t have a giant code base and sql database behind it. With this change, I get a chance to dig into a new technical challenge as well as to revamp the site’s content and direction.

It also gives me a lot of great options for automating my publishing workflow for iOS with Shortcuts and apps like iA Writer, Working Copy and Secure ShellFish. …

(Read More)