How can I turn off auto language detection in highlight.js and render all blocks?

html, javascript, markdown, syntax-highlighting

Solution

Probably your `highlight.pack.js` does not include R language, you can download it here just tick the appropriate checkboxes. When HighlightJS sees unknown class for `code` tag it tries to guess automatically right language.

Problem

I use redcarpet2 markdown in my site hosted by Github pages. I switch the syntax highlighter from pygments to highlight.js. I specified the language for each code block by ```` ```r (some r code) ``` ```` So I don't need the auto language detection by highlight.js, actually if I don't specify the language it will always mis-recognize my R code to php or perl code. The problem is: the HTML tag for `<code>` is somehow mixed. Without rendering, the markdown correctly translate the code block with `<code class="r language-r" data-lang="r"></code>` which should be rendered as R code. But when I load highlight.js and run `<script>hljs.initHighlightingOnLoad();</script>`, the auto detect also works and makes the code tags mixed like `<code class="r language-r hljs php" data-lang="r"></code>` where `php` should be eliminated. How can I fix the problem?

Original source