Escaping

The backslash (\) works by immediately adding the following character as a literal and skipping any further interpretation of it.

For example, if you want to write inline unformatted text containing a backtick, you will need to escape it, so that to render println!("`") as unformatted inline text, you'd write `println!("\`")`, otherwise the second backtick would close the code tag midway through it.

If you want to render a literal backslash, you can escape the backslash itself by using two backslashes: \\.

Interactions with TOML escaping

Notice that TOML itself also handles escape codes, so to pass a backslash you will need to escape it as a double backslash inside strings delimited by double quotes or triple double quotes. You can use a single backslash inside a string delimited by single quotes:

[node.Double]
text = "You need double slashes to escape an asterisk here: \\*"

[node.TripleDouble]
text = """
Just like here: \\*
"""

[node.Single]
text = 'Here you need just one: \*"

[node.TripleSingle]
text = '''
Here too: \*
'''

This has nothing to do with en's markup syntax per se, it's just a consequence of how backslashes are also special in TOML syntax. For more details, see the TOML documentation on Strings.

Interactions with HTML

en will happily accept HTML code and pass it along to the browser, so you can use any feature from it as a sort of superset.

If you want to prevent a particular part of your text from being interpreted as HTML, you can escape it as you normally would.

The fact you are using HTML does not exclude en syntax from being interpreted, although this may change in the future. Presently, you need to escape en markup syntax if you want it printed literally even inside HTML tags. This matters because en uses its syntax to create connections between your graph's nodes and makes several decisions based on these relations.