schema/
typedescriptionrequiredpropertiesanyOf
Tips
For readability in YAML source, wrap prose such as descriptionand root $commenttext at around 80 columns, including indentation.
description
description$commentdescription
Tips
Keep descriptionfields short, usually one sentence. Prefer defining what the type is, not why it exists in Stencila Schema. Do not duplicate the root $comment. Put rationale, origin, and Stencila-specific semantics in $commentinstead. Avoid listing key properties in description; reserve that for $commentwhen needed. Prefer neutral, definition-style wording over explanatory prose. Prefer “A …”, “An …”, or “The …” openings. For schema.org-derived types, prefer a close adaptation of the source definition unless Stencila meaningfully narrows or broadens it. For Stencila-native types, use a concise definition that helps readers recognize the node's role in a document or data model.
$comment
$commentdescription
Tips
Keep root $commentfields conceptual. Put constraints, edge cases, and format-specific notes on the relevant properties instead. Do not duplicate the descriptionfield. The descriptionshould say what the type is; the root $commentshould say why it is in Stencila Schema and what Stencila changes, adds, or emphasizes. For inherited behavior, refer to the parent type rather than repeating its full semantics. State whether the type is an implementation of a schema.org type, an extension of one, a renaming of one, or a Stencila-native type with analogues elsewhere. For schema.org-derived types, prefer to say so in the first sentence and link to the source type. Explain what Stencila adds, changes, or constrains beyond the source vocabulary or external specification. Point readers to the 2–5 properties that carry the main Stencila-specific semantics, rather than trying to summarize the full schema. Prefer a consistent opening for schema.org-derived types, for example: “This is an implementation of schema.org Type.”, “This is an implementation of schema.org Type, extended in Stencila Schema to support …”, or “This is an implementation of schema.org Type, exposed in Stencila Schema as LocalNameto …”. For Stencila-native types, explain the closest analogues only when that helps readers orient themselves. Avoid exhaustive lists of related standards or properties unless they materially help explain the type. Prefer 1–3 concise paragraphs. Foundational or complex types may need more, but brevity and consistency are preferred. As a rule of thumb, a good root $commentshould help a reader answer three questions quickly: where does this type come from, what does Stencila add, change, or constrain, and which properties should I look at next?
analogues
analogues
nameurl
id
schema | schema:<TypeName> | schema:Person | |
html | html:<element> | html:p | |
jats | jats:<element> | jats:p | |
pandoc | pandoc:<Name> | pandoc:Para | |
mdast | mdast:<TypeName> | mdast:Paragraph | |
myst | myst:directive:<name> | myst:directive:admonition | |
myst | myst:role:<name> | myst:role:cite | |
nameurl |
Person<p><p>ParagraphParaadmonitioncite
notes
nameurl
analogues:
- id: html:p
notes: Closest HTML element analogue for paragraph content.
- id: jats:p
- id: pandoc:Para
notes: Similar block paragraph analogue, but Stencila paragraphs can also carry authorship and provenance metadata.
- id: mdast:Paragraph
notes: Closest MDAST block node analogue for paragraphs.
- name: Custom Spec Paragraph
url: https://example.org/spec/paragraph
notes: Similar paragraph container in a project-specific document model.Tips
Use analoguesfor canonical cross-schema links, not for long explanatory prose. Prefer the compact idform for supported registries: schema, html, jats, mdast, pandoc, and myst. For MyST, use myst:directive:<name>for directives and myst:role:<name>for roles. Keep notesshort and comparative. Use root $commentfor broader rationale and design context, and analoguesfor concise cross-schema correspondence.