Formulix Documentación← Volver al sitio
Formulix / 0.1.0

HTML y visualización

El contenido guardado debe seguir siendo legible fuera del editor y sin suscripción.

Formato persistente

ElementoHTML guardadoQué conservar
Fórmula<math data-latex="…">…</math>MathML para lectura y data-latex para reedición.
Operación / resolucióndiv.conta-armada, tablas, texto y MathMLdata-conta con JSON cuando exista, estilos inline y estructura.
Gráfica / dibujo<img> con PNGsrc, alt, dimensiones y data-grafico o data-quimica.
Fórmula química<math data-quimica="…">MathML, LaTeX y JSON de configuración.
CKEditor / Tiptapspan/div[data-formulix]Contenedores e hijos filtrados; Tiptap también admite JSON.

En TinyMCE, la representación durante la edición usa .eqx[data-mathml]; al guardar, el adaptador produce MathML portable. No confunda el elemento temporal con el formato persistente. LaTeX queda en data-latex porque el filtro de TinyMCE 8 elimina semantics/annotation.

<math xmlns="http://www.w3.org/1998/Math/MathML" data-latex="x^2">
  <msup><mi>x</mi><mn>2</mn></msup>
</math>

Mostrar el contenido al estudiante

Renderice el HTML guardado con el tratamiento seguro de su plataforma. Los navegadores modernos muestran MathML; las tablas y las imágenes no necesitan el Formulix para leerse. Los PNG deben seguir accesibles en el almacenamiento de la plataforma. Quitar metadatos puede conservar el aspecto e impedir la reedición.

Para navegadores antiguos, el proyecto recomienda MathJax 3. Aloje sus archivos o cargue este componente en la página de lectura según la guía oficial de MathJax 3. El ejemplo usa una CDN externa: evalúe CSP y privacidad al cargar recursos de terceros.

<script defer
  src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
</script>

Para contenido agregado dinámicamente, ejecute MathJax.typesetPromise([element]) cuando MathJax esté listo. No hace falta cargar el Formulix en la página del estudiante.

Filtrado HTML y accesibilidad

Conserve solo los elementos y atributos necesarios mediante reglas explícitas. No desactive el filtrado del HTML no confiable. Compruebe MathML, tablas, estilos y metadatos en el ciclo guardar/reabrir. Drupal alpha tiene una restricción específica de Full HTML.

Conserve los textos alternativos de imágenes. MathML ayuda a las tecnologías de apoyo, pero no sustituye las pruebas con el editor, navegador y lector de pantalla que usa la escuela.