#microformats 2018-03-13

2018-03-13 UTC
tantek, [snarfed], [kevinmarks], [cleverdevil], [eddie], [asuh], nitot, [tantek], barpthewire, globbot, [Mike], [miklb], TallTed and Garbee joined the channel
#
KartikPrabhu
[kevinmarks]: sknebel: for your review https://github.com/microformats/mf2py/pull/98
#
Loqi
[kartikprabhu] #98 improved vcp parsing for datetimes
tantek joined the channel
#
sknebel
KartikPrabhu: looks good
[eddie], KartikPrabhu, [kevinmarks], tantek, [miklb] and hober2 joined the channel
#
Loqi
[sknebel] #149 dt-parsing seems to try to interpret value (breaking it in some cases)
#
aaronpk
some day we'll be able to release the update :)
#
Zegnat
Re #indieweb-chat and other date vagueness. If anyone wants to open an issue to discuss how they would expect date handling in the spec that would be swell. I think I discussed that before but do not have the time :( I did get some whitespace-linebreaks-stuff written up in travel downtime that I hope to put in for consideration tomorrow :)
#
gRegorLove
Any more dt- edge cases to throw at this while I'm making updates? It's no longer normalizing TZ offset when in a datetime attribute -- only in VCP.
#
Zegnat
gRegorLove, I am not even sure how all dt- values are supposed to be parsed, haha
#
Loqi
awesome
#
gRegorLove
Very carefully :)
#
gRegorLove
I think with this fix we're pretty good on mf2 dt- parsing (easy) and even on VCP (much more confusing).
#
Zegnat
mumbles something about just revising all of the dt- rules
#
gRegorLove
Eh, they're working pretty well in the majority of cases, just hard for implementers to wrap their mind around. Something simpler might be nice, but I don't know if it's worth a rather big spec rewrite.
#
Zegnat
It might be worth it just rewriting the current rules from vcp into something that more easily matches with the clear mf2 style. I don’t know.
#
gRegorLove
Not opposed to the discussion or going that direction though, just my initial thoughts.
#
Zegnat
I think it tripping up implementers right now is a good reason to revise things. Even if just in spec language and not in actualy input-output
#
KartikPrabhu
VCP rules are mostly for backcompat no? why revise them entirely?
#
KartikPrabhu
also I think mf2py does vcp correctly now so it is not impossible
#
KartikPrabhu
I think the VCP spec language is pretty clear apart from some "which text to get issues"
#
Zegnat
I think my main issues have always been more philosophical. On things like how much date-time normalisation we do on vcp dt- vs “normal” dt-
webchat86 joined the channel
#
KartikPrabhu
I don't see how they are related. we can normalise on VCP since it is basically putting together a datetime. But in usual dt-* the datetime is actually authored
#
KartikPrabhu
that looks fine to me
#
KartikPrabhu
you could also put random words like "bundungle foo bar"
#
KartikPrabhu
who cares
#
sknebel
Zegnat: don't we *have* a bunch of issues around date parsing?
#
sknebel
ok, it seems they mostly are around implied stuff
#
sknebel
which would be a reason to attempt parsing in non-vcp
#
Zegnat
So why do we care about normalising in VCP, KartikPrabhu? Why do we not just return the string as authored?
#
Zegnat
I just feel – again, on the theoretical/philosophical level – that we either normalise dt- input to timestamps, or we don’t. Not some inbetween state.
#
KartikPrabhu
beause that is what VCP is intended for. It is tailored to use cases
#
Zegnat
I guess this is a better comparison. The exact same ABBR, but under VCP it has a completely different parsed outcome: http://php.microformats.io/?id=20180313224002737
#
KartikPrabhu
ha! that should not happen. mf2py only picks up the mf2 dt-* since the VCP does not match spec
#
KartikPrabhu
so that is another bug in phpmf2
#
sknebel
ignores it now
#
KartikPrabhu
aah ok yes
#
KartikPrabhu
I also like "publdished" as a property ;)
#
Zegnat
That’s interesting. I would never expect an explicitly authored property to get dropped.
#
Zegnat
Why does it get dropped completely?
#
KartikPrabhu
according to vcp parsing rules
#
Zegnat
That section only applies when there are multiple vcp
#
Zegnat
See step 3.2.
#
KartikPrabhu
hmm intersting
#
Zegnat
At least that was my expectation
#
KartikPrabhu
yeah from another reading that looks right
#
KartikPrabhu
Zegnat: time for you to post issues to phpmf2 and mf2py :)
#
KartikPrabhu
and others
[cleverdevil] joined the channel
#
sknebel
we probably should put the JS parser up for adoption too
#
KartikPrabhu
sknebel: depends on the current owner
#
KartikPrabhu
and if someone is willing to take it
#
gRegorLove
I'm confused by those examples and what's expected.
#
KartikPrabhu
gRegorLove: apparently accodring to spec, if there is a single value element no vcp-dt parsing rules are to be used and the value is directly used
#
Zegnat
Just one of those weird little confusing vcp rules I wished we would sit down and clear-up
#
KartikPrabhu
Zegnat: maybe open an issue on the parsing rules repo and tag people
#
gRegorLove
Ohh, I was getting confused by both being in the same h-entry. This makes it clearer to me: https://php.microformats.io/?id=20180313230558077
#
KartikPrabhu
gRegorLove: yes
#
gRegorLove
Not an issue afaik
#
gRegorLove
VCP has strict formats for matching date parts
#
KartikPrabhu
it isn't technically corrected. Since if there is only one value then it should be used
#
sknebel
the date matching parts part doesn't trigger when there is only one element with class="value"
#
KartikPrabhu
"where there are multiple descendents..."
#
KartikPrabhu
mf2py gets this wrong too
#
Zegnat
I’m leaving for bed, but I will open an issue against spec tomorrow.
#
Zegnat
Honestly, I much rather see the vcp spec simplified then have you all do “fixes” in parsers
#
Zegnat
This is one of those edgecases that maybe I should have never talked about :P
#
KartikPrabhu
night Zegnat
#
gRegorLove
Yeah, seems ambiguous when I read "For all date time properties (as defined in their respective microformats specifications), the following rules apply in addition to (and in some cases replacing) the above value class pattern parsing rules." under Date and Time Parsing.
#
gRegorLove
In which cases is it "replacing" vs just "in addition to". I think I've always read it as "replacing"
#
KartikPrabhu
yeah me too (even though I only read this part a few days ago! :P)
sebsel joined the channel
#
gRegorLove
since it covers the cases (abbr, data, img) mentioned in basic parsing
#
gRegorLove
Let's just simplify it to everyone has to publish Swatch Internet Time :)
#
Zegnat
I agree it is ambiguous on the replacing part. The mf2 spec however says “parse the element for the value-class-pattern, including the date and time parsing rules”, which makes me think dt-* should adhere to the basic spec and not by default overwrite. And according to the basic vcp rules, the “date and time parsing rules” that have to be included only apply when multiple value elements are found.
#
Zegnat
Definitely a spec issue, because of ambiguity.
#
Zegnat
rips himself away from keys to go sleep
#
gRegorLove
Fingers crossed, though, I think https://github.com/indieweb/php-mf2/pull/150 gets php-mf2 ready for release.
#
Loqi
[gRegorLove] #150 Add test and fix for #149
[kevinmarks] joined the channel
#
aaronpk
I think so
#
aaronpk
should we go for it?
#
[kevinmarks]
The tricky date things are day of year dates eg 2018-256 for my birthday
#
[kevinmarks]
And yearless dates for birthdays where the year is hidden
#
gRegorLove
aaronpk, if you feel comfortable, I think we're good. You've been using it in action a lot more lately via Monocle.
#
aaronpk
ther'es a test for yearless dates now
#
aaronpk
I think we should just do it, and triage bugs as we encounter them
#
aaronpk
it's easy to do a release, no sense in holding off much longer
#
aaronpk
k here goes
chrisaldrich joined the channel
#
sknebel
gRegorLove++
#
Loqi
gregorlove has 21 karma in this channel (221 overall)
#
sknebel
aaronpk++
#
Loqi
aaronpk has 17 karma in this channel (1588 overall)
#
aaronpk
rushes to update all his downstream packages
[asuh] and [chrisaldrich] joined the channel