SEO. JSONLD. Recipe
(SEO v0.3.0-rc.0)
View Source
A recipe. For dietary restrictions covered by the recipe, a few common restrictions are enumerated via suitableForDiet. The keywords property can also be used to add more detail.

Example
SEO.JSONLD.Recipe.build(%{
name: "Chocolate Chip Cookies",
image: "https://example.com/cookies.jpg",
author: SEO.JSONLD.Person.build(%{name: "Jane Doe"}),
prep_time: Duration.new!(minute: 15),
cook_time: Duration.new!(minute: 12),
recipe_yield: "24 cookies",
recipe_category: "Dessert",
recipe_cuisine: "American",
recipe_ingredient: ["2 cups flour", "1 cup butter", "1 cup sugar"],
recipe_instructions: [
SEO.JSONLD.HowToStep.build(%{name: "Mix dry", text: "Combine flour, salt, baking soda."}),
SEO.JSONLD.HowToStep.build(%{name: "Cream wet", text: "Beat butter and sugar until fluffy."}),
SEO.JSONLD.HowToStep.build(%{name: "Bake", text: "Bake at 375F for 10-12 minutes."})
],
nutrition:
SEO.JSONLD.NutritionInformation.build(%{
calories: "180 calories",
serving_size: "1 cookie"
})
})Helper for building a Schema.org Recipe JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "Recipe", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a Recipe JSON-LD map.
Types
@type attrs() :: %{ optional(:cook_time) => Duration.t() | String.t(), optional(:cooking_method) => String.t(), optional(:ingredients) => String.t(), optional(:nutrition) => SEO.JSONLD.NutritionInformation.t() | map(), optional(:recipe_category) => String.t(), optional(:recipe_cuisine) => String.t(), optional(:recipe_ingredient) => String.t() | SEO.JSONLD.ItemList.t() | map() | SEO.JSONLD.PropertyValue.t(), optional(:recipe_instructions) => SEO.JSONLD.CreativeWork.t() | map() | String.t() | SEO.JSONLD.ItemList.t(), optional(:recipe_yield) => String.t() | SEO.JSONLD.QuantitativeValue.t() | map(), optional(:suitable_for_diet) => SEO.JSONLD.Diet.t() | map() | :diabetic_diet | :gluten_free_diet | :halal_diet | :hindu_diet | :kosher_diet | :low_calorie_diet | :low_fat_diet | :low_lactose_diet | :low_salt_diet | :vegan_diet | :vegetarian_diet, optional(:estimated_cost) => String.t() | SEO.JSONLD.MonetaryAmount.t() | map(), optional(:perform_time) => Duration.t() | String.t(), optional(:prep_time) => Duration.t() | String.t(), optional(:step) => String.t() | SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.HowToStep.t() | SEO.JSONLD.HowToSection.t(), optional(:steps) => SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.ItemList.t() | String.t(), optional(:supply) => String.t() | SEO.JSONLD.HowToSupply.t() | map(), optional(:tool) => SEO.JSONLD.HowToTool.t() | map() | String.t(), optional(:total_time) => Duration.t() | String.t(), optional(:yield) => String.t() | SEO.JSONLD.QuantitativeValue.t() | map(), optional(:about) => SEO.JSONLD.Thing.t() | map(), optional(:abstract) => String.t(), optional(:access_mode) => String.t(), optional(:access_mode_sufficient) => SEO.JSONLD.ItemList.t() | map(), optional(:accessibility_api) => String.t(), optional(:accessibility_control) => String.t(), optional(:accessibility_feature) => String.t(), optional(:accessibility_hazard) => String.t(), optional(:accessibility_summary) => String.t(), optional(:accountable_person) => SEO.JSONLD.Person.t() | map(), optional(:acquire_license_page) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:aggregate_rating) => SEO.JSONLD.AggregateRating.t() | map(), optional(:alternative_headline) => String.t(), optional(:archived_at) => SEO.JSONLD.WebPage.t() | map() | URI.t() | String.t(), optional(:assesses) => String.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:associated_media) => SEO.JSONLD.MediaObject.t() | map(), optional(:audience) => SEO.JSONLD.Audience.t() | map(), optional(:audio) => SEO.JSONLD.Clip.t() | map() | SEO.JSONLD.MusicRecording.t() | SEO.JSONLD.AudioObject.t(), optional(:author) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:award) => String.t(), optional(:awards) => String.t(), optional(:character) => SEO.JSONLD.Person.t() | map(), optional(:citation) => SEO.JSONLD.CreativeWork.t() | map() | String.t(), optional(:comment) => SEO.JSONLD.Comment.t() | map(), optional(:comment_count) => integer(), optional(:conditions_of_access) => String.t(), optional(:content_location) => SEO.JSONLD.Place.t() | map(), optional(:content_rating) => String.t() | SEO.JSONLD.Rating.t() | map(), optional(:content_reference_time) => DateTime.t() | NaiveDateTime.t() | String.t(), optional(:contributor) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:copyright_holder) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:copyright_notice) => String.t(), optional(:copyright_year) => number(), optional(:correction) => SEO.JSONLD.CorrectionComment.t() | map() | String.t() | URI.t(), optional(:country_of_origin) => SEO.JSONLD.Country.t() | map(), optional(:creative_work_status) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:creator) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:credit_text) => String.t(), optional(:date_created) => DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), optional(:date_modified) => DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), optional(:date_published) => Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), optional(:digital_source_type) => :algorithmic_media_digital_source | :algorithmically_enhanced_digital_source | :composite_capture_digital_source | :composite_digital_source | :composite_synthetic_digital_source | :composite_with_trained_algorithmic_media_digital_source | :data_driven_media_digital_source | :digital_art_digital_source | :digital_capture_digital_source | :minor_human_edits_digital_source | :multi_frame_computational_capture_digital_source | :negative_film_digital_source | :positive_film_digital_source | :print_digital_source | :screen_capture_digital_source | :trained_algorithmic_media_digital_source | :virtual_recording_digital_source, optional(:discussion_url) => URI.t() | String.t(), optional(:display_location) => SEO.JSONLD.Place.t() | map(), optional(:edit_eidr) => String.t() | URI.t(), optional(:editor) => SEO.JSONLD.Person.t() | map(), optional(:educational_alignment) => SEO.JSONLD.AlignmentObject.t() | map(), optional(:educational_level) => String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:educational_use) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:encoding) => SEO.JSONLD.MediaObject.t() | map(), optional(:encoding_format) => String.t() | URI.t(), optional(:encodings) => SEO.JSONLD.MediaObject.t() | map(), optional(:example_of_work) => SEO.JSONLD.CreativeWork.t() | map(), optional(:expires) => Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), optional(:file_format) => String.t() | URI.t(), optional(:funder) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:funding) => SEO.JSONLD.Grant.t() | map(), optional(:genre) => String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:has_part) => SEO.JSONLD.CreativeWork.t() | map(), optional(:headline) => String.t(), optional(:in_language) => String.t() | SEO.JSONLD.Language.t() | map(), optional(:interaction_statistic) => SEO.JSONLD.InteractionCounter.t() | map(), optional(:interactivity_type) => String.t(), optional(:interpreted_as_claim) => SEO.JSONLD.Claim.t() | map(), optional(:is_accessible_for_free) => boolean(), optional(:is_based_on) => SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.Product.t() | URI.t() | String.t(), optional(:is_based_on_url) => SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.Product.t() | URI.t() | String.t(), optional(:is_family_friendly) => boolean(), optional(:is_part_of) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:keywords) => SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), optional(:learning_resource_type) => String.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:license) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:location_created) => SEO.JSONLD.Place.t() | map(), optional(:main_entity) => SEO.JSONLD.Thing.t() | map(), optional(:maintainer) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:material) => String.t() | SEO.JSONLD.Product.t() | map() | URI.t(), optional(:material_extent) => SEO.JSONLD.QuantitativeValue.t() | map() | String.t(), optional(:mentions) => SEO.JSONLD.Thing.t() | map(), optional(:offers) => SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(), optional(:pattern) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:position) => String.t() | integer(), optional(:producer) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:provider) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:publication) => SEO.JSONLD.PublicationEvent.t() | map(), optional(:publisher) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:publisher_imprint) => SEO.JSONLD.Organization.t() | map(), optional(:publishing_principles) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:recorded_at) => SEO.JSONLD.Event.t() | map(), optional(:released_event) => SEO.JSONLD.PublicationEvent.t() | map(), optional(:review) => SEO.JSONLD.Review.t() | map(), optional(:reviews) => SEO.JSONLD.Review.t() | map(), optional(:schema_version) => String.t() | URI.t(), optional(:sd_date_published) => Date.t() | String.t(), optional(:sd_license) => URI.t() | String.t() | SEO.JSONLD.CreativeWork.t() | map(), optional(:sd_publisher) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:size) => SEO.JSONLD.DefinedTerm.t() | map() | SEO.JSONLD.QuantitativeValue.t() | String.t(), optional(:source_organization) => SEO.JSONLD.Organization.t() | map(), optional(:spatial) => SEO.JSONLD.Place.t() | map(), optional(:spatial_coverage) => SEO.JSONLD.Place.t() | map(), optional(:sponsor) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:teaches) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:temporal) => String.t() | DateTime.t() | NaiveDateTime.t(), optional(:temporal_coverage) => String.t() | URI.t() | DateTime.t() | NaiveDateTime.t(), optional(:text) => String.t(), optional(:thumbnail) => SEO.JSONLD.ImageObject.t() | map(), optional(:thumbnail_url) => URI.t() | String.t(), optional(:time_required) => Duration.t() | String.t(), optional(:translation_of_work) => SEO.JSONLD.CreativeWork.t() | map(), optional(:translator) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:typical_age_range) => String.t(), optional(:usage_info) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:version) => String.t() | number(), optional(:video) => SEO.JSONLD.VideoObject.t() | map() | SEO.JSONLD.Clip.t(), optional(:word_count) => integer(), optional(:work_example) => SEO.JSONLD.CreativeWork.t() | map(), optional(:work_translation) => SEO.JSONLD.CreativeWork.t() | map(), optional(:additional_type) => String.t() | URI.t(), optional(:alternate_name) => String.t(), optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(), optional(:disambiguating_description) => String.t(), optional(:identifier) => String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), :image => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:main_entity_of_page) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), :name => String.t(), optional(:owner) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:potential_action) => SEO.JSONLD.Action.t() | map(), optional(:same_as) => URI.t() | String.t(), optional(:subject_of) => SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), optional(:url) => URI.t() | String.t() } | [ cook_time: Duration.t() | String.t(), cooking_method: String.t(), ingredients: String.t(), nutrition: SEO.JSONLD.NutritionInformation.t() | map(), recipe_category: String.t(), recipe_cuisine: String.t(), recipe_ingredient: String.t() | SEO.JSONLD.ItemList.t() | map() | SEO.JSONLD.PropertyValue.t(), recipe_instructions: SEO.JSONLD.CreativeWork.t() | map() | String.t() | SEO.JSONLD.ItemList.t(), recipe_yield: String.t() | SEO.JSONLD.QuantitativeValue.t() | map(), suitable_for_diet: SEO.JSONLD.Diet.t() | map() | :diabetic_diet | :gluten_free_diet | :halal_diet | :hindu_diet | :kosher_diet | :low_calorie_diet | :low_fat_diet | :low_lactose_diet | :low_salt_diet | :vegan_diet | :vegetarian_diet, estimated_cost: String.t() | SEO.JSONLD.MonetaryAmount.t() | map(), perform_time: Duration.t() | String.t(), prep_time: Duration.t() | String.t(), step: String.t() | SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.HowToStep.t() | SEO.JSONLD.HowToSection.t(), steps: SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.ItemList.t() | String.t(), supply: String.t() | SEO.JSONLD.HowToSupply.t() | map(), tool: SEO.JSONLD.HowToTool.t() | map() | String.t(), total_time: Duration.t() | String.t(), yield: String.t() | SEO.JSONLD.QuantitativeValue.t() | map(), about: SEO.JSONLD.Thing.t() | map(), abstract: String.t(), access_mode: String.t(), access_mode_sufficient: SEO.JSONLD.ItemList.t() | map(), accessibility_api: String.t(), accessibility_control: String.t(), accessibility_feature: String.t(), accessibility_hazard: String.t(), accessibility_summary: String.t(), accountable_person: SEO.JSONLD.Person.t() | map(), acquire_license_page: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), aggregate_rating: SEO.JSONLD.AggregateRating.t() | map(), alternative_headline: String.t(), archived_at: SEO.JSONLD.WebPage.t() | map() | URI.t() | String.t(), assesses: String.t() | SEO.JSONLD.DefinedTerm.t() | map(), associated_media: SEO.JSONLD.MediaObject.t() | map(), audience: SEO.JSONLD.Audience.t() | map(), audio: SEO.JSONLD.Clip.t() | map() | SEO.JSONLD.MusicRecording.t() | SEO.JSONLD.AudioObject.t(), author: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), award: String.t(), awards: String.t(), character: SEO.JSONLD.Person.t() | map(), citation: SEO.JSONLD.CreativeWork.t() | map() | String.t(), comment: SEO.JSONLD.Comment.t() | map(), comment_count: integer(), conditions_of_access: String.t(), content_location: SEO.JSONLD.Place.t() | map(), content_rating: String.t() | SEO.JSONLD.Rating.t() | map(), content_reference_time: DateTime.t() | NaiveDateTime.t() | String.t(), contributor: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), copyright_holder: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), copyright_notice: String.t(), copyright_year: number(), correction: SEO.JSONLD.CorrectionComment.t() | map() | String.t() | URI.t(), country_of_origin: SEO.JSONLD.Country.t() | map(), creative_work_status: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), creator: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), credit_text: String.t(), date_created: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), date_modified: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), date_published: Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), digital_source_type: :algorithmic_media_digital_source | :algorithmically_enhanced_digital_source | :composite_capture_digital_source | :composite_digital_source | :composite_synthetic_digital_source | :composite_with_trained_algorithmic_media_digital_source | :data_driven_media_digital_source | :digital_art_digital_source | :digital_capture_digital_source | :minor_human_edits_digital_source | :multi_frame_computational_capture_digital_source | :negative_film_digital_source | :positive_film_digital_source | :print_digital_source | :screen_capture_digital_source | :trained_algorithmic_media_digital_source | :virtual_recording_digital_source, discussion_url: URI.t() | String.t(), display_location: SEO.JSONLD.Place.t() | map(), edit_eidr: String.t() | URI.t(), editor: SEO.JSONLD.Person.t() | map(), educational_alignment: SEO.JSONLD.AlignmentObject.t() | map(), educational_level: String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(), educational_use: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), encoding: SEO.JSONLD.MediaObject.t() | map(), encoding_format: String.t() | URI.t(), encodings: SEO.JSONLD.MediaObject.t() | map(), example_of_work: SEO.JSONLD.CreativeWork.t() | map(), expires: Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), file_format: String.t() | URI.t(), funder: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), funding: SEO.JSONLD.Grant.t() | map(), genre: String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(), has_part: SEO.JSONLD.CreativeWork.t() | map(), headline: String.t(), in_language: String.t() | SEO.JSONLD.Language.t() | map(), interaction_statistic: SEO.JSONLD.InteractionCounter.t() | map(), interactivity_type: String.t(), interpreted_as_claim: SEO.JSONLD.Claim.t() | map(), is_accessible_for_free: boolean(), is_based_on: SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.Product.t() | URI.t() | String.t(), is_based_on_url: SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.Product.t() | URI.t() | String.t(), is_family_friendly: boolean(), is_part_of: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), keywords: SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), learning_resource_type: String.t() | SEO.JSONLD.DefinedTerm.t() | map(), license: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), location_created: SEO.JSONLD.Place.t() | map(), main_entity: SEO.JSONLD.Thing.t() | map(), maintainer: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), material: String.t() | SEO.JSONLD.Product.t() | map() | URI.t(), material_extent: SEO.JSONLD.QuantitativeValue.t() | map() | String.t(), mentions: SEO.JSONLD.Thing.t() | map(), offers: SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(), pattern: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), position: String.t() | integer(), producer: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), publication: SEO.JSONLD.PublicationEvent.t() | map(), publisher: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), publisher_imprint: SEO.JSONLD.Organization.t() | map(), publishing_principles: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), recorded_at: SEO.JSONLD.Event.t() | map(), released_event: SEO.JSONLD.PublicationEvent.t() | map(), review: SEO.JSONLD.Review.t() | map(), reviews: SEO.JSONLD.Review.t() | map(), schema_version: String.t() | URI.t(), sd_date_published: Date.t() | String.t(), sd_license: URI.t() | String.t() | SEO.JSONLD.CreativeWork.t() | map(), sd_publisher: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), size: SEO.JSONLD.DefinedTerm.t() | map() | SEO.JSONLD.QuantitativeValue.t() | String.t(), source_organization: SEO.JSONLD.Organization.t() | map(), spatial: SEO.JSONLD.Place.t() | map(), spatial_coverage: SEO.JSONLD.Place.t() | map(), sponsor: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), teaches: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), temporal: String.t() | DateTime.t() | NaiveDateTime.t(), temporal_coverage: String.t() | URI.t() | DateTime.t() | NaiveDateTime.t(), text: String.t(), thumbnail: SEO.JSONLD.ImageObject.t() | map(), thumbnail_url: URI.t() | String.t(), time_required: Duration.t() | String.t(), translation_of_work: SEO.JSONLD.CreativeWork.t() | map(), translator: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), typical_age_range: String.t(), usage_info: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), version: String.t() | number(), video: SEO.JSONLD.VideoObject.t() | map() | SEO.JSONLD.Clip.t(), word_count: integer(), work_example: SEO.JSONLD.CreativeWork.t() | map(), work_translation: SEO.JSONLD.CreativeWork.t() | map(), additional_type: String.t() | URI.t(), alternate_name: String.t(), description: SEO.JSONLD.TextObject.t() | map() | String.t(), disambiguating_description: String.t(), identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), main_entity_of_page: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), name: String.t(), owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), potential_action: SEO.JSONLD.Action.t() | map(), same_as: URI.t() | String.t(), subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), url: URI.t() | String.t() ]
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "Recipe", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a Recipe JSON-LD map.
Fields
:cook_time- The time it takes to actually cook the dish, in ISO 8601 duration format.:cooking_method- The method of cooking, such as Frying, Steaming, ...:ingredients- A single ingredient used in the recipe, e.g. sugar, flour or garlic.:nutrition- Nutrition information about the recipe or menu item.:recipe_category- The category of the recipe—for example, appetizer, entree, etc.:recipe_cuisine- The cuisine of the recipe (for example, French or Ethiopian).:recipe_ingredient- An ingredient or ordered list of ingredients and potentially quantities used in the recipe, e.g. 1 cup of sugar, flour or garlic. The ingredients can be represented as free text or more structured values.:recipe_instructions- 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.:recipe_yield- The quantity produced by the recipe (for example, number of people served, number of servings, etc).:suitable_for_diet- Indicates a dietary restriction or guideline for which this recipe or menu item is suitable, e.g. diabetic, halal etc. One of::diabetic_diet,:gluten_free_diet,:halal_diet,:hindu_diet,:kosher_diet,:low_calorie_diet,:low_fat_diet,:low_lactose_diet,:low_salt_diet,:vegan_diet,:vegetarian_diet.
Inherited properties
Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: