Markdown syntax
Voile's Markdown renderer follows the standard Markdown syntax with additional extensions (tables and admonitions).
This topic will break down all supported Markdown elements and how to use them.
Heading
To create a heading, use the hashtag (#) symbol in front of a line of text. The number of hashtags determines the level of the heading. Higher levels produce smaller headings.
Additionally, heading levels 1 and 2 have an extra line below them.
Paragraph
The basic building block, a simple paragraph.
Paragraphs are separated by a blank line.
Emphasis
You can add emphasis by making text bold or italic (or both at the same time).
Italic
To italicize text, use only one asterisk (*) or underscore (_) symbol.
*hello* world-> hello world_hello_ world-> hello world
Bold
To make bold text, use two asterisks (*) or underscores (_).
**hello** world-> hello world__hello__ world-> hello world
Bold and italic
To make text bold and italicized, use three asterisks (*) or underscores (_).
***hello*** world-> hello world___hello___ world-> hello world
Blockquote
To create a blockquote, add a greater than (>) symbol in front of a paragraph.
You can also make a multi-line blockquote by specifying just the symbol.
Blockquotes can contain other elements, such as headings and code blocks. They can be also nested.
Admonition
Admonitions are more stylized block quotes. You can add them via the exclamation mark (!) and an optional additional symbol to style it.
You can also make admonitions multi-lined, same as with blockquotes, however for Voile to properly render it, add one additional space after the !/!v, !x, !! symbols.
List
You can organize items into ordered and unordered lists.
Ordered list
To create an ordered list, add a number followed by a period in front of paragraphs. You can also indent the line with four spaces to create a sub-list.
First item
Second item
First item for the Second item
Second item for the Second item
Third item
Unordered list
To create an unordered list, add either dash (-), asterisk (*) or plus (+) symbol in front of paragraphs. You can also indent the line with four spaces to create a sub-list.
First item
Second item
First item for the Second item
Second item for the Second item
Third item
Code
To denote a word or phrase as code, enclose it in backtick (`) symbols.
Hello world
Code block
You can create entire code blocks by using three backtick (```) symbols.
Indented code block
You can also indent a paragraph with four spaces to create an indented code block.
Thematic break
You can add a thematic break using three or more asterisks (***), dash (---), or underscore (___) symbols on a line by themselves.
Buttons
You can create a button block by using an HTML block <buttons> with the <button> element. There are several types of buttons available, all defined by its attribute name.
Topic buttons
A topic button opens a specified topic. This can be done by specifying the topic attribute with topic's identifier.
To learn more about Topic Identifiers, see its topic.
URL buttons
A URL button opens a specified URL. This can be done by specifying the url attribute. If the URL doesn't have specified protocol, Voile will fall back to https://
Hytale does not support opening URLs directly in the UI. Voile's workaround is to send the URL in the chat, where the player will be able to open it.
Table
You can add tables by specifying the table block.
Column 1 | Column 2 | Column 3 |
|---|---|---|
Value 1 | Value 2 | Value 3 |
Value a | Value b | Value c |
For more information, please see the Tables topic.
Image
You can add images by using the  syntax.
For more information, please see the Images topic.
Colors
You can color your text by using various color formatting.
Minecraft-style colors
Voile supports Minecraft-style coloring using the ampersand (&) symbol:
&0for &0Black color&1for &1Dark Blue color&2for &2Dark Green color&3for &3Dark Turquoise color&4for &4Dark Red color&5for &5Purple color&6for &6Dark Yellow color&7for &7Light Gray color&8for &8Dark Gray color&9for &9Light Blue color&afor &aLight Green color&bfor &bLight Turquoise color&cfor &cLight Red color&dfor &dMagenta color&efor &eLight Yellow color&ffor &fWhite color
Inline HTML color codes
Inline HTML color codes are also supported:
<red>Red</red><green>Green</green><blue>Blue</blue>
With hexadecimal values:
<#e5da52>Written in hex!</#e5da52>
With decimal values:
<255,85,85>Red in RGB</255,85,85><128,64,200>Custom color</128,64,200>
Gradients
Gradient colors can be achieved by specifying the <gradient> element with a data element specifying the color gradient.
Unsupported elements
Currently, there are some unsupported Markdown elements.
Element type | Implementation ETA |
|---|---|
URL link | Hytale does not provide a way to add a link to the UI. |
Chapter link | Hytale does not provide a way to scroll the UI programmatically. |
Subscript and superscript text | Hytale does not provide an easy way how to do this. |
Footnotes | N/A |
Definition list | N/A |
Task list | N/A |
Element types with N/A may be implemented in the future.