128 lines
3.8 KiB
Markdown
128 lines
3.8 KiB
Markdown
# Models specifications
|
|
|
|
## Recipe
|
|
|
|
### estimatedTime
|
|
`Array` of different estimated times : cookTime, prepTime, performTime, totalTime, waitTime
|
|
|
|
cookTime
|
|
- https://schema.org/Duration
|
|
- The time it takes to actually cook the dish
|
|
|
|
prepTime
|
|
- https://schema.org/Duration
|
|
- The length of time it takes to prepare the items to be used in instructions or a direction
|
|
|
|
performTime
|
|
- https://schema.org/Duration
|
|
- The length of time it takes to perform instructions or a direction (not including time to prepare the supplies)
|
|
|
|
totalTime
|
|
- https://schema.org/Duration
|
|
- The total time required to perform instructions or a direction (including time to prepare the supplies)
|
|
|
|
waitTime
|
|
- https://schema.org/Duration
|
|
- The total time needed to wait between steps, in ISO 8601 duration format
|
|
- waitTime is not in the schema : https://github.com/schemaorg/schemaorg/issues/2164
|
|
|
|
### cookingMethod
|
|
→ Maybe just not use it, or analyse the text to excerpt it
|
|
The method of cooking, such as Frying, Steaming,...
|
|
Maybe have a checklist of methods ?
|
|
|
|
### recipeCategory
|
|
`String (255)`
|
|
The category of the recipe—for example, appetizer, entree, etc.
|
|
|
|
### recipeCuisine
|
|
`String (255)`
|
|
The cuisine of the recipe (for example, French or Ethiopian).
|
|
|
|
### recipeIngredient
|
|
`String[]`
|
|
List of ingredients in text format
|
|
A single ingredient used in the recipe, e.g. sugar, flour or garlic.
|
|
|
|
### recipeInstructions
|
|
`String[]`
|
|
A step in making the recipe, in the form of a single item (document, video, etc.) or an ordered list with HowToStep and/or HowToSection items.
|
|
The number of the step should never be the text.
|
|
|
|
### recipeYield
|
|
`String (50)`
|
|
The quantity produced by the recipe (for example, number of people served, number of servings, etc).
|
|
|
|
### suitableForDiet
|
|
`Array` of selected keywords (DiabeticDiet, GlutenFreeDiet, HalalDiet, HinduDiet, KosherDiet, LowCalorieDiet, LowFatDiet, LowLactoseDiet, LowSaltDiet, VeganDiet, VegetarianDiet)
|
|
Indicates a dietary restriction or guideline for which this recipe or menu item is suitable, e.g. diabetic, halal etc.
|
|
TODO : Decide the best way to store the list... maybe in the model
|
|
|
|
---
|
|
|
|
### tool
|
|
`String[]`
|
|
A sub property of instrument. An object used (but not consumed) when performing instructions or a direction.
|
|
|
|
### author
|
|
`ManyToOne:User`
|
|
The author, a user
|
|
Microdata, JSON-LD : Person with name, url (profile) and image.
|
|
|
|
### comment
|
|
`OneToMany:Note`
|
|
A list of Note received from the fediverse
|
|
TODO : define a comment
|
|
|
|
### commentCount
|
|
`Integer`
|
|
A property to be shown in microdata/json-ld but in the model
|
|
|
|
### contributor
|
|
Maybe add this later. One of the future features is to let someone edit his own version of a recipe. The original author can know about it, accept the changes and add the contributor to the list. But maybe it's too much...
|
|
|
|
### dateModified-
|
|
`DateTime`
|
|
The most recent modification date
|
|
|
|
### datePublished
|
|
`DateTime`
|
|
The date the first time the recipe appeared online
|
|
|
|
### dicussionUrl
|
|
schema.org value for microdata & JSON-LD linking to the comments section of the recipe
|
|
|
|
### licence
|
|
`String`
|
|
URL of the licence used for the recipe or a string such as "Public domain"
|
|
|
|
### thumbnailUrl
|
|
schema.org value for microdata & JSON-LD linking to the thumbnail image of the recipe
|
|
|
|
### version
|
|
Unless there is a versioning system for the recipe there's no point to this
|
|
|
|
### description
|
|
`Text`
|
|
The context of the recipe : history, source, ideas to serve it, personal notes, etc..
|
|
|
|
### image
|
|
`String (255)`
|
|
URL of the image
|
|
|
|
### mainEntityOfPage ?
|
|
|
|
### name
|
|
`String (255)`
|
|
The name of the recipe
|
|
|
|
### url
|
|
schema.org value for microdata & JSON-LD linking to the url of the recipe, given by the framework's router
|
|
|
|
### likesCount
|
|
`Integer`
|
|
Calculated from the likes in the database
|
|
|
|
### difficulty
|
|
The degree of difficulty from a list to define
|