1. The fact that I’m considering splitting examples lists into “publishing” and “consuming” is testament to the progress which has been made in the past month

  2. Ben Werdmuller: @barnabywalters Btw, I don't actually see datetime format guidelines in the mf2 spec. Hoping moving to the time attribute helps. 8m

    @benwerd explained here and here — essentially <time class="dt-*" datetime="yyyy-mm-ddThh:mm:ss±hhmm">human representation</time> is the preferred format.

    Sorry about the messy state of the mf2 docs at the moment, we’re working on it!

  3. @benwerd loving your work on idno! Just had a look at the source, great that you’re using 2, I have some suggestions/corrections:

    • .h-entry is better off where you’ve got .idno-entry so then the author .h-card can be scoped into the entry
    • add .p-author to the .h-card for each .h-entry to explicitly declare authorship
    • put .h-as-* on the same element as .h-entry .idno-entry
    • put .u-url where you currently have .dt-published, move .dt-published to the time element

    Thanks to Aaron Parecki you can see how a page is parsed here, or use my php-mf2 demo sandbox for experimentation by hand.

  4. The spam on the wiki just gets weirder and weirder. This one is masterfully surreal in all its mundane glory:

    “How about a garage door you can see through? Well almost”
    “The neat thing is that these are overhead sectional garage doors just like any other.”
    “Can you acquire a bucket of paint?”
    “you'll amaze yourself”
    “Now that you understand how financially important your garage door really is to you, it is time to get to work.”

  5. Turns out the 2 JSON structures enable safe entity expansion just like twitter entities.

    In my reply contexts I am not wanting to embed 3rd party HTML in my site, so I take the p-summary and strip tags. But, I want embedded h-cards to be expanded just like at-mentions on twitter. Pseudocode:

    let h-card = canonical JSON structure for a note, with .summary as a plaintext representation of the content;
    for item in h-card.children:
     if not in_array('h-card', item.type) continue;
     let html = HTML representation of the child from properties.url, name, etc;
     replace item.value in h-card.summary with html

    Example here.