Formats

HTML

HyperText Markup Language

Introduction

HTML (HyperText Markup Language) is the standard markup language used to structure and display content on the web

Stencila provides, currently limited, support for converting to, and from, HTML.

When previewing documents (e.g. using

Usage

Use the .html file extension, or the --to html or --from html options, when converting to/from HTML e.g.

stencila convert doc.smd doc.html

Implementation

Parsing of HTML is largely done using the quick-xml Rust crate.

Support

Stencila supports these operations for HTML:

  • 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 Encoded as <article>
AudioObject 🔷 Low loss Encoded as <audio> using special function
AuthorRole 🔷 Low loss
Chat 🔷 Low loss
ChatMessage 🔷 Low loss
ChatMessageGroup 🔷 Low loss
Claim 🔷 Low loss
Collection 🔷 Low loss
Comment 🔷 Low loss
CreativeWork 🔷 Low loss
Directory 🔷 Low loss
Figure 🔷 Low loss Encoded as <figure>
File 🔷 Low loss
ImageObject 🔷 Low loss Encoded as <img> using special function
MediaObject 🔷 Low loss
Periodical 🔷 Low loss
Prompt 🔷 Low loss
PublicationIssue 🔷 Low loss
PublicationVolume 🔷 Low loss
Review 🔷 Low loss
SoftwareApplication 🔷 Low loss
SoftwareSourceCode 🔷 Low loss
Table 🔷 Low loss Encoded using special function
TableCell 🔷 Low loss Encoded as <td>
TableRow 🔷 Low loss Encoded as <tr>
VideoObject 🔷 Low loss Encoded as <video> using special function
Prose
Admonition 🔷 Low loss Encoded as <aside>
Annotation 🔷 Low loss
Cite 🔷 Low loss
CiteGroup 🔷 Low loss
DefinedTerm 🔷 Low loss
Emphasis 🟢 No loss Encoded as <em>
Heading 🟢 No loss Encoded using special function
Link 🔷 Low loss Encoded as <a>
List 🔷 Low loss Encoded using special function
ListItem 🔷 Low loss Encoded as <li>
Note 🔷 Low loss
Paragraph 🟢 No loss Encoded as <p>
QuoteBlock 🔷 Low loss Encoded as <blockquote>
QuoteInline 🔷 Low loss Encoded as <q>
Section 🟢 No loss Encoded as <section> using special function
Strikeout 🔷 Low loss Encoded as <s>
Strong 🟢 No loss Encoded as <strong>
Subscript 🟢 No loss Encoded as <sub>
Superscript 🟢 No loss Encoded as <sup>
Text 🟢 No loss Encoded as <span>
ThematicBreak 🟢 No loss Encoded as <hr>
Underline 🟢 No loss Encoded as <u>
Math
MathBlock 🔷 Low loss Encoded as <math>
MathInline 🔷 Low loss Encoded as <math>
Code
CodeBlock 🟢 No loss Encoded as <pre>
CodeChunk 🔷 Low loss
CodeExpression 🔷 Low loss
CodeInline 🟢 No loss Encoded as <code>
CompilationMessage 🔷 Low loss
ExecutionMessage 🔷 Low loss
Data
Array 🔷 Low loss
ArrayHint 🔷 Low loss
ArrayValidator 🔷 Low loss
Boolean 🔷 Low loss
BooleanValidator 🔷 Low loss
ConstantValidator 🔷 Low loss
Cord 🟢 No loss
Datatable 🔷 Low loss
DatatableColumn 🔷 Low loss
DatatableColumnHint 🔷 Low loss
DatatableHint 🔷 Low loss
Date 🔷 Low loss
DateTime 🔷 Low loss
DateTimeValidator 🔷 Low loss
DateValidator 🔷 Low loss
Duration 🔷 Low loss
DurationValidator 🔷 Low loss
EnumValidator 🔷 Low loss
Integer 🔷 Low loss
IntegerValidator 🔷 Low loss
Null 🔷 Low loss
Number 🔷 Low loss
NumberValidator 🔷 Low loss
Object 🔷 Low loss
ObjectHint 🔷 Low loss
String 🟢 No loss
StringHint 🔷 Low loss
StringValidator 🔷 Low loss
Time 🔷 Low loss
TimeValidator 🔷 Low loss
Timestamp 🔷 Low loss
TimestampValidator 🔷 Low loss
TupleValidator 🔷 Low loss
Unknown 🔷 Low loss
UnsignedInteger 🔷 Low loss
Flow
Button 🔷 Low loss Encoded as <button>
CallArgument 🔷 Low loss
CallBlock 🔷 Low loss
CodeLocation 🔷 Low loss
CompilationDigest 🔷 Low loss
ExecutionDependant 🔷 Low loss
ExecutionDependency 🔷 Low loss
ExecutionTag 🔷 Low loss
ForBlock 🔷 Low loss
Form 🔷 Low loss
Function 🔷 Low loss
IfBlock 🔷 Low loss
IfBlockClause 🔷 Low loss
IncludeBlock 🔷 Low loss
Parameter 🔷 Low loss Encoded using special function
Variable 🔷 Low loss
Walkthrough 🔷 Low loss
WalkthroughStep 🔷 Low loss
Style
StyledBlock 🔷 Low loss Encoded as <div>
StyledInline 🔷 Low loss Encoded as <span>
Edits
InstructionBlock 🔷 Low loss
InstructionInline 🔷 Low loss
InstructionMessage 🔷 Low loss
PromptBlock 🔷 Low loss
SuggestionBlock 🔷 Low loss
SuggestionInline 🔷 Low loss
Config
Config 🔷 Low loss
Other
Brand 🔷 Low loss
ContactPoint 🔷 Low loss
Enumeration 🔷 Low loss
Grant 🔷 Low loss
ModelParameters 🔷 Low loss
MonetaryGrant 🔷 Low loss
Organization 🔷 Low loss
Person 🔷 Low loss
PostalAddress 🔷 Low loss
Product 🔷 Low loss
PropertyValue 🔷 Low loss
ProvenanceCount 🔷 Low loss
RawBlock 🔷 Low loss
Thing 🔷 Low loss

See the Rust crate codec-html for more details.