#microformats 2022-04-02

2022-04-02 UTC
darkkirb, johnnrs[d], jacky, p and hans63us[d] joined the channel
#
tantek
edited /metaformats-brainstorming (+1600) "meta class attribute parsing"
(view diff)
#
tantek
edited /metaformats-brainstorming (+271) "How to parse meta root class names — nothing to add"
(view diff)
angelo joined the channel
#
tantek
edited /metaformats-brainstorming (+1209) "first draft of How to imply backcompat root classes from meta elements"
(view diff)
ur5us and ur5us_ joined the channel
#
tantek
edited /metaformats-brainstorming (-1) "/* How to imply backcompat root classes from meta elements */"
(view diff)
gRegor joined the channel
#
tantek
edited /metaformats (+3742) "algorithm changes / parse an element for class microformats, meta backward compatible parsing"
(view diff)
#
tantek
edited /metaformats (+10) "/* meta backward compatible parsing */ attribute"
(view diff)
#
tantek
edited /metaformats (-14) "copy edit dfn"
(view diff)
ur5us_ and angelo joined the channel
#
tantek
edited /metaformats (+30) "link meta backcompat parsing"
(view diff)
#
Loqi
[Tantek Çelik] Introducing #metaformats (https://microformats.org/wiki/metaformats), an extension to #microformats2 for parsing invisible data published in HTML meta tags, for backward compatibility with existing vocabularies consumed by multiple testable interoper...
#
@t
Introducing #metaformats (https://microformats.org/wiki/metaformats), an extension to #microformats2 for parsing invisible data published in HTML meta tags, for backward compatibility with existing vocabularies consumed by multiple testable interoperable implementations. https://tantek.com/t5J31
(twitter.com/_/status/1510173245084880898)
#
[KevinMarks]
What should you do if the metaformats duplicate microformats content?
#
beler
hi all, if I want to add an identity-key to my page, which microformat should I use?
jacky joined the channel
#
jacky
beler: do you mean like PGP?
#
@jackyalcine
↩️ Excellent, this is going to make the parsing of paging without conventional MF2 a bit more interesting to work with! Going to work to get this in the Rust Microformats parser soon! (https://jacky.wtf/2022/4/Jv/JvQAuFZACuCJatnzdEao0wo9)
(twitter.com/_/status/1510241459642925058)
#
beler
@jacky could be pgp publickey yes
#
jacky
I currently show that on my site at https://jacky.wtf (view source will show it)
#
jacky
funny enough, this came up in the search :) https://cweiske.de/tagebuch/publish-pgp-key-website.htm
#
capjamesg[d]
metaformats? [KevinMarks]
#
[KevinMarks]
See Tantek's post
#
[tantek]
KevinMarks same as if you had multiple elements with the same property
#
[tantek]
See also backcompat details in mf2 parsing
barpthewire joined the channel
#
[KevinMarks]
Maybe add a property to show that it was derived from meta elements, as its going to show up before the body items in the list, so the tools that pick the first item to show will favour the metaformats over the microformats
#
capjamesg[d]
Ah very interesting.
#
capjamesg[d]
Re: the wiki page on metaformats.
#
capjamesg[d]
Are there not some use cases where meta tags are absolutely required?
#
capjamesg[d]
Or metadata for that matter.
jacky, ur5us_, ur5us and cjw6k joined the channel
#
beler
and if its not a pgp key?
#
aaronpk
i guess the question is what do you expect to read this markup? if you don't have an expected consuming use case then there isn't much point in marking it up
#
[tantek]
capjamesg[d], not meta name/property no. meta http-equiv yes, but that's because it's purely a machine directive and not user content in any way
#
[tantek]
aaronpk, specifically the recommendation is to NOT bother with publishing this info, this is a consuming code use-case only
#
[tantek]
KevinMarks, I considered the head vs body thing, and was thinking about special casing head to put any microformats found on or inside it to be placed after any other items found, but was curious to hear from folks
#
aaronpk
I was talking about the "identity key" question
#
aaronpk
also what is an "identity key"?
#
[tantek]
aaronpk, ah, that makes much more sense
niklasfyi[d] joined the channel
#
[snarfed]
the preferred term is "identikey" :troll:
#
[snarfed]
I think they also accept "keydentity"
#
[snarfed]
but never never "idenkitty"
#
[tantek]
identikitty? 😼
#
[KevinMarks]
Putting them after may make sense, but there is still potentially a DRY problem. The extreme separation would be to put them in a head-items key. I was thinking of something more like the id handling, where we add an origin reference.
#
[KevinMarks]
If we did that more broadly, it could help with the use case discussed recently for knowing which element the item came from
gRegor joined the channel
#
[tantek]
ah you're talking about it exposing DRY violations in the page
#
[KevinMarks]
Yes, think about my metadata teasing page as an extreme example, but if you look at a standard known or mastodon page, they repeat some info in the silo markup
#
aaronpk
If I ever get a second cat, I will definitely name it Identikitty
#
sknebel
or twin cats authentikitty and authorikitty ;)
#
sknebel
short KittN nd KittZ
nonhymn[d] joined the channel
#
[tantek]
[KevinMarks] indeed, perhaps head should be sequestered to its own top level key, like items and rels
#
[tantek]
because invisible metadata is such a different beast
#
[tantek]
I mean heck maybe even just name it 'meta', that is that array (or key? is there any scenario where we can parse more than one item from the head?)
#
[tantek]
part of the goal here was to not require every consuming application (e.g. something looking for info for a reply-context) to have to special check another key or do any extra work
#
[tantek]
putting the head/meta item last in the top level array of items makes the most sense to me for that
#
aaronpk
sknebel++
#
Loqi
sknebel has 4 karma in this channel over the last year (36 in all channels)
#
[tantek]
that way, only if there are no other top level items (or any in body that is?) would a "typical" mf2 parser client actually "see" the backcompat h-entry / properties from head/meta, and it would "just work" without them having to do anything "special"
#
tantek
edited /metaformats-brainstorming (+187) "Prior docs and blog posts"
(view diff)
#
tantek
edited /metaformats (+311) "/* parse an element for class microformats */ link h-*, set aside parsed head item and append it to end of items array after finishing parsing (prioritize visible data in body)"
(view diff)
#
[tantek]
^ [KevinMarks] going to go with that for now, presuming that's the primary use-case that consuming code wants, to use OGP/TwCrd as fallback in the absence of other microformats
#
tantek
edited /metaformats-brainstorming (+110) "/* Prior docs and blog posts */ ogp, non-normative refs destination"
(view diff)
#
[KevinMarks]
I still think adding a property so you can tell its from head.meta is useful
#
[tantek]
we could the original og:type or twitter:card to the 'type' array for the item
#
[tantek]
could *add the
#
[tantek]
in addition to the implied h-entry, h-card, etc.
#
[tantek]
I'm curious if it matters in practice though. E.g. does jamietanna or GWG's code do anything special with data from OGP/TC as compared to an h-entry, e.g. for displaying a reply-context
#
[tantek]
I'd rather not add it unless there's a specific use-case for "what would you do with the information"
#
[KevinMarks]
The use case is if you have multiple variations on h-entry with the same url, you feed to decide whixh one to trust more
ur5us joined the channel
#
GWG
My code parses microformats and if there is not a minimum level of data, tries the WordPress rest api, json-ld, and meta tags in that order
#
GWG
Oh, and I special case Twitter
#
[KevinMarks]
So if the meta tags were in thv mf2 would that confuse your algorithm?
#
GWG
Yes, but I can adapt
#
GWG
Although practically, if they were interpreted as microformats, it could satisfy my minimum level
#
GWG
Minimum for an h-entry is a summary or content property I believe
#
[KevinMarks]
Would that give you less info than the wp rest api?
#
GWG
Yes, it would
#
GWG
But philosophically I am promoting microformats as I convert everything else into it
#
GWG
Also rest API polling requires a minimum of 3 fetches, more if categories or tags
#
GWG
1. Fetch base endpoint for timezone and site info, 2. fetch post, 3. Fetch author
[jgmac1106]1 and Murray[d] joined the channel
#
[tantek]
exactly, metaformats is based on that methodology of "philosophically I am promoting microformats as I convert everything else into it"
#
GWG
Also there are some sites that, because they are old wordpress sites with no attention to their classic microformats, have little to no useful info in there, so I figured a summary property for h-entry, or a name property for h-card was minimum viable