Хорошо, вот код:
https://github.com/mcmcclur/discourse/tree/mathjax-mcmcclur
Однако будьте осторожны: я работал не напрямую с вашим последним коммитом. Я начал с основной ветки Discourse и вносил изменения оттуда. Таким образом, я многому научился на основе вашей работы, но общая структура отличается.
Я думаю, что основную разницу можно сформулировать так: там, где вы (естественным образом) используете функции Discourse, унаследованные от Ember, для координации таймингов, связанных с такими процессами, как загрузка и типографирование, я использую возможности MathJax. Поэтому мои пакеты load-mathjax и mathjax (один для SVG, другой для chtml) намного проще ваших. Загрузка координируется через объект window.MathJax в discourse-math-mathjax.
У меня всё ещё сохраняется та же проблема, которую я описывал ранее: именно этот закомментированный загрузчик не работает; вместо него мне приходится использовать версию из CDN. Я действительно не знаю почему.
Кажется, что ваш код страдает от той же проблемы. Вот почему AsciiMath, похоже, не работает.