QiitaのMarkdownパーサーの新たな互換性サポート導入のお知らせ

こんにちは、Qiita運営です。

「Markdown パーサーの互換性サポート」を新たに導入いたしましたので、お知らせいたします。

昨年10月、Markdown パーサーの互換性サポートを終了したことで、一部の記事で表示が崩れる問題が発生しました。

Qiitaでは、2022年2月に Markdown パーサーを変更して以降、2年以上にわたって旧仕様との互換性を維持していましたが、開発リソースの最適化のため、2024年10月に互換性サポートを終了する運びとなりました。

しかしながら、表示崩れの影響が想定以上に大きく、閲覧体験の悪化に関するご意見も継続的にいただいておりました。
ご不便をおかけしてしまい、大変申し訳ございません。

この状況を受け、可能な限り過去の記事の表示を保つための、新たな互換性サポートを導入することを決定いたしました。

互換性サポート終了までの経緯

2022年2月、Qiitaでは Markdown パーサーを、Redcarpet を拡張した Greenmat から CommonMarker を拡張した Qiita Marker へ変更しました。
変更後も、過去の記事表示が崩れないよう、一時的な互換性サポートを提供しておりました。

その後、開発リソースの最適化を目的として、2024年10月に互換性サポートを終了しました。

しかしながら、想定を上回る影響が発生したことから再検討を行い、今回の新たな互換性サポートの導入に至りました。

今回導入した互換性サポートの詳細について

今回の互換性サポートでは、特に影響が大きかった「見出し」の表示改善を優先して対応しました。
見出しが適切に認識されないことで記事の可読性が低下し、閲覧体験に大きな影響を与えていたため、まずはこの部分の互換性を確保しました。

互換性サポートの仕組み

  • Markdown パーサーは、現在の仕様(Qiita Marker)を使用
  • パースする前に、内部で Markdown テキストを変換し、現パーサーでも崩れにくくなるよう調整
    • 例: 見出しと思われるテキストを Qiita Marker でも正しく処理できる形式に変換(##見出し## 見出し

互換性サポートの対象となる記事

最終更新日:2022年2月23日以前 の記事が対象です。
※記事を更新すると、互換性サポートの適用対象外となります。

対象の記事を編集する際には、以下のような注意メッセージが表示されますので、更新前にプレビューをご確認いただくようお願いいたします。

今後の対応について

Markdown パーサーの変更により、新旧のパース結果には細かな違いがあり(詳細:QiitaのMarkdownパーサー変更にともなう注意点について)、すべての差異を自動的な変換で対応する事は難しいケースもあります。

また、記事内容を自動的に変換する仕組みの性質上、既存の記事表示に思わぬ影響を与える可能性もあるため、見出し以外の要素については慎重に確認しながら、段階的な対応を検討していく予定です。

引き続き改善を行うため、フィードバックをお待ちしております

表示が崩れたままの記事がある、互換性サポート導入後に読みにくくなった、などがございましたら、以下の Discussions にフィードバックをお寄せください。

引き続き、ご投稿いただいた内容が読みやすく、伝わりやすい形で残るよう、改善を進めてまいります。
今後ともQiitaをどうぞよろしくお願いいたします。