How To: Verify Your WordPress Site on Mastodon

UPDATE: TIL, This code block is not needed. WordPress hides access to this rel attribute under the Screen Options drop- down under the “advanced menu properties” checkbox called Link Relationship (XFN). Better instructions are available here. For posterity, the post as published:


I recently set up a Mastodon account (I’m @jb@hachyderm.io — follow me)!

I noticed the “edit profile” page offers an easy way to verify that you control URLs that I add to my profile:

A screenshot of the Verification helper in my Mastodon profile edit settings page

This is just a hyperlink (a href tag) that includes a rel="me" attribute.

I wanted to add a link to my new social media presence anyway, so I added a “Custom Link” to my “Social Links Menu” in the WordPress Customizer. For better or worse, the UI does not let me customize the HTML that these links end up printing on the page:

The Custom Links input screen in the WordPress Customizer
Only URL and Link Text are editable :-/

I was able to quickly add the requisite attribute with this code snippet in a custom plugin:

add_filter( 'nav_menu_link_attributes', function ( $atts, $menu_item ) {
        if ( 'https://hachyderm.io/@jb' !== $menu_item->url ) {
                return $atts;
        }

        $atts['rel'] = 'me';
        return $atts;
}, 10, 2 );

Obviously, replace the https://hachyderm.io/@jb in the above with the link to your Mastodon profile.

I reloaded my site and confirmed by viewing the page source / inspecting the link element that the attribute was added.

Once this was in place, I went back to the Mastodon Edit Profile Page and clicked “Save Changes.”

Now, my URL shows as “verified!”

I might set up my own instance eventually, since it seems pretty easy to move and I like to tinker 🙂

So far, I’m pretty impressed with the Mastodon new user experience!

Systemd Timer Calendar Validation

I wanted to schedule a recurring action on my Linux machine recently and was reminded that timers have replaced crontab as the tool of choice. They’re really powerful, but I always have to look up how to use them.

I edit these so rarely, I have to look up the syntax for specifying when I’d like an action to happen. The last time I did this, I came across a handy one liner to help crafting these:

systemd-analyze calendar $CALENDAR_SPEC

This command is useful to “Validate repetitive calendar time events”

For example:

$ systemd-analyze calendar "*-*-* 01/4:49:00"
Normalized form: *-*-* 01/4:49:00
    Next elapse: Thu 2022-08-04 17:49:00 EDT
       (in UTC): Thu 2022-08-04 21:49:00 UTC
       From now: 2h 46min left

If that makes sense for the goal of the timer, you can safely put it in an OnCalendar statement! Make sure you remember to run systemctl --user daemon-reload to pick up the changes.

To check your configured timers, run: systemctl --user list-timers

If Politics is Like Football 🏉

If politics is like football, defeating Donald Trump feels more like a successful goalline stand than a victory. We need to move very deliberately in the immediate term and then press hard.

The single largest thing holding back progress in America is First Past the Pole (&, by proxy the Electoral College). Ranked Choice is our best hope to rend power from exorbitantly-funded special interests. It’s like a salary cap.

The more Democrats serve the proletariat the better they’ll fare in future elections. If they kowtow to capitalists, Trump 2.0 Xtreme Edition will dominate in 24 (including down-ticket). It’s time to fake right and go left!