コンテンツにスキップ

Migration と compatibility

MDI 2.0 syntax の規範は SYNTAX.md です。このページは実装との差分を明示します。

mdi-to-hast の stylesheet は SYNTAX.md と一致します。一方 mdi-corerender_html embedded stylesheet(CLI --to html と direct renderHtml() が出荷する CSS)には三つの差があります。

selectorSYNTAX.md / mdi-to-hastmdi-core影響
.mdi-ememphasis position、-webkit-rt suppressionこれらなしruby の reading に boten が重なる可能性
.mdi-warichu2行 wrap 用 inline-block CSSfont-size: .6em のみ2行近似がない
.mdi-blankmin-block-size: 1lhmin-height: 1emvertical writing で意図した space にならない

HTML element/class 構造は同一です。spec-parity が必要なら mdi-to-hast stylesheet を使ってください。

Deprecated代替理由
JS parseMdiSyntaxparse現在は direct alias
Rust parse_mdi_syntaxparse_document / parse_outputspan/front matter/通常 Markdown node のない旧 MdiSyntaxDocument

irVersion は見た目の文字列ではなく wire protocol version として扱い、未知の値を推測して読まないでください。@illusions-lab/mdiparse() 自身も、対応しない version なら Unsupported MDI IR version を throw します。JSON wire format を直接使う新しい integration でも同じ確認を行ってください。

すべての span は UTF-8 byte offset です。host language の文字 index としてそのまま扱わず、明示的に変換してください。JavaScript の変換例は Diagnostics を、Python の注意点は Python binding を参照してください。Swift を含むすべての binding で同じ注意が必要です。

@illusions-lab/mdi-remark は実際の Rust 出力を mdast に解析する adapter です。ただし編集済み mdast.mdi text に戻す際には、Rust の recommended-form normalization(たとえば 《《...》》 を `` にする処理)はまだ適用しません。詳しくは Remark / mdast adapter を参照してください。

ドキュメントのビルドについて

Section titled “ドキュメントのビルドについて”

このサイト内の Markdown/MDI 例は astro.config.mjs により @illusions-lab/mdi-remark で描画されます。専用の別 parser ではありません。サイトの例が CLI や JavaScript package と異なる結果になれば、それは意図した差ではなく報告すべきバグです。