SSGのとあるプラグインにどうしようもないバグあることが判明
とあるSSGをつかっています。
SSG自体の挙動については初期段階で検証して、本格的な運用の是非を
きめるのです。
それにたいし、プラグインのばあい、「便利そう」っておもった瞬間に
導入するけど、検証の段階でバグがあると判明しても、SSG本体の運用履歴が
長すぎて、いまさら、異なるSSGに乗り移る気力がナイことに気づきました。
これってコンコルド効果ではないでしょうか?
やったこと
SSGで数式を表示したいのでKaTeXプラグインをインストールしました。
私が使っているSSG(honkit)の場合、数式化した部分を次のように変換したいのです。
$(ドルマーク)で囲って、いわゆるTeXで内容を書きます。
実際、github サイトは数学レンダリングもサポートしています。
かなり馴染みのあるものだと思います。
Excel の組み込み関数について触れたいと思います。 Excel関数とは何ですか?
ドルマークはコピペしてもセルを固定したいときに使います。
ドルをコードブロック内にドルとして残しておきたいのです。
KaTeXプラグインのバグだとおもいますが、ドルがどこにあっても、やみくもに
\{% math_inline %}
にかたっぱしから強制変換します。とてもこまった挙動です。
プラグインの作者はかなり前に開発を中止したようで応じてもらえないようです。
Usage
をみると、インライン演算の場合はドル2つで囲み、ブロック演算の場合はドル2ヶ+改行で囲むと記載されており、本家TeXやGitHubなどのシンタックスと異なるはず。KaTeX自身のバージョンの問題(あたらしすぎる)かドル1個でもやってほしくないところまでやられます。しかもbackslashによるエスケープが効きません。
しかもフェンスコードブロック(backtick x3)の中まで、ドルを変換してくるのでかなりお手上げです。
問題/エラーの具体例
たとえばマークダウンソース側で
=\$A\$2
バックスラッシュを追加することでescapeできると考えたので、そうしました。
私が使用しているSSGの場合、htmlに変換すると、
\{% math_inline %}A\{% endmath_inline %}2
となります。
- ドル2つじゃないから変換しないはずなのに、変換。
- エスケープしているのにそれを無視して変換。
自分で試してみたこと
いろいろやりましたが、すべてダメでした。いまつかっているSSGをことなるものにのりかえるという手があります。たとえばnext.jsにするとか・・もはやその気力がありません。
markdownの方言問題
たしかわたくしの理解がただしければ、ドルで数式モードに入るとか、backtick x3
でコードブロックに入るとかは標準シンタックスではなかったような気がします。それが原因なのかもしれません。
解決の方向に気力が向かない自分に向き合うためにここに書き残すこととした
コンコルド効果は、心理現象の一つで、あるSSGの運用を継続するとプラグイン起因の損失が出ると分かっていても、運用を継続してしまうひとの心理的傾向を指します。
具体的には、あるSSGへの継続的運用をつづけることがbuggyなレンダリング出力につながり、ちょっとやそっとで解決できないとわかっているにもかかわらず、
それまでの獲得スキルを惜しみ、他のに乗り移れない状態を指します。