Syntax highlighting seems to be not working inside a list

AI-generated summary

A user, dmitry_fedyuk, is experiencing issues with syntax highlighting inside a list on Discourse. They have tried using three backticks and four spaces for indentation but are unable to get it to work. codinghorror suggests that this might be a limitation of Markdown and recommends testing it on GitHub or the CommonMark tester.

However, dmitry_fedyuk finds that it works on GitHub but not on Discourse. dmitry_fedyuk also tests their code on the CommonMark tester and finds that while it renders correctly, it does not highlight the code.

codinghorror asks if it works on the CommonMark tester, and dmitry_fedyuk confirms that it does. codinghorror notes that within a year, Discourse will switch to a CommonMark parser, which should resolve the issue.

Another user, riking, shares an example where syntax highlighting works inside a list using four spaces for indentation, but notes that it may not be relevant to the original issue.

This is works (outside of a list, 3 back-ticks syntax):

var s = "JavaScript syntax highlighting";
alert(s);

This is not works (a code block inside a list, 3 back-ticks syntax):

  1. List item 1

    var s = "JavaScript syntax highlighting";
    alert(s);
    
  2. List item 2

  3. List item 3

This is works (a code block inside a list with 4 spaces syntax but without highlighting):

  1. List item 1

     var s = "JavaScript syntax highlighting";
     alert(s);
    
  2. List item 2

  3. List item 3

So, is it a bug or I have missed something?
How to do syntax highlighting inside a list?

Not sure that is possible, to get stuff in a list it must be indented. I suggest trying this on GitHub or the CommonMark tester.

Another difficulty is that this three backticks code block style is an addition to Markdown, although it is included in CommonMark, not all markdown flavors will support it.

This is definitely working on GitHub: http://stackoverflow.com/a/6236145/6309 · GitHub
But is not working on a Discourse page…

Does it work in the CommonMark tester?

  • My code from the first post works on CommonMark tester.
    It is correctly idented (but not highlighted because as I see CommonMark does not highlight code at all).
    So there is a clear difference: Discourse breaks my case №2 (3 back-ticks syntax) and CommonMark tester correctly renders it.

  • GitHub code from my post 3 does not work on CommonMark tester.

OK, that is good news, within a year or so we will switch to a CommonMark parser and it will work.

1개의 좋아요
  1. first item

    <html><body>Test <a b="c"> </body></html>
    
  • Second item

Works for me.

 1. first item

    ```
    <html><body>Test <a b="c"> </body></html>
    ```

 - Second item
1개의 좋아요