OK, aquí está el código:
Sin embargo, ten cuidado, no trabajé directamente a partir de tu último commit. Empecé directamente desde el main de Discourse e hice cambios a partir de ahí. Por lo tanto, aprendí bastante de tu trabajo, pero la estructura general es diferente.
Creo que podrías resumir la principal diferencia de la siguiente manera: donde tú (naturalmente) usas características de Discourse heredadas de Ember para coordinar los tiempos asociados con cosas como la carga y el formateo, yo uso características de MathJax. Por lo tanto, mis paquetes load-mathjax y mathjax (uno para svg y otro para chtml) son mucho más simples que los tuyos. La carga se coordina a través del objeto window.MathJax en discourse-math-mathjax.
Todavía tengo el mismo problema que describí antes, a saber, que este cargador comentado no funciona; tengo que usar esta versión CDN en su lugar. Realmente no sé por qué.
Creo que tu código sufre del mismo problema. Por eso AsciiMath no parece funcionar.