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:
  • 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
  • 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.)
  • Ruby Text: {example base text|example ruby text}example base textexample ruby 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


  1. To make this footnote, I used the formatting defined above, preceding this text with “[^1]:↩︎

  • bigDottee@geekroom.techOPM
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    Thanks for this! I wasn’t aware of this and appears that it was added because another popular instance had it but went down and never came back, leaving a massive gap in functionality.

      • bigDottee@geekroom.techOPM
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        21 hours ago

        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