v6.0.0-cannary.16
Inkdrop Desktop v6.0.0-canary.16 が 4/22 にリリースされた。Mac 版を日常的に使っていて特に問題なくなったが、それなりに対応は必要だった。特にエディターが CodeMirror v5 から v6 にアップデートされたこともあり動かなくなる plugin や期待通りに表示されないテーマはいろいろありそう。例えば vim plugin を使っている場合は keymap.json ではなく init.js への移植が必要になるのが注意点になる。逆に、plugin やテーマに依存していない場合は何も気にせず移行できる。
対応した plugin
ほぼ自分のための自作 plugin を v6 に対応した。その他、自分が使っている plugin が幾つかあるけど特に問題なく動作している。
対応した自作 plugin 一覧
- sidetoc
- サイドバーにヘッダーを表示する
- narrow-note
- コマンドパレット的なウインドウでノートを選択
- narrow-book
- コマンドパレット的なウインドウでノートブックを選択
- turnoff-preview-cursorpos
- プレビューから編集モードに戻った際のカーソル位置をそれっぽい位置にする
- font-size
- 編集モードとプレビューモードのフォントサイズを同時に変更でき、既定のサイズに戻せる
- bearlike-switch-view
- サイドバー、ノートリスト、エディターの 3 ペーンの表示を切り替える
- link-compact
- リンク記法時の url を省略表示
- hitahint
- キーボード操作でリンクを開く
narrow シリーズは割といい感じで日常的に使っているけど、ネーミングにミスったと思う。hitahint は vim plugin との共存がめんどくさそうで無くて困るほどではないので諦めるかとと思ったけど、動いたのでリリースした。あるとやっぱり便利。
Plugin 作成に影響する変更点
v6 対応にあたっての参考とメモ。
- Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山
- CodeMirror v5 → v6
inkdrop.getActiveEditor()がCodeMirror#EditorViewを返すようになった。
- Plugin Migration Guide from v5 to v6
- ipm が新しくなった (npm 経由でインストール)。
- inkdrop.window.on() が使えなくなった
- inkdrop.localDB に取り方が変わった
- css セレクタの一部変更 (.mde-preview → .mde-preview-container)
- less 廃止 (css にリネーム)
設定周り
触っている人ほど書き換えが必要になるのは当たり前だけど、許容範囲。
- init.js
- vim のキーバインド設定追加
- keymap.json
- vim の設定を削除
- .mde-preview → .mde-preview-container
- styles.less
- 公式のデフォルトダークテーマに対して material-dark-mod-syntax テーマに寄せるように調整
感想
起動が早くなった。起動したと見せかけてエディタの読み込みかプラグインの読み込みで触れない時間帯が v5 ではあったけど、v6 では無くなっているのがとても良い。
plugin 周りのアップデートがそれなりに必要になる。必要ない plugin もあるが、常用している自作 plugin はほとんど修正対象だった。公式 plugin は対応済みで、それ以外だと TableEditor plugin は本体に取り込まれた状態。PlantUml は変更無しで動作した。
依存してる plugin によるけど、ほとんど入れていない人にはすんなり移行できそう。material-dark-mod-syntax のような人気のあるテーマを使ってる人は見え方が変わって気になる人はでそう。
細かいスタイル (css) の見直しは続くけど、v6 の正式リリース時にすぐに切り替えられる準備は整った。既に家環境では canary をメインにしている。