nodebb-plugin-markdown icon indicating copy to clipboard operation
nodebb-plugin-markdown copied to clipboard

Spurious {1} inserted into autodetect code highlighting when numbering enabled.

Open T3P3 opened this issue 4 years ago • 1 comments

There is a bug where specific words in a code block set to use line numbering will cause some empty following lines to have spurious {1} text inserted in it. e.g.: image

this can be confirmed by inspecting the <code class> element it will be set to hljs sql for blocks with this issue and hljs perl or other wise for blocks of code without this issue.

This only happens if the code language is autodetected as SQL (hence why the specific words are needed to trigger the highlight.js autodetection for SQL). if the language type is set to SQL or any other type it does not happen:

image

If line numbering for SQL is turned off in the markdown plugin settings it does not happen: image (note no line numbering, no {1})

So we can work around this issue by just not having line numbering for SQL as we don't post SQL frequently/at all on our forum.

Versions:

NodeBB version: 1.18.5 (although we have had this issue from at least 1.16) Markdown plugin version: 8.14.4

T3P3 avatar Nov 04 '21 00:11 T3P3

Ah... this one's hard to debug because I just refactored the plugin a bit and it now uses the latest version of hljs and the line-numbering plugin.

So with that example text, for whatever reason it is now detected as vbnet, not sql, and I can't actually reproduce the {1} issue.

Can you try with the latest markdown plugin and let me know?

julianlam avatar Feb 02 '22 21:02 julianlam