¿Qué tan difícil sería agregar KaTeX?

Me pregunto qué tan difícil sería agregar KaTeX y si alguien está considerando esto. Parece que su código está madurando rápidamente.

En nuestro caso, tendría un beneficio adicional tener el mismo renderizado que Khan Academy en el foro sobre las traducciones de Khan Academy.

1 me gusta

He creado rápidamente un código que renderizará las ecuaciones en el servidor:

No hay manejo de errores y el tamaño de la fuente no coincide exactamente con la versión del lado del cliente, pero parece funcionar básicamente en mi entorno de desarrollo.

4 Me gusta

Me gusta mucho la idea, debería mejorar el rendimiento bastante en algunos casos y comenzar a desbloquear el soporte por correo electrónico. Aún necesitamos convertir SVG a PNG en algún momento para el correo electrónico.

Sin embargo, debemos mantenerlo opcional por razones de accesibilidad.

@danekhollas Apoyo una PR para agregar KaTeX opcional.

4 Me gusta

Dado que el desarrollo de plugins está actualmente muy por encima de mis capacidades, solo quería intentar agregar KaTeX mediante un tema personalizado, usando la extensión autorender de KaTeX. Funcionó hasta cierto punto, pero me encontré con un problema al admitir un solo signo $ como delimitador matemático.

Parece que, aunque desactivé el plugin de matemáticas de MathJax, el texto encerrado en se convierte en texto dentro de <span class="math"> y los signos de dólar desaparecen. Curiosamente, no puedo reproducir esto en META. ¿Alguna idea?

Al final de este problema en GitHub de KaTeX, alguien reportó un problema muy similar, que se rastreó hasta que Kramdown realiza esta conversión automática…

Sí, la funcionalidad de renderizado automático probablemente será extremadamente problemática en Discourse. Dependemos de ganchos adecuados que “decoran” fragmentos de HTML a medida que se agregan al DOM. Debemos hacer esto correctamente.

Tal vez @misaka4e21 pueda revisar cómo hacer que KaTeX sea opcional y esté desactivado por defecto en el plugin de matemáticas.

5 Me gusta
6 Me gusta

¡Vaya, fue muy rápido, muchas gracias!

Una cosa a considerar. KaTeX aún carece de ciertas características en comparación con MathJax. En Khan Academy, en realidad recurren a MathJax cuando KaTeX falla. Esto probablemente tendría sentido implementar una vez que el renderizado del lado del servidor esté en su lugar, porque de lo contrario siempre necesitarías enviar tanto KaTeX como MathJax, lo cual es probablemente indeseable.

3 Me gusta

¿Cómo se toma la decisión de cuándo recurrir a un mecanismo de respaldo? Tengo curiosidad, ¿esto también puede decidirse en el cliente?

No estoy involucrado directamente, pero mi suposición sería que simplemente usan MathJax cuando KaTex lanza un error.
Y estoy bastante seguro de que también lo hacen en el cliente.

Para más información, les sugiero que pregunten directamente en su github.

2 Me gusta