All available characters are valid Markdown. The following sections are about the special ones we can’t use directly.
Escaping formatting Characters
The characters reserved for Markdown formatting are not directly available anymore. To use them literally we need to escape them by adding a backslash
\ in front.
When we escape a number sign
\# for example it’s just the number sign ‘#’.
Entities are ASCII codes for Unicode characters. These codes begin with an ampersand
& and end with a semicolon
;. For example:
- means the paragraph ¶ .
- means the section § .
- means the set of real numbers ℝ .
For more exotic ones you should check, if they are available in the IBM Plex fonts this theme is shipping with. If a character is missing there, the browsers will first try to use a local font and may display a glyph with a more or less noticeable different shape. And if they can’t find a representation for the character anywhere, they will display an ugly placeholder glyph. You may take a good look at the ℝ in the last example. The Plex fonts provide no glyphs for the real set but there is usually one available in system fonts and will differ more or less in shape.
Please remember the often neglected sets of general entities, which are meant to facilitate nice typography — the ones for spacing and (not) breaking.
Good typography needs the right amount of space between type. For the most part this is the job of the web designer. But the horizontal spacing between words and characters remain the responsibility of the editor. The following HTML entities are available in Plex and many other good fonts:
|No space (for comparison)||xx|
|Hair space||x x|
|Thin space||x x|
|Normal space||Space||x x|
|en space (wide as an n)||x x|
|em space (wide as an m)||x x|
|num space||1 3|
Breaking Words — or not
The major browsers do support hyphenation for a few languages, Perplex includes a polyfill for the missing ones. That’s why we usually don’t need to place soft hyphens.
The non-breaking entities are meant for situations where characters or words should never be separated by a new line.
|Non breaking space||x x|
|Narrow non breaking space||x x|
|Zero width joiner||xx|
Hugo supports emojis in Markdown content, if we set the global parameter