mf2-spec-template-brainstorming

From Microformats Wiki
Revision as of 16:29, 6 June 2013 by Barnabywalters (talk | contribs) (→‎Examples: Added example JSON representation of example, notes on design)
Jump to navigation Jump to search

h-example is a microformats-2 schema (?) for representing Examples. It builds upon the classic hExample microformat.

Translations: link to each translation as hCard does

TODO: properties first or examples first? returning viewers are most likely to want quick reference to properties, first time viewers are most likely to want an example. Perhaps do as hCard does with the property list => markup 1:1 thing, unless that ends up looking too noisy?

Properties

For each property, give:

  • classname e.g. p-name
  • legacy BC classname
  • meaning e.g. The name of the example
  • example value e.g. “An example of an artisanal banana-peeling pattern”
    • full element

Example:

  • p-name (was fn): The name of the example
    • E.G. <span class="p-name">Banana #1</span>

TODO: how to handle properties which probably should be a nested microformat but can also be a plain value? E.G. author:

  • p-author (was author): The author of the example. Optionally an h-card

Examples

Ideally all examples will be shown 1:1 with their JSON representation, OR editable with JS to submit it to a parser and show the JSON — this would encourage people to experiment and greater understand the relationship between markup and parsed structure.

Minimal sane example (if applicable e.g. implied h-card):

Meatier example:

  • (perhaps marked up as a test case so the spec page becomes a test suite too)
  • actually, side by side doesn’t work so well, perhaps one after the other or switch between them or just have an external parser provide the JSON repr?
<div class="h-example">
  <span class="p-name">An Example Example</span>
  
  <p>Published <time class="dt-published" datetime="2013-05-02 12:00:00">two days ago</time></p>
  
  <p class="p-author h-card">Mr. Author</p>
  
  <img class="u-photo" src="http://cdn.memegenerator.net/instances/400x/38481344.jpg" alt="" />
  
  <p class="p-summary">An example example showing you how to example</p>
</div>
{
 "type": ["h-example"],
 "properties": {
  "name": ["An Example Example"],
  "published": ["2013-05-02 12:00:00"],
  "author": [{
    "type": ["h-card"],
    "properties": {
     "name": ["Mr. Author"]
    },
    "value": "Mr. Author"
  }],
  "photo": ["http://cdn.memegenerator.net/instances/400x/38481344.jpg"],
  "summary": ["An example example showing you how to example"]
 }
}