MyST Markdown
An extended flavor of Markdown for technical, scientific communication and publication
Introduction
MyST Markdown is an extended flavor of Markdown that supports additional syntax features like directives and roles, familiar to users of reStructuredText. It’s designed to enhance the expressiveness of standard Markdown for technical documentation while retaining Markdown’s simplicity and readability
Usage
To convert to/from MyST Markdown, use the .myst
file extension, or the --to myst
or --from myst
options e.g.
stencila convert doc.smd doc.myst
Implementation
Stencila support bi-directional conversion between Stencila documents and MyST Markdown. See our CommonMark documentation for implementation details.
Support
Stencila supports these operations for MyST Markdown:
- decoding from a file
- decoding from a string
- encoding to a file
- encoding to a string
Support and degree of loss by node type:
Node type | Encoding | Decoding | Notes |
---|---|---|---|
Works | |||
Article | 🔷 Low loss | 🔷 Low loss | |
AudioObject | 🔷 Low loss | 🔷 Low loss | |
AuthorRole | ⚠️ High loss | ||
Chat | ⚠️ High loss | ||
ChatMessage | ⚠️ High loss | ||
ChatMessageGroup | ⚠️ High loss | ||
Claim | ⚠️ High loss | ||
Collection | ⚠️ High loss | ||
Comment | ⚠️ High loss | ||
CreativeWork | ⚠️ High loss | ||
Directory | ⚠️ High loss | ||
Figure | ⚠️ High loss | ||
File | ⚠️ High loss | ||
ImageObject | 🔷 Low loss | 🔷 Low loss | |
MediaObject | 🔷 Low loss | 🔷 Low loss | |
Periodical | ⚠️ High loss | ||
Prompt | ⚠️ High loss | ||
PublicationIssue | ⚠️ High loss | ||
PublicationVolume | ⚠️ High loss | ||
Review | ⚠️ High loss | ||
SoftwareApplication | ⚠️ High loss | ||
SoftwareSourceCode | ⚠️ High loss | ||
Table | 🔷 Low loss | 🔷 Low loss | |
TableCell | 🔷 Low loss | 🔷 Low loss | |
TableRow | 🔷 Low loss | 🔷 Low loss | |
VideoObject | ⚠️ High loss | ||
Prose | |||
Admonition | 🟢 No loss | 🟢 No loss | |
Annotation | ⚠️ High loss | ||
Cite | ⚠️ High loss | ||
CiteGroup | ⚠️ High loss | ||
DefinedTerm | ⚠️ High loss | ||
Emphasis | 🟢 No loss | 🟢 No loss | |
Heading | 🟢 No loss | 🟢 No loss | |
Link | 🔷 Low loss | 🔷 Low loss | |
List | 🔷 Low loss | 🔷 Low loss | |
ListItem | 🔷 Low loss | 🔷 Low loss | |
Note | 🔷 Low loss | 🔷 Low loss | |
Paragraph | 🟢 No loss | 🟢 No loss | |
QuoteBlock | 🟢 No loss | 🟢 No loss | |
QuoteInline | ⚠️ High loss | ||
Section | 🟢 No loss | 🟢 No loss | |
Strikeout | ⚠️ High loss | ||
Strong | 🟢 No loss | 🟢 No loss | |
Subscript | 🟢 No loss | 🟢 No loss | |
Superscript | 🟢 No loss | 🟢 No loss | |
Text | 🟢 No loss | 🟢 No loss | |
ThematicBreak | 🟢 No loss | 🟢 No loss | |
Underline | 🟢 No loss | 🟢 No loss | |
Math | |||
MathBlock | 🟢 No loss | 🟢 No loss | |
MathInline | 🟢 No loss | 🟢 No loss | |
Code | |||
CodeBlock | 🟢 No loss | 🟢 No loss | |
CodeChunk | 🔷 Low loss | 🔷 Low loss | |
CodeExpression | 🔷 Low loss | 🔷 Low loss | |
CodeInline | 🟢 No loss | 🟢 No loss | |
CompilationMessage | ⚠️ High loss | ||
ExecutionMessage | ⚠️ High loss | ||
Data | |||
Array | ⚠️ High loss | ||
ArrayHint | ⚠️ High loss | ||
ArrayValidator | ⚠️ High loss | ||
Boolean | 🔷 Low loss | 🔷 Low loss | |
BooleanValidator | ⚠️ High loss | ||
ConstantValidator | ⚠️ High loss | ||
Cord | 🟢 No loss | 🟢 No loss | |
Datatable | ⚠️ High loss | ||
DatatableColumn | ⚠️ High loss | ||
DatatableColumnHint | ⚠️ High loss | ||
DatatableHint | ⚠️ High loss | ||
Date | ⚠️ High loss | ||
DateTime | ⚠️ High loss | ||
DateTimeValidator | ⚠️ High loss | ||
DateValidator | ⚠️ High loss | ||
Duration | ⚠️ High loss | ||
DurationValidator | ⚠️ High loss | ||
EnumValidator | ⚠️ High loss | ||
Integer | 🔷 Low loss | 🔷 Low loss | |
IntegerValidator | ⚠️ High loss | ||
Null | 🔷 Low loss | 🔷 Low loss | |
Number | 🔷 Low loss | 🔷 Low loss | |
NumberValidator | ⚠️ High loss | ||
Object | ⚠️ High loss | ||
ObjectHint | ⚠️ High loss | ||
String | 🟢 No loss | 🟢 No loss | |
StringHint | ⚠️ High loss | ||
StringValidator | ⚠️ High loss | ||
Time | ⚠️ High loss | ||
TimeValidator | ⚠️ High loss | ||
Timestamp | ⚠️ High loss | ||
TimestampValidator | ⚠️ High loss | ||
TupleValidator | ⚠️ High loss | ||
Unknown | ⚠️ High loss | ||
UnsignedInteger | 🔷 Low loss | 🔷 Low loss | |
Flow | |||
Button | ⚠️ High loss | ||
CallArgument | ⚠️ High loss | ||
CallBlock | ⚠️ High loss | ||
CodeLocation | ⚠️ High loss | ||
CompilationDigest | ⚠️ High loss | ||
ExecutionDependant | ⚠️ High loss | ||
ExecutionDependency | ⚠️ High loss | ||
ExecutionTag | ⚠️ High loss | ||
ForBlock | ⚠️ High loss | ||
Form | ⚠️ High loss | ||
Function | ⚠️ High loss | ||
IfBlock | ⚠️ High loss | ||
IfBlockClause | ⚠️ High loss | ||
IncludeBlock | ⚠️ High loss | ||
Parameter | 🔷 Low loss | 🔷 Low loss | |
Variable | ⚠️ High loss | ||
Walkthrough | ⚠️ High loss | ||
WalkthroughStep | ⚠️ High loss | ||
Style | |||
StyledBlock | 🟢 No loss | 🟢 No loss | |
StyledInline | ⚠️ High loss | ||
Edits | |||
InstructionBlock | ⚠️ High loss | ||
InstructionInline | ⚠️ High loss | ||
InstructionMessage | ⚠️ High loss | ||
PromptBlock | ⚠️ High loss | ||
SuggestionBlock | ⚠️ High loss | ||
SuggestionInline | ⚠️ High loss | ||
Config | |||
Config | ⚠️ High loss | ||
Other | |||
Brand | ⚠️ High loss | ||
ContactPoint | ⚠️ High loss | ||
Enumeration | ⚠️ High loss | ||
Grant | ⚠️ High loss | ||
ModelParameters | ⚠️ High loss | ||
MonetaryGrant | ⚠️ High loss | ||
Organization | ⚠️ High loss | ||
Person | ⚠️ High loss | ||
PostalAddress | ⚠️ High loss | ||
Product | ⚠️ High loss | ||
PropertyValue | ⚠️ High loss | ||
ProvenanceCount | ⚠️ High loss | ||
RawBlock | ⚠️ High loss | ||
Thing | ⚠️ High loss |
See the Rust crate codec-markdown
for more details.