@sam e todos os interessados em digitar matemática no Discourse. Eu atualizei o plugin discourse-math para que ele use o MathJax V3, em vez do V2, que é muito mais lento e muito desatualizado. Como esperado, o resultado é uma experiência de usuário muito mais ágil, mantendo o ambiente rico em recursos em comparação com o KaTeX.
Eu adoraria enviar uma solicitação de pull, se você achar que os resultados estão bons.
Você pode vê-lo em ação no site do fórum da minha turma:
A maior parte do conteúdo desse site é privada ou não listada. Deve haver vários tópicos no topo na categoria MathJax V3 que ilustram as ideias, no entanto.
Você pode examinar o código do plugin neste repositório autônomo do discourse-math: this standalone discourse-mathjax plugin repo. O arquivo que tem de longe a maior parte das modificações é o inicializador.
Você também pode usar esse repositório para instalá-lo em um site autônomo agora mesmo. Apenas certifique-se de remover o repositório antigo durante a instalação. Assim, você modificaria a técnica padrão de instalação de plugins para ficar assim:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- rm -r discourse-math
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/mcmcclur/discourse-math.git
Comentários
A versão mais recente do MathJax é na verdade 4.0.0. Eu optei por usar a V3.2.2 por vários motivos
- Embora a V4 seja certamente muito mais rápida que a V2, ela não é tão rápida quanto a V3.
- A experiência do usuário é um pouco diferente na V4, especialmente se o usuário clicar na saída.
- O status 4.0.0 me faz questionar quantos bugs podem existir.
Dito isto, a API para a V4 é idêntica à da V3. Deve ser possível atualizar mais tarde, simplesmente inserindo o repositório MathJax mais recente.
Eu tive que fazer uma pequena alteração no arquivo locales/server.en.yml. É claro que existem muito mais arquivos como esse para vários idiomas. Meu entendimento é que esses outros arquivos seriam traduzidos automaticamente mais tarde?
Eu realmente não uso o chat e não o testei nesse contexto.