Upgrade to Pro — share decks privately, control downloads, hide ads and more …

vfm-dev-stat

akabeko
April 10, 2021

 vfm-dev-stat

2021/4/10 時点の VFM 開発状況について解説します。

akabeko

April 10, 2021
Tweet

More Decks by akabeko

Other Decks in Technology

Transcript

  1. VFM 担当就任 Vivliostyle 開発者会議 2020/12 で VFM 担当になりました! 議事録 https://github.com/vivliostyle/community/blob/master/slack-

    logs/meeting-log/2020/2020-12-05.md ❝15:48 (JST) - akabeko: VFM 担当します 開発再開メモ https://github.com/vivliostyle/vfm/issues/42 VFM の開発状況 2
  2. remark 13 担当就任にあたり、 簡単そうな Issue へ対応してみようとしました。 テーブルでルビを指定するとパイプ⽂字がセルの区切りにパース される https://github.com/vivliostyle/vfm/issues/44 そして

    Issue コメントに最新の remark で修正されたとあったので npm を更新してみたところ... 最新の remark 13 で互換性に関する変更あり 複数の remark プラグインが未対応で動かない という問題があることを知りました。 VFM の開発状況 3
  3. remark 13 の互換に関わる変更 Markdown 処理エンジンを micromark へ刷新したとのこと。 Release 13.0.0 (micromark)

    https://github.com/remarkjs/remark/releases/tag/13.0.0 おなじみの tokenizer などは廃⽌されました。 remark 13 へ移⾏ するためには micromark プラグインを実装して、 その wrapper になる (推奨) remark の tokenizer などには頼らず独⾃処理 といった対応が必要となります。 VFM の開発状況 4
  4. VFM としてどうする? remark プロジェクトからプラグイン作者へ remark 13 移⾏が呼び かけられています。 remark/plugins.md https://github.com/remarkjs/remark/blob/main/doc/plugins.md

    いくつか移⾏済みプラグインのコードを読んでみました。 しかし micromark 対応が厳しいためか remark 公式以外は独⾃処理が ⼤半のようです。 では VFM としてどうするか?検討した結果... VFM は独⾃処理でゆく予定です! VFM の開発状況 5
  5. 独⾃って? 前提知識は以下の記事を参考にしてください。 Remark で広げる Markdown の世界 https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle- user-group-vol2/spring-raining/index.html remark も

    Unified エコシステムの⼀部です。 そのため remark の 機能を利⽤せずとも Markdown から MDAST に基づくデータを ⽣成できればよいのです。 remark 13 対応プラグインは今後も利⽤しますが VFM 部分は remark 依存を避けて Unified/MDAST へ準拠します。 VFM の開発状況 6
  6. 実験例 remark 13 前後で VFM の <ruby> 処理を実装してみた例。 akabekobeko/examples-remark-plugin-old https://github.com/akabekobeko/examples-remark-plugin-

    old akabekobeko/examples-remark-plugin-micromark https://github.com/akabekobeko/examples-remark-plugin- micromark 後者で micromark を試しましたが、 難物だったため独⾃処理 (素 の Unified プラグイン) としています。 VFM の開発状況 7
  7. v1.0 と v2.0 VFM は未だ alpha で v1.0 をリリースしていません。 そのため開発

    者会議で remark 13 対応も含めた⽅針を議論しました。 1. v1.0 で remark 13 も対応する 2. v1.0 は現⾏ remark にして 13 対応は v2.0 へ⾒送り 結果、 案 2 を採⽤することになりました。 v1.0 としては現⾏ remark の範囲、 かつ v2.0 に控えている remark 13 移⾏を妨げないものに限定して対応します。 VFM の開発状況 8
  8. Milestone 開発を担当するにあたり GitHub Issues に Milestone を設定しま した。 close されたものも含め、

    すべての Issue に v1.0.0 か v2.0.0 が設定されています。 v1.0.0 Milestone https://github.com/vivliostyle/vfm/milestone/2 v2.0.0 Milestone https://github.com/vivliostyle/vfm/milestone/1 詳細な現状はこれらを参考にしてください。 VFM の開発状況 9
  9. v1.0 リリース できれば 2021/4、 遅くても 2021/5 にはリリースしたいと考えてい ます。 そのためにも... 調査と開発にご協⼒ください

    VFM の GitHub Issues は⽇本語も OK です Working Draft https://vivliostyle.github.io/vfm/#/vfm につ いて意⾒をください v2.0 へ⾒送りとなる可能性もありますが、 寄せられた Issue には必 ず⽬を通して返信します。 みなさま、 どうかよろしくお願いします! ! ! VFM の開発状況 10
  10. おわりに 開発者会議で VFM 存続の是⾮について議論もありました。 しかし 私は以下の理由から VFM 開発に意義があると考えます。 現代的な⽂書作成ツールとして Markdown

    は重要 Vivliostyle として欲しい構⽂や機能を採⽤しやすい Vivliostyle 周辺ツール (npm 群) と親和性が⾼い 機能が⾜りなければ提案を。 開発の速度が遅いと感じたら⼿を上 げてください。 参加してみたいけどハードル⾼そう...という意⾒も⼤ 歓迎です。 ⼀緒に改善してゆきましょう! ! ! VFM の開発状況 11