Things I Have Written

Hugo “in slice” versus union queries

As you may remember, I use Hugo sections to structure my site content, and that affects my queries for things like site comprehensive RSS feed and my “Things I’ve written” section, which shows all posts from every section.

The way I have my site set up is that I have several blog sections, starting with Blog, which currently has 3 posts in it that don’t fall under other sections, and then under Blog I have subsections for iOS, Mac, Hugo, and Apple history. Finally, I have a Podcasts section at the same level as Blog.

Podcasts is mostly unused at the moment as it’s where I’m going to make repositories of past (inactive) podcasts, as well as descriptions and links to current and (and future current) podcasts. However, I’ll also post in that section about different episodes of things I’m in.

Anyway, it …

(Read More)

Editing JSON files with Shortcuts and Data Jar

If you visit my links page, you’ll see a bunch of categories with a unique-per-category icon, a category name, and a bunch of links in that category. Each of those categories is generated from its own JSON file. Simple enough.

However, I don’t really want to have to log onto the server, manually edit JSON files, and recompile the site. First of all, directly editing any kind of file like JSON or XML that has tags or characters that are required for it to make sense which can be accidentally deleted is a bad idea. Mistakes get made. Secondly, it’s just easier mentally to view them a different way.

Since I also want to update my git repository after changing something on my site, I like to use shortcuts that will let me download files to edit, or upload new or edited files, and then update my git repositories and compile my site without me having to do anything other than run the shortcut.

In …

(Read More)

 Firing Up the Apple IIc for “Not x86 Week”

Blake Patterson is always up to something fascinating with interesting retro hardware and software, and his Apple IIc project for r/Retrobattlestations’ “Not x86 Week” is a good one.

And just to show Blake is willing to go the extra mile to get all the details right, here’s just part of the convolutions he performed to transfer a file from Mac to Apple IIc:

I logged into Web Host Manager on my remote web server and used RPM Package Manager to install lrzsz. I then sftp’ed the Apple II HGR image to the server and used the //c, running ProTerm 3.0 and acting as a serial terminal to the Pi, to ssh (from the Pi) to my remote server and kicked off a Zmodem send of the 8K image using sz, which ProTerm recognized and began receiving.

Blake has a list of links to his previous entries for r/Retrobattlestations challenges that should keep you occupied for a few hours. 😂


Image Publish Shortcut

I’ve mentioned here before that I don’t want to have to remember the mechanics behind things like how post summaries work when writing posts. The same applies to images in my posts – I wrote an image handler shortcode but if I have to remember parameters or manually paste shortcodes in iA Writer as I crank out an article, I’ve failed.

Tech is supposed to seamlessly enable me to write and publish, not stand between me and my site like a high priest demanding complex incantations that require years of practice to master. Like I’ve said before, the whole point of me using an app like iA Writer is because it has the writing experience I want, and I don’t want to have to write text in Hugo templates. The site shouldn’t dictate how I write, it should just put whatever words I dictate on display when I’m done.

So… not …

(Read More)

Making the Newton

Apple Newton advertisement

Like every other Apple nerd alive at the time, I was aware of the Apple Newton when it came out in 1993, but I was paying a bit less attention to Apple at that point in my life. I was starting a career in a PC-centric semiconductor company, and that was the beginning of my years-long sojourn into the Windows PC world. As a result, I was unaware of some of the more fascinating stories about how the Newton came to be.

This week Stephen Hackett and Quinn Nelson kicked off their new podcast Flashback with an episode about the Newton. What followed was a couple enjoyable hours of me scouring the web and devouring articles about the Newton and the team that literally suffered and sacrificed everything to make it.

One of the articles they mentioned was a Gizmodo reprint of an article by Tom Hormby on Low End Mac, The Story …

(Read More)

Summary .Render

Having decided that I needed a custom summary rendering solution, I started whipping up a shortcode before realizing that wouldn’t work since I was calling it from a partial. So I started creating a partial, but an interesting conversation with Vic Hudson convinced me to create an alternate layout to call with .Render instead.

More on that conversation later. First, my summary.html layout file:

        <div class="post-title">
            <a href="{{ .Params.linkurl | default .RelPermalink }}">
                <h1 class="title">{{- if .Params.linkurl -}}<i
                        class="fas fa-link fa-sm"></i>&ensp;{{- end -}}{{ .Title }}{{- if .Params.linkurl -}}&emsp;<i
                        class="fas fa-external-link-alt fa-xs"></i>{{- end -}}</h1>
        <div class="post-meta">
            <div class="date">
                <span class="posted-on">
                    <i class="fas fa-calendar"></i>
                    <time datetime='{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}'>
                            href="{{ .RelPermalink }}">{{ . …

(Read More)

Summarizing Hugo Content Summaries

Hugo content summaries and I have a complicated relationship. Rather, the design decisions behind the Hugo .Summary page variable intrigue me.

I’m going to tell you how I render my post summaries on my site front page, main blog page, and many of my various section pages, but not today. Today I’m going to write many words about why I had to come up with my own way of rendering Hugo post summaries. I apologize, but it has to be done.

By design, using .Summary to display a post summary strips out all the HTML formatting. The summary will appear as one block of text, regardless of paragraphs and line breaks in the original text. In addition, any images or footnotes or any other non-plaintext will be removed.

This is … an interesting choice. And not, I suspect, what most people want. …

(Read More)

iA Writer Footnote Converter

I use iA Writer on iOS and Mac as my primary text editor for writing blog posts. I like its Files app integration and ability to work with Working Copy and other Files app providers. It’s also really easy to get at anything written in iA Writer because they’re all stored as iCloud Documents in an iA Writer iCloud folder.

One thing I have had an issue with though is that iA Writer does markdown footnotes in a way that doesn’t work when I post it to my sites as an .md file and compile it with Hugo. For that matter, it didn’t work when I used to put it into Wordpress with markdown enabled either.

iA Writer’s footnote format looks like this:

There is a footnote at the end of this sentence[^this is the footnote].

That doesn’t convert to a proper markdown footnote in most (all?) markdown …

(Read More)

The Unwieldiness of Complex Shortcuts

I use and rely on Shortcuts app for many of my iPad workflows. The most complex of them that I’ve created are for publishing to my Hugo-powered blog, and for publishing episodes of the various BubbleSort podcasts.

One issue with Shortcuts that I’d love for Apple to address, which they almost certainly won’t, is the ease with which they become too complex to manage or restructure.

Case in point is my Blog Post Publish shortcut, which I wrote in such a way that I could use it for multiple websites. This necessarily leads to multiple menus and multiple nested If statements, since Shortcuts doesn’t support the “else if” construct.

Nested If statements in Shortcuts

Instead, the next if clause gets forced under an Otherwise statement, so that if written in code, it would like something like this:

If (blog == “ …

(Read More)

Hugo .Summary Customization

In my article on supporting link posts in Hugo, I went on a short tangent about the Hugo .Summary function and the fact that I wasn’t using it, but was instead piping .Content to the truncate function.

Mainly I wasn’t using .Summary because it basically strips out the html paragraph tags and makes a big block of text. I find this an interesting choice, because who does this? No one, that’s who. Everyone who uses summaries wants legible summaries, including paragraph breaks. Hugo summaries make the assumption that a handful of words will be enough to draw your readers in, and that that’s the look you want in the first place.

Hugo does provide for overriding this by putting a summary in front matter, but that seems like a major kludge considering how easy it would be for .Summary to take a few option parameters. …

(Read More)