Nokome Bentley3 min read

Figure

Encapsulates one or more images, videos, tables, etc, and provides captions and labels for them.

Properties

The Figure type has these properties:

Name Description Type Inherited from JSON-LD @id Aliases
id The identifier for this item. String Entity schema:id -
alternateNames Alternate names (aliases) for the item. String* Thing schema:alternateName alternate-names, alternate_names, alternateName, alternate-name, alternate_name
description A description of the item. String Thing schema:description -
identifiers Any kind of identifier for any kind of Thing. (PropertyValue | String)* Thing schema:identifier identifier
images Images of the item. ImageObject* Thing schema:image image
name The name of the item. String Thing schema:name -
url The URL of the item. String Thing schema:url -
about The subject matter of the content. ThingType* CreativeWork schema:about -
abstract A a short description that summarizes a CreativeWork. Block* CreativeWork schema:abstract -
authors The authors of the CreativeWork. Author* CreativeWork schema:author author
provenance A summary of the provenance of the content within the work. ProvenanceCount* CreativeWork stencila:provenance -
contributors A secondary contributor to the CreativeWork. Author* CreativeWork schema:contributor contributor
editors People who edited the CreativeWork. Person* CreativeWork schema:editor editor
maintainers The maintainers of the CreativeWork. (Person | Organization)* CreativeWork schema:maintainer maintainer
comments Comments about this creative work. Comment* CreativeWork schema:comment comment
dateCreated Date/time of creation. Date CreativeWork schema:dateCreated date-created, date_created
dateReceived Date/time that work was received. Date CreativeWork schema:dateReceived date-received, date_received
dateAccepted Date/time of acceptance. Date CreativeWork stencila:dateAccepted date-accepted, date_accepted
dateModified Date/time of most recent modification. Date CreativeWork schema:dateModified date-modified, date_modified
datePublished Date of first publication. Date CreativeWork schema:datePublished date, date-published, date_published
funders People or organizations that funded the CreativeWork. (Person | Organization)* CreativeWork schema:funder funder
fundedBy Grants that funded the CreativeWork; reverse of fundedItems. (Grant | MonetaryGrant)* CreativeWork stencila:fundedBy funded-by, funded_by
genre Genre of the creative work, broadcast channel or group. String* CreativeWork schema:genre -
keywords Keywords or tags used to describe this content. Multiple entries in a keywords list are typically delimited by commas. String* CreativeWork schema:keywords keyword
isPartOf An item or other CreativeWork that this CreativeWork is a part of. CreativeWorkType CreativeWork schema:isPartOf is-part-of, is_part_of
licenses License documents that applies to this content, typically indicated by URL. (CreativeWorkType | Text)* CreativeWork schema:license license
parts Elements of the collection which can be a variety of different elements, such as Articles, Datatables, Tables and more. CreativeWorkType* CreativeWork schema:hasParts hasParts, part
publisher A publisher of the CreativeWork. Person | Organization CreativeWork schema:publisher -
references References to other creative works, such as another publication, web page, scholarly article, etc. (CreativeWorkType | Text)* CreativeWork schema:citation citations, reference
text The textual content of this creative work. Text CreativeWork schema:text -
title The title of the creative work. Inline* CreativeWork schema:headline headline
version The version of the creative work. String | Number CreativeWork schema:version -
label A short label for the figure. String - stencila:label -
labelAutomatically Whether the label should be automatically updated. Boolean - stencila:labelAutomatically label-automatically, label_automatically
caption A caption for the figure. Block* - schema:caption -
content The content of the figure. Block* - stencila:content -

Related

The Figure type is related to these types:

Formats

The Figure type can be encoded (serialized) to, and/or decoded (deserialized) from, these formats:

Format Encoding Decoding Support Notes
DOM HTML 🟢 No loss
HTML 🔷 Low loss Encoded as <figure>
JATS 🔷 Low loss Encoded as <fig>
Markdown ⚠️ High loss Encoded using implemented function
Stencila Markdown ⚠️ High loss
Quarto Markdown ⚠️ High loss
MyST Markdown ⚠️ High loss
LLM Markdown ⚠️ High loss
LaTeX 🔷 Low loss 🔷 Low loss
PDF 🔷 Low loss
Plain text ⚠️ High loss
IPYNB 🔷 Low loss 🔷 Low loss
Microsoft Word DOCX 🔷 Low loss 🔷 Low loss
OpenDocument ODT 🔷 Low loss 🔷 Low loss
TeX 🔷 Low loss 🔷 Low loss
JSON 🟢 No loss 🟢 No loss
JSON+Zip 🟢 No loss 🟢 No loss
JSON5 🟢 No loss 🟢 No loss
JSON-LD 🟢 No loss 🟢 No loss
CBOR 🟢 No loss 🟢 No loss
CBOR+Zstandard 🟢 No loss 🟢 No loss
YAML 🟢 No loss 🟢 No loss
Lexical JSON 🔷 Low loss 🔷 Low loss
Koenig JSON 🔷 Low loss 🔷 Low loss
Pandoc AST 🔷 Low loss 🔷 Low loss
Directory
Stencila Web Bundle
Debug 🔷 Low loss

Bindings

The Figure type is represented in:

Testing

During property-based (a.k.a generative) testing, the properties of the Figure type are generated using the following strategies for each complexity level. Any optional properties that are not in this table are set to None.

Property Complexity Description Strategy
label Min+ No label None
Low+ Generate a simple label option::of(r"[a-zA-Z0-9]+")
Max Generate an arbitrary string option::of(String::arbitrary())
caption Min+ No caption None
Low+ Generate up to two arbitrary paragraphs. option::of(vec_paragraphs(2))
Max Generate up to three arbitrary, non-recursive, block nodes. option::of(vec_blocks_non_recursive(3))
content Min+ Generate a single arbitrary paragraph. vec_paragraphs(1)
Low+ Generate up to two arbitrary, non-recursive, block nodes (excluding code chunks). vec_blocks_figure_content(2)
Max Generate up to four arbitrary, non-recursive, block nodes. vec_blocks_non_recursive(4)

Source

This documentation was generated from Figure.yaml by docs_types.rs.