Qiita / Zenn 互換性チェッカー
Qiita と Zenn で意味が変わる記法を検出し、公開してから壊れていると分かる箇所を先に示します。機械的に対応が決まるところは変換しますが、出力は下書きです。
記事の Markdown を貼り付けてください。frontmatter を含めて貼ると、タイトルやタグも診断します。
できること・できないこと
- 検出できるのは登録済みの記法差 74 件です。うち自動変換は 37 件、人の判断が要るものが 14 件、対応する書き方がないものが 23 件あります。
- Zenn は raw HTML を描画しません。Qiita 記事でよく使う details や img の幅指定、dl の定義リストは、Zenn ではエラーにならずタグの文字列が本文に出ます。
- エラーも警告も出ないまま壊れる差分が 21 件あります。この種類は公開後の表示でしか気づけないため、プレビューでの確認を前提にしてください。
- Qiita 側のレンダラは実行していません。Qiita 上での最終的な表示に関する判定は、公式ドキュメントと実装コードの読解に基づきます。
- 扱うのは本文と frontmatter のテキストだけです。画像ファイルの移動やアップロードは行いません。貼り付けた内容はブラウザの外に出ません。
Qiita と Zenn の記法差について
このツールがすることは診断です
貼り付けた記事から、Qiita と Zenn で意味が変わる箇所を探して一覧にします。記法差は全部で 74 件あり、そのうち 1 対 1 の対応があって機械的に変換できるのは 37 件です。残りは、どちらに寄せるかを人が決める必要があるもの 14 件と、移した先に対応する書き方がないもの 23 件です。自動変換はこの 37 件にだけ適用し、それ以外は指摘と選択肢の提示にとどめます。
Zenn は HTML を描画しません
Zenn のレンダラは markdown-it を既定設定で使っていて、raw HTML を通しません。そのため Qiita 記事でよく使う折りたたみの details、幅を指定した img、定義リストの dl は、Zenn ではエラーにならず、タグの文字列がそのまま読者に見えます。ビルドは通り警告も出ないので、公開して初めて気づくことになります。この種類の差分は 21 件あります。
note と message は 1 対 1 ではありません
Qiita の note ブロックは info / warn / alert の 3 階調ですが、Zenn の message は通常と alert の 2 階調しかありません。warn をそのまま :::message warn と書くとブロックにならず、その文字列が本文に表示されます。このツールは warn を通常と alert のどちらに寄せるかを選ぶ形で扱い、勝手に決めることはしません。
Zenn → Qiita のほうが構造的に安全です
Qiita は raw HTML を通すため、Zenn 固有の記法を HTML に置き換えて持ち込めます。落ちるのはアイキャッチ絵文字や公開日時のように Zenn 側だけにある frontmatter で、Qiita では使わない項目です。逆方向より事故は起きにくいものの、Qiita 上での表示は本ツールで実測していないため、確認は同じように必要です。
公開前に必ず表示を確認してください
Zenn の slug はサイト全体でユニークで、一度作ると変更できません。公開日時も同じく後から変えられません。誤った内容で公開すると取り消しがきかないため、出力は下書きとして扱い、プレビューで見てから公開してください。