Quanto sarebbe difficile aggiungere KaTeX?

Mi chiedo quanto sarebbe difficile integrare KaTeX e se qualcuno stia prendendo in considerazione questa possibilità. Sembra che il loro codice stia maturando rapidamente.

Nel nostro caso, ci sarebbe il vantaggio aggiuntivo di avere lo stesso rendering di Khan Academy sul forum dedicato alle traduzioni di Khan Academy.

1 Mi Piace

Ho messo insieme del codice che renderizza le equazioni sul server:

Non c’è gestione degli errori e la dimensione del carattere non corrisponde esattamente alla versione lato client, ma sembra funzionare sostanzialmente nel mio ambiente di sviluppo.

4 Mi Piace

Mi piace molto questa idea: in alcuni casi potrebbe migliorare notevolmente le prestazioni e iniziare a sbloccare il supporto via email! Dobbiamo comunque convertire gli SVG in PNG a un certo punto per le email.

Bisogna però mantenerlo opzionale per motivi di accessibilità.

@danekhollas Supporto una PR per aggiungere KaTeX opzionale.

4 Mi Piace

Poiché lo sviluppo di plugin è attualmente ben al di sopra delle mie capacità, ho solo voluto provare ad aggiungere KaTeX tramite un tema personalizzato, utilizzando l’estensione autorender di KaTeX. Ha funzionato in parte, ma ho riscontrato un problema con il supporto del singolo simbolo $ come delimitatore per le formule matematiche.

Sembra che, anche se ho disattivato il plugin MathJax per la matematica, il testo racchiuso tra venga convertito in testo all’interno di <span class="math"> e i simboli del dollaro scompaiano. Stranamente, non riesco a riprodurre questo problema su META. Avete qualche idea?

Alla fine di questa issue di GitHub su KaTeX, qualcuno ha segnalato un problema molto simile, che è stato rintracciato alla conversione automatica effettuata da Kramdown…

Sì, il rendering automatico sarà molto probabilmente estremamente instabile su Discourse. Dobbiamo affidarci a hook corretti che “decorano” porzioni di HTML mentre vengono aggiunte al DOM. Dobbiamo fare le cose nel modo giusto.

Forse @misaka4e21 può dare un’occhiata per rendere KaTeX opzionale e disattivato di default nel plugin per la matematica?

5 Mi Piace
6 Mi Piace

Wow, è stato velocissimo, grazie mille!

C’è una cosa da considerare. KaTeX manca ancora di alcune funzionalità rispetto a MathJax. Su Khan Academy, quando KaTeX fallisce, ricorrono effettivamente a MathJax. Sarebbe probabilmente sensato implementare questa soluzione una volta che il rendering lato server sarà attivo, altrimenti dovresti sempre distribuire sia KaTeX che MathJax, il che è probabilmente indesiderabile.

3 Mi Piace

Come si prende la decisione di ricorrere al fallback? Sono curioso: anche il client può decidere?

Non sono direttamente coinvolto, ma la mia ipotesi è che usino MathJax semplicemente quando KaTex genera un errore?
E sono abbastanza sicuro che lo facciano anche lato client.

Per ulteriori informazioni, ti suggerisco di chiedere direttamente a loro sul loro github.

2 Mi Piace