OK, tenho ótimas notícias e notícias frustrantes.
Primeiro, você está absolutamente certo de que adicionar o funil coloca esses arquivos no lugar correto. Adicionei o funil ao meu branch e agora funciona muito bem sem a dependência de CDN. ![]()
Infelizmente, não consigo executar seu código no momento. Sempre que navego para uma página com matemática, a matemática não é formatada e vejo a seguinte mensagem de erro no console:
Uncaught (in promise) Error: State EXPLORER already exists
Tenho certeza de que seu código estava funcionando antes, então suponho que seja algo que eu fiz. Para ser claro, eu literalmente comecei um diretório totalmente novo usando as técnicas descritas em Install Discourse on macOS for development.
git clone https://github.com/discourse/discourse.git ./discourse
cd ./discourse
bundle install
pnpm install
bundle exec rake db:create
bundle exec rake db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate
# Em um terminal
bundle exec rails server
# Em outro terminal
bin/ember-cli
Então peguei seu código com
git checkout 71ad0305f812311f2a4570edf7c33f97de46c457
git switch -c mathjax-sam
Mesmo a partir dessa configuração nova, eu recebo o erro.
Neste ponto, estou bem satisfeito com minha versão do código, mas ainda curioso sobre o que está acontecendo com o seu. Preciso fazer uma pausa nisso para o feriado, no entanto. Ficarei feliz em dar outra olhada nisso em alguns dias.
Um ponto final, no entanto: até onde sei,
await import("tex-mml-chtml.js") // seguido por
await import("input/asciimath.js")
não deveria funcionar, que é efetivamente o que seu código está fazendo, eu acho.
Estou sendo impreciso com os caminhos aí, mas meu ponto é que não sei se chamadas dinâmicas consecutivas para import levam à estrutura correta do MathJax. Acho que carregar componentes do MathJax é bem complicado e é por isso que eles têm um processo de carregamento tão detalhado com o objeto MathJax e tudo mais.
Muito obrigado pela sua ajuda e paciência @sam!