2026年6月3日水曜日

MediaWiki(3)

MediaWiki(2)からの続き

前回は,Fisica WikiにMathJaxの設定をしたところだった。新しく知ることになったRaTeXのインストール過程で,MathJax代替にはKaTeXというJavascriptライブラリを使うのがよいと教えられた。MathJaxより若干表現範囲は狭いが,高速で自己完結していて十分だとのことだ。

そこで,Fisica WikiにKaTeXを導入することにした。koshix.blogspot.com はとりあえずMathJaxのままにしておく。GeminiにKaTeXの設定方法を尋ねたところ,具体的には次のようなことだ。

/* KaTeXの読み込みと自動実行 */
(function() {
    // CSSの追加
    var link = document.createElement('link');
    link.rel = 'stylesheet';
    link.href = 'https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css';
    document.head.appendChild(link);

    // JSの追加
    var script = document.createElement('script');
    script.src = 'https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js';
    script.onload = function() {
        var autoRenderScript = document.createElement('script');
        autoRenderScript.src = 'https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js';
        autoRenderScript.onload = function() {
            renderMathInElement(document.body, {
                delimiters: [
                    {left: "$$", right: "$$", display: true},
                    {left: "$", right: "$", display: false}
                ]
            });
        };
        document.head.appendChild(autoRenderScript);
    };
    document.head.appendChild(script);
})();

(2) ただし,このままではセキュリティの問題でブロックされるので,さくらインターネットレンタルサーバーのコントロールパネルのセキュリティで,WAFを一端無効化してから作業して,有効化に戻すことに注意する。

(3) LocalSettings.php の確認(Extension:Math を使っている場合)
もし「Math拡張機能」自体を導入して MathJax モードに設定している場合は、そちらの設定も変更する必要がある。Extension:Mathを使っていたのでコメントアウトした。

数式は正しく表示され,<math>E=h\nu</math>のようなものは,レンダリングされなくなった。それはそれで,従来のソースと矛盾するので,再度復活させることにした。うーん,結局KaTeXは意味があったのかな?

0 件のコメント: