SEO. JSONLD. BreadcrumbList
(SEO v0.3.0-rc.0)
View Source
A BreadcrumbList is an ItemList consisting of a chain of linked Web pages, typically described using at least their URL and their name, and typically ending with the current page.
The position property is used to reconstruct the order of the items in a BreadcrumbList. The convention is that a breadcrumb list has an itemListOrder of ItemListOrderAscending (lower values listed first), and that the first items in this list correspond to the "top" or beginning of the breadcrumb trail, e.g. with a site or section homepage. The specific values of 'position' are not assigned meaning for a BreadcrumbList, but they should be integers, e.g. beginning with '1' for the first item in the list.

Example
SEO.JSONLD.BreadcrumbList.build(%{
item_list_element: [
SEO.JSONLD.ListItem.build(%{
position: 1,
name: "Home",
item: "https://example.com/"
}),
SEO.JSONLD.ListItem.build(%{
position: 2,
name: "Blog",
item: "https://example.com/blog/"
})
]
})Helper for building a Schema.org BreadcrumbList JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "BreadcrumbList", 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 BreadcrumbList JSON-LD map.
Types
@type attrs() :: %{ optional(:aggregate_element) => SEO.JSONLD.Thing.t() | map(), :item_list_element => String.t() | SEO.JSONLD.Thing.t() | map() | SEO.JSONLD.ListItem.t(), optional(:item_list_order) => String.t() | :item_list_order_ascending | :item_list_order_descending | :item_list_unordered, optional(:number_of_items) => integer(), 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(), optional(:image) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:main_entity_of_page) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(: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() } | [ aggregate_element: SEO.JSONLD.Thing.t() | map(), item_list_element: String.t() | SEO.JSONLD.Thing.t() | map() | SEO.JSONLD.ListItem.t(), item_list_order: String.t() | :item_list_order_ascending | :item_list_order_descending | :item_list_unordered, number_of_items: integer(), 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 "BreadcrumbList", 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.