This post explains how to format Markdown with Lemmy and details it's nuances as best as possible.
Important Notes on Markdown with Lemmy
Lemmy parses Markdown using CommonMark, but with some additional features namely spoilers.
NOTE: Lemmy cares about the number of newlines between paragraphs. If you want to have a new paragraph, you need to have at least one newline between the two paragraphs. Or else, Lemmy will treat it as a single paragraph. You can see this in the example below.
Newline spacing example
Correct
Format
This is a paragraph. Imagine it's a bit longer.
This is another paragraph. Again, imagine it's a bit longer.
Result
This is a paragraph. Imagine it's a bit longer.
This is another paragraph. Again, imagine it's a bit longer.
Incorrect
Format
This is a paragraph. Imagine it's a bit longer.
This is another paragraph. Again, imagine it's a bit longer.
Result
This is a paragraph. Imagine it's a bit longer.
This is another paragraph. Again, imagine it's a bit longer.
Text Formatting
Paragraph Text
Format
Alternate
Result
_italic_
*italic*
italic
**bold**
__bold__
bold
**_bold italic_**
__*bold italic*__
bold italic
~~strikethrough~~
strikethrough
^superscript^
superscript
~subscript~
subscript
Headings
Headings are denoted by a # at the beginning of a line. The number of #s determines the heading level up to 6. The alternate format is to have the heading text on the line below and underline it with = for heading 1 and - for heading 2.
Blockquotes are simply a > at the beginning of a line.
Blockquote Format
> This is a blockquote.
> This is
>
> a multiline
>
> blockquote.
> This is
> not a multiline
> blockquote.
Blockquote Result
This is a blockquote.
This is
a multiline
blockquote.
This is
not a multiline
blockquote.
Lists
Lists can be ordered or unordered. Ordered lists are numbered, unordered lists are bulleted. You can nest lists by indenting them with 4 spaces or a tab, and you can mix ordered and unordered lists by indenting them differently.
Code blocks are denoted by 3 backticks (```) on the line before and after the code block. Currently no syntax highlighting is supported. You can also do inline code blocks by using a single backtick (`) on either side of the code.
Code block examples
Code Block Format
NOTE: Ignore the backslashes, they are only there to escape the backticks.
This is a paragraph with some `inline code` in it.
Inline Code Result
This is a paragraph with some inline code in it.
Links
Links are denoted by [link text](link url). You can also do reference links by doing [link text][link id] and then [link id]: link url somewhere else in the post, preferably at the bottom.
Link examples
Link Formats
[SFFA](https://sffa.community)
[SFFA][sffa-wiki]
... somewhere down at the bottom of the post ...
[sffa-wiki]: https://sffa.community
Images are denoted by ![alt text](image url). You can also do reference images by doing ![alt text][image id] and then [image id]: image url somewhere else in the post, preferably at the bottom of the post like with reference links.
Image examples
Image Formats
![Lemmy from Motörhead]https://upload.wikimedia.org/wikipedia/commons/8/84/Lemmy-02.jpg)
![Lemmy from Motörhead][lemmy]
... somewhere down at the bottom of the post ...
[lemmy]: https://upload.wikimedia.org/wikipedia/commons/8/84/Lemmy-02.jpg
Image Results
... somewhere down at the bottom of the post ...
Tables
Tables are denoted by |s and -s. The first row is the header row, and the second row is the alignment row. The alignment row is optional, and if it is not included, the table will default to left alignment. The alignment row can be left aligned with :---, right aligned with ---:, or center aligned with :---:. The alignment row can also be omitted entirely, in which case the table will default to left alignment.
Table examples
Table Format
| Header 1 | Header 2 | Header 3 |
| :--- | :---: | ---: |
| Left | Center | Right |
| Left | Center | Right |
Table Result
Header 1
Header 2
Header 3
Left
Center
Right
Left
Center
Right
Horizontal Rules
Horizontal rules are denoted by 3 or more -s on a line by themselves and require blank new lines above and below.
Horizontal rule example
Horizontal Rule Format
some text
---
some more text
Horizontal Rule Result
some text
some more text
Spoilers
Spoilers are denoted by ::: spoiler and ::: around a block of text or other markdown elements. You can give the spoiler a title by putting it after ::: spoiler like ::: spoiler Spoiler Title.
You CAN'T nest spoilers inside of each other.
Spoiler Format
NOTE: Ignore the backslashes, they are only there to escape the colons.
Some paragraph text.
\::: spoiler Spoiler Title
Some spoiler or _other_ markdown elements.
\:::
Other paragraph text.
Jerboa does not currently work with spoiler, horizontal lines, or table markdown. It just shows the formatting
This doesn't take away from your post, which is awesome, I just figured anyone wanting to use it would also want to be aware of the partial implementation in jerboa.