#microformats 2018-12-17

2018-12-17 UTC
[kim_landwehr], [eddie], ChiefRA and [Marco] joined the channel
jgmac1106, [jgmac1106] and [Vincent] joined the channel
#
Zegnat
Hmm, looks like Firefox dropping the old microformat-shiv.js ? ^^^
#
sknebel
yeah. guess with webextensions its not relevant for plugins anymore either?
#
Zegnat
I am not even sure that was even callable from within modern webextensions
barpthewire, [kevinmarks], [grantcodes], [tantek], [Vincent], [eddie], Tin2, [cleverdevil] and jgmac1106 joined the channel
jgmac1106_ joined the channel
#
[tantek]
Zegnat, frankly it was out of date per all the parser / test case fixes, and we lost the community member who was maintaining that.
#
[tantek]
In some ways it is better to *not* have a broken out of date parser out there that someone might try using and see fail on current published microformats2
#
[tantek]
It's perhaps a good example/lesson about projects that only have a single primary contributor, who isn't personally dependent on the project themselves (selfdogfooding).
#
[tantek]
(i.e. not sustainable)
#
[tantek]
I've given a heads-up to the Moz/Firefox devs who helped land and test the code to see what their opinions are with how to proceed.
#
[tantek]
Including the question Zegnat implied about is it callable from within modern webextensions
j12t, jgmac1106_, [cleverdevil], jackjamieson, [adamprocter], metbril, gRegorLove, [jgmac1106], [pfefferle], [chrisaldrich] and barnabywalters joined the channel
#
sknebel
I have a question about backcompat wording: on /h-card it says " author - including compat root vcard in the absence of h-card" - does that mean the parser should treat it as if there was a vcard, even if there isn't?
#
sknebel
the hentry page says author always has to be a vcard
#
sknebel
but if it weren't and there's only the name (e.g. <span class="author">name lastname</span>), pretending there is a vcard class too makes the output worse
#
sknebel
oh, I already had opened an issue for that :D https://github.com/microformats/h-entry/issues/13
#
Loqi
[sknebel] #13 author backcompat: always vcard?
#
gRegorLove
Interesting. Looks like both PHP and Python parsers treat it as if adding an explicit h-card to the classes, then parse it, so they get the implied name.
#
gRegorLove
Go doesn't
#
gRegorLove
I didn't dig into the Python code, just basing that on the parsed results.
#
sknebel
right, I was fixing that
#
sknebel
to use vcard instead of h-card
#
sknebel
and then noticed that it causes the described problem
#
gRegorLove
I'm not sure which is correct, honestly. Adding an implicit h-card seems like a decent idea, vs. implicit vcard then do the parse.
#
gRegorLove
Though that complicates backcompat, so maybe not. :shrug:
#
sknebel
implicit h-card would loose all the properties though?
#
sknebel
or some hybrid parsing?
#
sknebel
I think the best would be to clarify to not add a vcard
#
sknebel
if there is one, it can be usefully parsed
#
sknebel
if it's wrongly missing, return the string and hope it's the name
#
sknebel
I guess in edge cases one might be able to find a url too when implying, but since it was intentionally choosen to not do implied properties for backcompat there's also good reasons not to
[tantek], [Vincent], [eddie], [jgmac1106], [cleverdevil], jgmac1106 and [matpacker] joined the channel
#
[tantek]
nothing was meant to be added there I think
#
[tantek]
"compat root vcard in the absence of h-card" means if there is no h-card, then explicitly look for the presence of "vcard" for backcompat parsing of a nested hCard
#
[tantek]
sknebel it sounds like this (https://github.com/microformats/h-entry/issues/13) is an editorial issue. It appears you found a way to misinterpret the current spec text, so we should change it to avoid that misinterpretation. Nowhere in there does it say anything about implying a vcard
#
Loqi
[sknebel] #13 author backcompat: always vcard?
#
sknebel
I didn't see another reason to explicitly mention vcard there
#
[tantek]
the reason to explicitly mention it is that explicitly *looking for it* is part of backcompat handling
#
sknebel
but my mental model of how it works is very much from how it's implemented in the parsers I've looked at
#
sknebel
does "explicitly looking for it" mean "only handle vcard here"?
#
[tantek]
no one should be implying a "vcard". ever.
#
[tantek]
no means only handle vcard here if there is a "vcard" in the class names
#
sknebel
then I feel it is redundant, since the parsing algorithm already describes how backcompat parsing works
#
[tantek]
just as "author" means look for "author"
#
[tantek]
no it is not redundant because backcompat nested objects are only as defined, not in general
#
[tantek]
backcompat property nested objects that is (as opposed to just children)
#
sknebel
so only handle vcards, not other roots, in author properties?
indy joined the channel
#
[tantek]
like you can't have "author hentry" and expect it to do anything. in fact it must not affect the author (because no mf1 parsers would)
#
[tantek]
or rather it should just be treated as a plain "author", and separately, an "hentry" for backcompat
[kevinmarks] joined the channel
#
[kevinmarks]
In mf1 we did define explicit embedded formats in a few places (which was part of the single vocabulary idea, and mirrored existing nesting in some of the older fonts we were basing them on)
#
sknebel
okay, that makes that fix a bunch more complicated
#
[kevinmarks]
s/fonts/formats/
#
[kevinmarks]
In mf2 we flattened as much as possible, but added a generic embedding mechanism with conventions.
[chrisaldrich] joined the channel
#
sknebel
okay, that's not something I fix today then, needs more brain power
#
sknebel
hm, php and ruby are also adding h-cards for a naked <span class="author">
#
[tantek]
that seems like extra work
#
sknebel
so just to be 100%: <div class="hentry"><span class="author">Max Mustermann</span></div> should return an author property with the value ["Max Mustermann"], not a nested object?
#
[tantek]
yes that is what was intended.
#
[tantek]
hAtom itself made the "author vcard" pattern required for publishers, which means parsers did not have to ever imply anything
#
Loqi
hAtom 0.1
jgmac1106 joined the channel
#
sknebel
yeah, I saw that
#
[tantek]
note that the "simple" Atom author element just has a name, that's where we allow the simple interpretation as well for hAtom author: http://www.atomenabled.org/developers/syndication/#recommendedEntryElements
#
[tantek]
if you wanted to express name and email and URL for example like in http://www.atomenabled.org/developers/syndication/#recommendedFeedElements then you would have to use "author vcard" to do so
#
sknebel
hm, from a quick skim of the translation lists there's a few more instances: hreview reviewer, hresume contact and hresume education (with vevent instead of vcard) - I guess they can all follow that principle, if the latter two even have any practical relevance still
#
[tantek]
hevent location
#
[tantek]
as in vevent > location vcard
#
sknebel
for general wording, I'll reread the spec and my GH issue again when I'm fully awake and see if I can come up with a short clarification note to add somewhere, given that 3 parsers are adding roots where they shouldn't
#
[tantek]
probably good to come up with test cases like that one you wrote above for the other backcompat objects and nested hCards
jgmac1106 joined the channel