Use Pygments to format <pre> blocks
Right now, in wtpython.formatters we have PythonCodeConverter which assumes all <pre> blocks are python code. This is certainly a good assumption given our code, but it's likely we'll encounter non-python code in a stackoverflow post.
Pygments appears to be able to guess a language from a code block.
https://pygments.org/docs/quickstart/#guessing-lexers https://pygments.org/docs/api/#pygments.lexers.guess_lexer
Suggest replacing PythonCodeConverter with a PygmentsCodeConverter that will try to detect a language. If there's an issue, then python should be a fallback.
This shouldn't have to be guessed for every code block. The <pre> blocks should have classes like lang-java or lang-py which specify the language.
This shouldn't have to be guessed for every code block. The
<pre>blocks should have classes likelang-javaorlang-pywhich specify the language.
I haven't looked at the markdown myself or the product of MarkdownConverter but you are correct, we don't have to guess if the language is specified in the markdown already. But when the language is not specified by the author of the question/answer, then we could use Pygments to guess it. I doubt we'll see much ruby or c++ or anything like that, but html/css/js could be in the question or answer.