參考 / Formulix 0.1.0
HTML 與顯示
讓已儲存教材在編輯器外與訂閱結束後仍可閱讀。
持久儲存格式
| 內容 | 儲存的 HTML | 應保留資訊 |
|---|---|---|
| 公式 | <math data-latex="…"> | 閱讀用 MathML、重編輯用 data-latex |
| 直式與解題過程 | div.conta-armada、表格、文字及 MathML | 若有則保留 data-conta JSON、行內樣式及結構 |
| 函數圖形與繪圖 | PNG 的 <img> | src、alt、尺寸及 data-grafico 或 data-quimica |
| 化學式 | <math data-quimica="…"> | MathML、LaTeX 與設定 JSON |
| CKEditor / Tiptap | span/div[data-formulix] | 包裝層及已清理子元素;Tiptap 亦支援 JSON |
TinyMCE 編輯期間使用 .eqx[data-mathml],儲存時轉為可攜式 MathML;不要把暫時編輯元素當作儲存格式。由於 TinyMCE 8 清理器移除 semantics/annotation,LaTeX 放在 data-latex。
<math xmlns="http://www.w3.org/1998/Math/MathML" data-latex="x^2">
<msup><mi>x</mi><mn>2</mn></msup>
</math>學生端顯示
依平台安全流程呈現 HTML。支援 MathML 的瀏覽器可顯示公式,表格及圖片的閱讀不需 Formulix。PNG 須在平台儲存空間持續可存取。移除中繼資料可能保留外觀,卻使項目無法重編輯。
舊瀏覽器建議使用 MathJax 3,可自行託管或參考下方外部 CDN 範例。查看 MathJax 3 官方指南,評估第三方請求的 CSP 及隱私影響。
<script defer src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>動態加入的內容,須在 MathJax 就緒後呼叫 MathJax.typesetPromise([element])。學生頁面不需載入 Formulix。
清理與無障礙
僅以明確規則放行所需元素及屬性,不要關閉對不可信 HTML 的清理。檢查 MathML、表格、樣式及中繼資料的儲存/重開循環。另見 Drupal alpha 的 Full HTML 限制。保留圖片替代文字;MathML 不能取代學校實際編輯器、瀏覽器及螢幕閱讀器的無障礙測試。