When a nested microformat is parsed, the spec says to set the value property as such:
if it's a p-* property element, use the first p-name of the h-* child
else if it's an e-* property element, re-use its { } structure with existing value: inside.
else if it's a u-* property element and the h-* child has a u-url, use the first such u-url
else use the parsed property value per p-,u-,dt-* parsing respectively
The last step does not seem to be done for p- and dt- properties. (before the recent changes, there always was an implied name, so this happened less often)
I noticed this on http://pin13.net/mf2/?url=https%3A%2F%2Faaronparecki.com%2F2018%2F03%2F14%2F3%2F, where the "location" now has an empty value (admittedly, due to the weather being in there it wasn't great before either)
small test cases:
dt-
<div class="h-entry">
<div class="dt-dummy h-dummy">1997-12-12</div>
</div>
Output:
"properties": {
"dummy": [
{
"type": [
"h-dummy"
],
"properties": {
"name": [
"1997-12-12"
]
}
}
The nested object has no value key at all!
p-
<div class="h-entry">
<div class="p-dummy h-dummy"><span class="p-kill-implied-name">foobar</span></div>
</div>
Output:
{
"type": [
"h-entry"
],
"properties": {
"dummy": [
{
"type": [
"h-dummy"
],
"properties": {
"kill-implied-name": [
"foobar"
]
},
"value": ""
}
]
}
}
empty value, where it should be foobar.
u- work correctly.
When a nested microformat is parsed, the spec says to set the
valueproperty as such:The last step does not seem to be done for
p-anddt-properties. (before the recent changes, there always was an implied name, so this happened less often)I noticed this on http://pin13.net/mf2/?url=https%3A%2F%2Faaronparecki.com%2F2018%2F03%2F14%2F3%2F, where the "location" now has an empty value (admittedly, due to the weather being in there it wasn't great before either)
small test cases:
dt-Output:
The nested object has no
valuekey at all!p-Output:
{ "type": [ "h-entry" ], "properties": { "dummy": [ { "type": [ "h-dummy" ], "properties": { "kill-implied-name": [ "foobar" ] }, "value": "" } ] } }empty
value, where it should befoobar.u-work correctly.