recipe-brainstorming-archive

From Microformats Wiki
Revision as of 12:50, 9 July 2009 by ThomasLoertsch (talk | contribs) (added format-in-progess-#2)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page contains former formats-in-progress from the recipe-brainstorming page.


This format-in-progress follows the restarting of Recipe development by Frances Berriman on 25th September 2007. Note that this Format-In-Progress section is intended to be edited to reflect the discussion that occurs on the microformats-new list, rather than being a free-form playground for schema. This documentation was produced by Ben Ward and Frances Berriman.

Editor
Frances Berriman (BBC)

Introduction

Recipe is based on examples and fields in existing formats.

The recipe microformat is designed for the mark-up of instructions for creating meals, drinks or food-based items.

Root Class Name

To be decided. Likely ‘hrecipe’.

Property List

Class names author and published are taken from hAtom, photo used from hCard and item from measure.

  • Title. recipe-title. required. text.
  • Summary. recipe-summary. optional. text.
  • Author. author. optional. hcard.
  • Date published. published. optional. datetime-design-pattern.
  • Photo(s). photo. optional. img or url.
  • Ingredient(s). ingredient. 1 or more required.
    • Quantity. quantity. optional. text, optionally measure.
    • Item. item. required. text.
    • Note. note. optional. text.
    • Optionality. optional. optional. text. Its absence should imply that the ingredient is required.
  • Method. method. required. text with optional valid HTML markup.
  • Yield. yield. optional. text.
  • Preparation time. preparation-time. optional. (see ISO-31-1 duration brainstorming)
  • Tags. optional. rel-tag.
  • License. optional. rel-license.

Field Details

Title: The title of the recipe.

  • The element is identified by class name recipe-title.
  • A Recipe MUST have a recipe-title

Summary: The summary provides a short introduction or an accompanying statement about the recipe.

  • The element is identified by class name recipe-summary.
  • A Recipe MAY have a recipe-summary.

Author: Author the person who authored the recipe.

  • The element is identified by class name author.
  • A Recipe MAY include an author.
  • The contents of the element MUST include a valid hCard.

Date published: The date the recipe was published.

  • The element is identified by the class name published.
  • A Recipe MAY include a published date.
  • SHOULD (?) use the datetime-design-pattern to encode the published datetime.

Photo: Accompanying image.

  • The element is identified by the class name photo.
  • A Recipe MAY include one or more photo elements.
  • The element SHOULD use an <img> element.
  • The element MAY use any other element that contains a URL, such as <a> or <object>, but it is not recommended.

Ingredient: Describes an ingredient used in the recipe.

  • The element is identified by the class name ingredient.
  • A Recipe MUST have one or more ingredients.
  • The element MUST include the field item.
  • The element MAY include quantity, note and/or optionality.

Quantity: The quantity of an ingredient needed for the recipe.

  • The element is identified by the class name quantity.
  • An ingredient MAY specify the quantity.

Item: Specifies the name of the ingredient.

  • The element is identified by the class name item.
  • An ingredient MUST specify the item.

Note: A note concerning one of the ingredients.

  • The element is identified by the class name note.
  • An ingredient MAY include a note.

Optionality: States that an ingredient is optional to the recipe.

  • The element is identified by the class name optionality.
  • The optionality of an ingredient MAY be specified.
  • The absence of the element implies that the ingredient is required.

Method: The method of the recipe.

  • The element is identified by the class name method.
  • A Recipe MUST include a method.
  • The field MAY include valid HTML markup (e.g. paragraphs).

Yield: Specifies the quantity produced by the recipe.

  • The element is identified by the class name yield.
  • A Recipe MAY include a yield.



format-in-progress - #2 - october 2008

Introduction

Recipe is based on examples and fields in existing formats. The recipe microformat is designed for the mark-up of instructions for creating meals, drinks or food-based items.

Please note that Format-In-Progress sections are intended to be edited to reflect the discussion that occurs on the microformats-new list, rather than being a free-form playground for schema. This Format-In-Progress was produced by ThomasLoertsch 15:29, 15. Oct 2008 (CET)

Changelog

This second Format-In-Progress reflects the discussions following the first one from september 2007 (see recipe-brainstorming-archive). It is not an entirely new format-in-progress proposal but rather an evolution from the september07-version and about 90% the same. A short overview of changes:

  • made author and published plural
  • added ingredients element
  • made ingredient an optional subelement of ingredients
  • modified quantity (and removed the element quantity) to improve compatability with measure
  • deleted ingredient-optionality
  • method changed to optional
  • preparation-time changed to optionally multiple instances
  • added note to preparation-time and made both notes hCard elements
  • preparation-time
  • added nutrition
  • removedrel-license element, because it can't be scoped to one of several receipes on one page (see recipe-issues)

Root Class Name

To be decided. Likely ‘hRecipe’.

Property List

Class names author, photo and note are taken from hCard, published used from hAtom and item from measure.

  • Title. recipe-title. required. text.
  • Summary. recipe-summary. optional. text.
  • Author. author. optional. 1 or more. hcard.
  • Date published. published. optional. 1 or more. datetime-design-pattern.
  • Photo(s). photo. optional. 1 or more. img or url. [[hcard].
  • Ingredients. ingredients. required. text with optional valid HTML markup or 1 or more ingredient elements.
    • Ingredient. ingredient. optional. 1 or more.
      • Quantity. num, unit and item. optional. measure.
      • Note. note. optional. text. [[hcard].
  • Method. method. optional. text with optional valid HTML markup.
  • Yield. yield. optional. text.
  • Preparation time. preparation-time. 1 or more, optional. (see ISO-31-1 duration brainstorming)
    • Note. note. optional. text. [[hcard].
  • Tags. tag. optional. 1 or more. rel-tag.
  • Nutrition. nutrition. optional. 1 or more.
    • Quantity. num, unit and item. optional. measure.

Field Details

Title: The title of the recipe.

  • The element is identified by class name recipe-title.
  • A Recipe MUST have a recipe-title

Summary: The summary provides a short introduction or an accompanying statement about the recipe.

  • The element is identified by class name recipe-summary.
  • A Recipe MAY have a recipe-summary.

Author: Author the person who authored the recipe.

  • The element is identified by class name author.
  • A Recipe MAY include an author.
  • The contents of the element MUST include a valid hCard.

Date published: The date the recipe was published.

  • The element is identified by the class name published.
  • A Recipe MAY include a published date.
  • SHOULD (?) use the datetime-design-pattern to encode the published datetime.

Photo: Accompanying image.

  • The element is identified by the class name photo.
  • A Recipe MAY include one or more photo elements.
  • The element SHOULD use an <img> element.
  • The element MAY use any other element that contains a URL, such as <a> or <object>, but it is not recommended.
  • The contents of the element MUST follow the conventions outlined in hCard.

Ingredients: Describes the ingredients used in the recipe.

  • The element is identified by the class name ingredients.
  • A Recipe MUST include one ingredients element.
  • The field MAY include valid HTML markup (e.g. paragraphs).
  • The element MAY include 1 or more ingredient elements.

Ingredient: Describes one ingredient used in the recipe.

  • The element is identified by the class name ingredient.
  • It MUST only occur within an ingredients element.
  • A Recipe MAY have one or more ingredients.
  • The element MAY include the fields num, unit and item following measure.
  • The element MAY include a note.

Note: A note concerning an Ingredient or a Preparation Time element (for element Preparation Time see below).

  • The element is identified by the class name note.
  • Ingredients and Preparation Time elements MAY include a note.
  • The contents of the element MUST follow the conventions outlined in hCard.

Method: The method of the recipe.

  • The element is identified by the class name method.
  • A Recipe MAY include a method.
  • The field MAY include valid HTML markup (e.g. paragraphs).

Yield: Specifies the quantity produced by the recipe.

  • The element is identified by the class name yield.
  • A Recipe MAY include a yield.

Preparation Time: The time it takes to prepare the meal described by the recipe.

  • The element is identified by the class name preparation-time.
  • A Recipe MAY include one or more preparation-times.
  • Each Preparation Time element MAY include a note, to specify their respective purpose.

Nutrition:

  • The element is identified by class name nutrition.
  • A Recipe MAY include one or more nutrition elements.
  • The element MAY include the fields num, unit and item following measure.


Example

<div class="hrecipe">
	<p class="recipe-title">Pommes Frites</p>
	<p class="recipe-summary">
		Pommes frites originate in outer space. They are served hot.<br />
		This recipe is only an example. Don't try this at home!
	</p>
	<p class="vcard fn">Thomas Loertsch</p>
	<p>Published <abbr class="published" title="2008-10-14T10:05:37-01:00">14. Oct 2008</abbr></p>
	<img src="/img/pommes.png" class="photo" width="100" height="100" alt="Pommes Frites"/>
	<p class="ingredient hmeasure">
		<span class="num">500</span> 
		<span class="unit">gramme</span>
		<span class="item">potatoes</span>,
		<span class="note">hard cooking</span>.
	</p>
	<ul class="method">
		<li>First wash the potatoes.</li>
		<li>Then slice and dice them and put them in boiling fat.</li>
		<li>After a few minutes take them out again.</li>
	</ul>
	<p>Enough for <span class="yield">12</span> children.</p>
	<p class="preparation-time hmeasure">Preparation time is approximately 
		<span class="num">90</span> 
		<abbr class="unit" title="minutes">min</abbr>.
	</p>
	<p class="preparation-time hmeasure">Add 
		<span class="num">5</span> 
		<abbr class="unit" title="minutes" >min</abbr> 
		for <span class="note">preparing the Ketchup</span>.
	</p>
	<p>This recipe is <a href="http://www.eut.de/tags/difficulty/easy" rel="tag">easy</a> and <a href="http://www.eut.de/tags/tastyness/delicious" rel="tag">delicious</a>.</p>
	<p class="nutrition hmeasure">
		Pommes Frites have more than 
		<span class="num">1000</span> 
		<span class="unit">Joule</span>
                <span class="type">Energy</span>.
	</p>
</div>




related pages