#microformats 2025-05-26

2025-05-26 UTC
#
[jgarber]
[tantek] Did some archaeology on that post and found the original was a reply to a post from Zach Leatherman. Formerly `zachleat` on Twitter, nowadays on Mastodon, etc. linked from his website: https://www.zachleat.com.
#
[jgarber]
He's thankfully posted his Twitter archive! The post I was replying to is available here:
#
[jgarber]
Very interestingly, he was asking about what looks a lot like the `rel="edit"` conversation that y'all have been having recently.
#
[jgarber]
Or maybe not. I don't recall the context, but… we've got a link back to what I was replying to.
#
[tantek]
Or the reverse? His follow up reply looks like asking for a format for a link from the source to the destination output permalink
#
[jgarber]
It's been four years, so hard to say with any precision, but what he asked about there also vaguely looks like a feature that landed in Eleventy where the tool may be configured to infer output URLs based on input file paths.
#
[jgarber]
That's a wild guess, though. He may have been doing research for that feature to see what was out in the wild.
#
[jgarber]
Some idle thoughts on `rel="source"` after looking at the recently moved around pages:
#
[jgarber]
• a `rel="source"` link within an `h-entry` _could_ be inferred as a link to the source of that entry (code in a repository or otherwise)
#
[jgarber]
• a `rel="source"` inside an `h-app` _could_ be a fairly strong signal that the linked resource is the source code for the application
#
[jgarber]
• a `rel="source"` without any containing microformat _could_ maybe be generically interpreted as the source for the page or the website as a whole
#
[jgarber]
I don't have an example of the first one. For the second one, there's https://micromicro.cc which has an `h-x-app` on the body and a `rel="source"` link to the project's source code.
#
[jgarber]
For the last bullet, most of the sites I've put together that use `rel="source"` are marked up that way (including the Refresh DC website which is cited on the wiki and was mentioned earlier).
#
[tantek]
The semantics you're considering make a lot of sense.
#
[tantek]
Our experience with h-entry and rel-tag showed that mixing of h-* microformats and rel microformats was very error prone (confusing to devs) so if there's really strong demand for such scoped use cases we need a u-* property for h-* scoping
#
[tantek]
Also on that brainstorming page, "source" is too ambiguous/ overloaded (like info/news source like a citation) so for source *code* we need a more specific term. Or just code
#
[jgarber]
☝️ Fiddling with Slack's channel features. Noticed the "topic" has two links to the wiki and logs but there's also this Bookmarks feature. 🤷
#
[tantek]
[jgarber] see my current brainstorm here: https://chat.indieweb.org/dev/2025-05-25#t1748200026257300 (and some back scroll there has some breadcrumbs)
#
[tantek]
Yeah the Slack channel bookmarks feature showed up in the past year or so. I've experimented with it at work. Still not sure how useful it is bc the feature is a bit buried
#
[jgarber]
Agreed, this wasn't quite what I thought it was going to be. I recall a version of this that let you add linked items directly to the bar that has "Messages," "Files," etc. Not sure if that's a paid feature or something that got changed. 🤔
#
[jgarber]
If the Bookmarks isn't useful, we can remove it. It's def. not quite what I was going for.
#
[jgarber]
If moving away from `rel="source"` is the direction, then `rel="repository"` has my vote over `rel="code"`.
#
[jgarber]
"Forge" is another term I'm seeing in used to generically describe version control / code hosting services. That may be quite a bit more niche and isn't _quite_ the same as a "repository."
#
[tantek]
Repo and code are different!
#
[jgarber]
Suppose you could say the same thing about the Markdown file from which any of my blog posts is generated. I wouldn't generally refer to those files "code."
#
[tantek]
Eg rel=code could link to a "view source" view of the current page content like the "View source" link you see on microformats or indieweb wiki pages when you're not logged in
#
[tantek]
No repo there
#
[tantek]
And the other example is a plain text or image file could link (via http LINK header) to its repo file with rel=repository
#
[tantek]
No code there
#
[tantek]
Markdown has become code, ironically
#
[jgarber]
Right, which is why I think `rel="source"` is fine enough. Neither `code` nor `repository` are demonstrably better.
#
[jgarber]
> Markdown has become code, ironically
#
[jgarber]
Citation needed? 😂
#
[jgarber]
Kidding, I know what you're getting at.
#
[tantek]
Haha yeah. Definitely debatable 😂
#
[tantek]
But my examples are exactly why "source" fails to convey a precise semantic that can be matched to a meaningful UI for the user in a link auto discovery implementation
#
[tantek]
Because the goal here isn't to provide a random new rel value for punishers to quietly put in their code and feel good about. The point is to provide a hook for a useful UI for users
#
[tantek]
"Source" fails that in numerous ways in addition to the repo vs code vs news "source" ambiguity
#
[jgarber]
Does `rel="alternate"` have any utility here?
#
[jgarber]
Maybe if you squint hard enough.
#
[tantek]
Possibly. I think on its own no. It needs some other rel value or type or media or hreflang to be useful
#
[jgarber]
Neither an entirely serious nor unserious proposal:
#
[jgarber]
`<a href="https://codeberg.org/jgarber/some-project" rel="alternate" type="text/vcs+html">Source on Codeberg</a>`
#
[tantek]
mmm! interesting. is text/vcs an actual format of HTML though?
#
[tantek]
someone also proposed a bunch of rel=vcs-* values
#
[tantek]
for different revision control protocols
jeremy and barnaby joined the channel
#
tantek
edited /source-code-brainstorming (+664) "add summary of brainstorm alternatives from before this year"
(view diff)
Robert1, barnaby and balintm joined the channel
#
jamesgallagher
edited /rel-edit (+503) "add "when to add" section"
(view diff)
#
capjamesg
[tantek] Did you document rel=repository somewhere on the wiki?
#
capjamesg
I don't think rel=alternate applies when linking to source code because the view isn't just an alternate: it can and often does have additional information, too (i.e. a repo home often shows a README, license information, contributors).
#
jamesgallagher
edited /source-code-examples (+158) "/* directly to source file */"
(view diff)
#
jamesgallagher
edited /source-code-examples (-2) "remove unused colons"
(view diff)
barnaby and [Murray] joined the channel
#
[jgarber]
> mmm! interesting. is text/vcs an actual format of HTML though?
#
[jgarber]
[tantek] Not that I’ve ever seen, no.
barnaby, sebbu, [social], [artlung] and balintm joined the channel
#
[tantek]
capjamesg, no I haven't documented my latest brainstorms outside of what I wrote in chat: https://chat.indieweb.org/dev/2025-05-25#t1748200026257300
#
[tantek]
the stuff in source-code-brainstorming still largely reflects pre-2025 thoughts
duanin2, luca, barnaby, balintm, barnabywalters and m5zs7k joined the channel
#
tantek
edited /rel-edit (+26) "/* Publishers */ CSSWG wiki"
(view diff)
#
tantek
edited /source-code-brainstorming (+2059) "/* Alternatives */ add some brainstorms from yesterday with indieweb dev chat citations"
(view diff)
#
[tantek]
capjamesg, added my brainstorms from yesterday into the summary list of alternatives: https://microformats.org/wiki/source-code-brainstorming#Alternatives