Open akabekobeko opened 3 years ago
s/remark-prase/remark-parse/ ?
比較的、処理が小さくて VFM のように blockMethods
と blockTokenizers
を動的に拡張しているプラグインの移行例。
remark v13 の release notes で参考として挙げられた micromark/micromark-extension-footnote を利用するプラグイン。実装は大きいが前述の典型を満たし、かつ blockTokenizers
などから移行しているので特に参考としてよさそう。
以下の理由からいきなり VFM を変更するのではなく、remark 13 未満と以降のプラグイン開発を最小構成で開発して知見を得てから VFM に反映する。
とりあえず private でリポジトリーを作ったので、しばらくはそちらで開発してみる。
remark 13 未満のほうは VFM の ruby あたりを移植する予定。VFM からこの構文だけ抜き出して remark プラグイン化、その MDAST がテストを通ることを確認してから remark 13 以降のほうへ更に移植する。単一リポジトリーで remark 13 移行を経験するよりも別れているほうが比較しやすいだろう、というのがその理由。
調査用プロジェクトで現行の ruby 実装を remark-parse v9 以降で処理することに成功。以下、そのコミット。
実装は remark-breaks を参考にした。しかしコミット メッセージへ書いた課題を解決しないと VFM には反映できない。VFM v1.0 と並行して継続調査する。
44 対応のために remark-parse を v8.0.2 から v9.0.0 へ更新したら parser 変更により現状のプラグイン実装の互換が失われた。micromark 対応が必要となる。
動作しなくなったプラグインは作者への対応を呼びかけているようだ。対応済のプラグインについてコミット履歴を読めば VFM 修正の参考になるだろう。