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]:
” ↩︎
So I was trying to get the syntax highlighting correct and when googling I came across a GitHub issue where someone said an old Lenny instance had syntax highlighting but it was a custom theme or something and Lenny at the time didn’t support it.
Then about a year and half ago the Lenny devs added native support for syntax highlighting.
References:
https://lemmy.ml/post/305136
Well, I can’t seem to find the original GitHub request for Lenny but the requester referenced either heapoverflow.info or heapoverflow.ml