Astro 7のRustベースのSätteri markdownエンジンへの移行により、display-mathブロックが単なるコードに変換され、見出しのアンカーが削除され、カスタムmarkdownオプションが破棄されるという問題が発生しています。これは、アップグレード後にサイト上の数式が壊れてしまったユーザーにとって、非常に深刻な問題です。

LaTeXスタイルの数式、見出しへの自動リンク、または独自のmarkdownプラグインを使用している場合、アップグレードによってコンテンツが読めなくなったり、ナビゲーションが機能しなくなったりする可能性があるため、迅速な修正が不可欠です。

なぜアップグレードで問題が発生したのか

Astroは現在、コアのMarkdownプロセッサとしてSätteriを実行しています。Sätteriはプラグインが適用される順序を変更します。具体的には、設定されている可能性のあるHTML-AST (HAST) プラグインよりも先に、構文ハイライト(syntax highlighting)を実行します。この変更により、以下の3つの一般的なパターンが動作しなくなります。

  • Display math$$ … $$ で囲まれたブロックは、ハイライターが先に実行されるため、通常のコードとして扱われます。
  • Heading anchors – スラッグ(URLフレンドリーなID)を生成して見出しに自動リンクを貼るプラグインが、IDを認識できなくなるため、リンクが作成されません。
  • Custom options