Movable Typeプラグイン「Extend TinyMCE」の今後を考える

2017年10月6日、「Movable Type 7」の新しい機能や今後のロードマップについて発表が行われるとともにDeveloper Previewが公開されました。そこで私が公開しているMovable Typeプラグイン「Extend TinyMCE」のMovable Type 7対応について検討しています。

MT7ではリッチテキストエディタがTinyMCE 4にアップグレードされており、Extend TinyMCEプラグインもTinyMCE 4に対応したコードに書き換える必要があります。既に試してみましたが、JavaScriptの変更のみで対応できることを確認しています。
MT7でExtend TinyMCEを動作させた例

しかしながら、MT7対応版のExtend TinyMCEプラグインをリリースするかどうかについては正直なところ迷っています。大きな理由は以下の2点です。

  • MT7において「記事」「ウェブページ」は後方互換のために残されている(コンテンツタイプにもリッチテキストエディタはありますがインラインモードになっています)
  • リッチテキストエディタを適切に使うのは難しい

前者で書いた後方互換ついてはシックスアパート高山さんの「詳説 Movable type 7」にて解説されています。

後者については昨年の記事「WYSIWYGエディタにまつわる悩み」でも書かせていただきました。Extend TinyMCEプラグインを利用し、例えばフォントサイズを自由に変えてしまったりテンプレートがうまく使えなかったりすることで、デザインガイドライン等に沿わないコンテンツの作成を助長してしまうのではないか、webサイトの品質が劣化してしまうのではないかとの思いを持ち続けています。

ブロックエディタへの期待

MT7では私が長年望んでいた「ブロックエディタ機能(プラグイン)」が搭載され、コンテンツタイプで利用可能になっています。JavaScriptをカスタマイズすることで自由に入力フィールド(ブロック)を定義することができます。次の画像はカスタマイズにより「段落」ブロックを追加しています。
MT7のブロックエディタの例

ゆくゆくは次の例(Craft CMSのMatrix Fields)のように「画像+テキスト」や「枠囲みテキスト」など、デザインガイドラインで定義されたUI部品(モジュール)が追加できれば...と考えています。
Craft CMSのMatrix Fieldsの例。自分で定義した入力フィールドを自由に追加して入力ができる。

このように開発者が適切にカスタマイズしたブロックエディタを使うことにより、デザインガイドラインで定義されたUI部品を誰でも容易に使えるのではないかと考えています。もちろんブロックエディタを利用する場合でもTinyMCE同様、見出し・リストなど文書の構造化についてはある程度学習は必要でしょう。しかし、フォントサイズや文字色を自由に変えることなどはできないため、webサイトの品質が劣化してしまう可能性を低くすることができるのではないかと思います。

また、画像を挿入するブロックには代替テキストフィールドを用意することで代替テキストの指定が今までよりもはるかに容易に行えるなど、webサイトの品質向上につなげることができるのではないかと感じています。

まとめ

ブロックエディタがパーフェクトだと思っていませんし、TinyMCEも適切に使うことで品質の良いコンテンツを作ることもできると思います。つまり相互に補完しながら使っていくことが良いのではないかと感じます。ただ、ブロックエディタの利点などを鑑みるとExtend TinyMCEプラグインについてはもう役目を終えても良いかなと考えています。