Nokome Bentley2 min read

Code Block

A code block.

Properties

The CodeBlock type has these properties:

Name Description Type Inherited from JSON-LD @id Aliases
id The identifier for this item. String Entity schema:id -
code The code. Cord CodeStatic stencila:code -
programmingLanguage The programming language of the code. String CodeStatic schema:programmingLanguage programming-language, programming_language
authors The authors of the code. Author* CodeStatic schema:author author
provenance A summary of the provenance of the code. ProvenanceCount* CodeStatic stencila:provenance -

Related

The CodeBlock type is related to these types:

Formats

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

Format Encoding Decoding Support Notes
DOM HTML 🟢 No loss
HTML 🟢 No loss Encoded as <pre>
JATS 🟢 No loss Encoded as <code>
Markdown 🟢 No loss 🟢 No loss Encoded using implemented function
Stencila Markdown 🟢 No loss 🟢 No loss
Quarto Markdown 🟢 No loss 🟢 No loss
MyST Markdown 🟢 No loss 🟢 No loss
LLM Markdown 🟢 No loss 🟢 No 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 CodeBlock type is represented in:

Testing

During property-based (a.k.a generative) testing, the properties of the CodeBlock 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
code Min+ Generate a simple fixed string of code. Cord::from("code")
Low+ Generate a random string of up to 10 alphanumeric characters (exclude whitespace whichcan be problematic in Markdown). r"[a-zA-Z0-9]{1,10}".prop_map(Cord::from)
High+ Generate a random string of up to 100 characters (excluding control characters). r"[^\p{C}]{1,100}".prop_map(Cord::from)
Max Generate an arbitrary string. String::arbitrary().prop_map(Cord::from)
programmingLanguage Min+ Do not generate a programming language. None
Low+ Generate one of the well known programming language short names. option::of(r"(cpp)|(js)|(py)|(r)|(ts)")
High+ Generate a random string of up to 10 alphanumeric characters. option::of(r"[a-zA-Z0-9]{1,10}")
Max Generate an arbitrary string. option::of(String::arbitrary())

Source

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