Difference between revisions of "Discord/formatting"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
Line 1: Line 1:
 
{{fmt/title|Discord text formatting/markup}}
 
{{fmt/title|Discord text formatting/markup}}
Text formatting is similar to a subset of [[Markdown]], although there are differences:
+
Text formatting is similar to a subset of [[Markdown]], although there are differences. Here's what works that we're currently aware of.
 +
==Inline==
 
* '''bold''' is <code>**two asterisks**</code>
 
* '''bold''' is <code>**two asterisks**</code>
 
* ''italic'' is <code>*one asterisk*</code> or <code>_one underscore_</code>
 
* ''italic'' is <code>*one asterisk*</code> or <code>_one underscore_</code>
Line 9: Line 10:
 
** You can use this format to paste [[URL]]s without them becoming links or displaying a preview.
 
** You can use this format to paste [[URL]]s without them becoming links or displaying a preview.
 
** There's a better way to just suppress previews, however: see [[#Previews]].
 
** There's a better way to just suppress previews, however: see [[#Previews]].
 +
** There's also a markup for multiple lines of code, with optional syntax highlighting: see Sections below.
 +
* <code>&gt; </code> (right-angle plus a space) will cause the following paragraph to be indented with a vertical bar
 +
* spoiler text is <code>||two pipes||</code>: this causes the text to be obscured until clicked on (similar to {{spoiler|this}} but requiring a click rather than mouse-hover)
 +
 +
To display characters that would otherwise be treated as formatting, escape them with a backslash:
 +
* <code>\*</code> will display as <code>*</code>
 +
* <code>\_</code> will display as <code>_</code>
 +
* <s>This does not seem to work with backticks (<code>`</code>), however.</s> This appears to have been a bug which is now fixed.
 +
 +
It looks like escaping an emoji code (like this: "\:smile:") will use the native Unicode emoji instead of Discord's emoji image. The emoji won't appear until the line is sent.
 +
==Sections / Text Blocks==
 
* multiple lines of code can be started with three backticks at the beginning of a line:
 
* multiple lines of code can be started with three backticks at the beginning of a line:
 
  ```
 
  ```
Line 18: Line 30:
 
  php code...
 
  php code...
 
  ```
 
  ```
* <code>&gt; </code> (right-angle plus a space) will cause the following paragraph to be indented with a vertical bar
+
* Section headers can be displayed like this:
* spoiler text is <code>||two pipes||</code>: this causes the text to be obscured until clicked on (similar to {{spoiler|this}} but requiring a click rather than mouse-hover)
+
# header 1
 
+
## header 2
To display characters that would otherwise be treated as formatting, escape them with a backslash:
+
### header 3
* <code>\*</code> will display as <code>*</code>
+
Header 3 is smallest. In my tests, header 3 is just slightly larger than normal text and bolded; all 3 used used the same sans-serif font.
* <code>\_</code> will display as <code>_</code>
 
* <s>This does not seem to work with backticks (<code>`</code>), however.</s> This appears to have been a bug which is now fixed.
 
 
 
It looks like escaping an emoji code (like this: "\:smile:") will use the native Unicode emoji instead of Discord's emoji image. The emoji won't appear until the line is sent.
 
 
==Previews==
 
==Previews==
 
To display a link without Discord also inserting a preview, surround the URL with angle brackets: &lt;<nowiki>https://htyp.org</nowiki>&gt;. The angle brackets will not be displayed, and preview will be suppressed, but the URL will be presented as a link.
 
To display a link without Discord also inserting a preview, surround the URL with angle brackets: &lt;<nowiki>https://htyp.org</nowiki>&gt;. The angle brackets will not be displayed, and preview will be suppressed, but the URL will be presented as a link.

Revision as of 13:46, 18 July 2023

Discord text formatting/markup

Text formatting is similar to a subset of Markdown, although there are differences. Here's what works that we're currently aware of.

Inline

  • bold is **two asterisks**
  • italic is *one asterisk* or _one underscore_
    • They are rendered exactly the same (using <em>) but parsed differently: "a*b*c" becomes abc but a_b_c is left unformatted.
  • underline is __two underscores__
  • strike is ~~two tildes~~
  • code (fixed-pitch inline unformatted text) is `backticks`
    • You can use this format to paste URLs without them becoming links or displaying a preview.
    • There's a better way to just suppress previews, however: see #Previews.
    • There's also a markup for multiple lines of code, with optional syntax highlighting: see Sections below.
  • > (right-angle plus a space) will cause the following paragraph to be indented with a vertical bar
  • spoiler text is ||two pipes||: this causes the text to be obscured until clicked on (similar to this but requiring a click rather than mouse-hover)

To display characters that would otherwise be treated as formatting, escape them with a backslash:

  • \* will display as *
  • \_ will display as _
  • This does not seem to work with backticks (`), however. This appears to have been a bug which is now fixed.

It looks like escaping an emoji code (like this: "\:smile:") will use the native Unicode emoji instead of Discord's emoji image. The emoji won't appear until the line is sent.

Sections / Text Blocks

  • multiple lines of code can be started with three backticks at the beginning of a line:
```
code lines
code lines
```
  • the initial backticks can have a language designator afterwards, for syntax highlighting:
```php
php code...
```
  • Section headers can be displayed like this:
# header 1
## header 2
### header 3

Header 3 is smallest. In my tests, header 3 is just slightly larger than normal text and bolded; all 3 used used the same sans-serif font.

Previews

To display a link without Discord also inserting a preview, surround the URL with angle brackets: <https://htyp.org>. The angle brackets will not be displayed, and preview will be suppressed, but the URL will be presented as a link.

  • Discord's settings refer to the preview as an "embedded link". Previews of links pasted into a discussion can be turned off by revoking this privilege.
  • As of 2022-06-28, this seems to not work on iOS.

Live Time

  • <t:<UNIX time>:<format character>>
    • UNIX time is the time in seconds since... uh, midnight, I think?... on 1969-12-31
    • format character: t,T,d,D,f,F or R
      • t 5:35 PM
      • T 5:35:00 PM
      • d 07/25/2022
      • D July 25, 2022
      • f July 25, 2022 5:35 PM
      • F Monday, July 25, 2022 5:35 PM
      • R in 2 minutes
    • example: <t:1658784360:R> shows the relative time since about 17:17 EDST om 2022-07-25

Credit to Jems for discovering and reverse-engineering this from Discord Timestamp Generator.

Exploration Needed

  • >>>
    • escapes emoji (haven't had time to explore in order to describe it precisely)
    • block indent, but only when pasting (?)

Links