Borrowing from @chaorace@lemmy.sdf.org’s post and @pH3ra@lemmy.ml’s post:
For anyone interested, here’s the Lemmy markdown configuration. As you can see, Lemmy’s website UI supports the full commonmark spec (tutorial / official spec), plus a bunch of extensions. I don’t think anyone’s fully documented these yet, so I’ll try doing so below. Apologies in advance to mobile users, this is probably gonna get ugly (see included image links for how it should look):
- URL autolinking (plaintext URLs automatically turn into links)
- Lemmy autolinking:
- NOTE: No link will be inserted if the viewer is browsing an instance where the resource is not yet known/blocked
- Communities:
!fediverse@lemmy.ml
→ !fediverse@lemmy.ml (link ref: /c/fediverse@lemmy.ml)- Kbin-style is also supported:
/m/fediverse .ml
→ /m/fediverse@lemmy.ml
- Kbin-style is also supported:
- Users:
/u/chaorace .sdf.org
→ /u/chaorace@lemmy.sdf.org (link ref: /u/chaorace@lemmy.sdf.org)
- Typography substitutions:
(c)
→ ©(tm)
→ ™(r)
→ ®+-→
→ ±→ …
→ —
--
→ –????
(>= 4x) → ???!!!!
(>= 4x) → !!!- horizontal rule (line between paragraphs)
→
-
**bold**
→ bold -
*italics*
OR_italics_
→ italics -
# Headings
→ # Headings (1 # for level1 heading, up to 5 #'s; must be at start of new line) [requires space between the#'s
and the text] -
[Link text](https://link.com/)
→ Link text -
Github-flavor Markdown extensions:
- Tables
- Strikethrough:
~~example~~
→example
-
Subscript/Superscript:
- Sub:
example~sub~
→ examplesub - Super:
example^super^
→ examplesuper
- Sub:
-
Footnotes:
- Inline part:
example[^notename or a number]
→ example[1] - Bottom part:
[^1]: My reference
(must be placed at VERY end of post to work.)
- Inline part:
-
Ruby Text:
{example base text|example ruby text}
→ example base text- “Ruby” is an html-ism for special pronunciation aids which frequently appear within young person’s media where the language includes non-phonetic characters (e.g.: Chinese characters)
- Japanese Furigana example: 凄い!→ 凄い!
-
Spoilers:
:::spoiler visible text
hidden part example
:::
visible text
hidden part example
- Code blocks:
`inline code
` → inline code
code block:
```
println(“Hello World!”)
println("Line 2")
```
becomes
println(“Hello World!”)
println("Line 2")
OR
4 spaces at beginning of each line to be included in the code block becomes
this is a code block
line 2
Code Block Syntax Highlighting!
When after using the three backticks to start a code block, specify the language.
Rust:
``` rust
// This is the main function
fn main() {
// Print text to the console
println!("Hello World!");
}
```
becomes:
// This is the main function
fn main() {
// Print text to the console
println!("Hello World!");
}
No language specified, defaults to “C” language:
// This is the main function
fn main() {
// Print text to the console
println!("Hello World!");
}
Text:
``` text
// This is the main function
fn main() {
// Print text to the console
println!("Hello World!");
}
```
becomes:
// This is the main function
fn main() {
// Print text to the console
println!("Hello World!");
}
Python:
``` python
// This is the main function
fn main() {
// Print text to the console
println!("Hello World!");
}
```
becomes:
// This is the main function
fn main() {
// Print text to the console
println!("Hello World!");
}
Finally:
If I want to write a character that will normally be interpreted as any of the above, I can escape the character with a backslash → \ …
So you can write something like \^this
→ ^this
To make this footnote, I used the formatting defined above, preceding this text with “
[^1]:
” ↩︎