MT7に対応したExtend TinyMCE v1.1.0をリリース

公開
更新

本日、Movable Type 7に対応した「Extend TinyMCE v1.1.0」をリリースしました。

Extend TinyMCEプラグインついては以前懸念点を『Movable Typeプラグイン「Extend TinyMCE」の今後を考える』に書きましたし、2015年に勤務先が変わり業務でMovable Typeを触る事がほぼない現状があること(WordPressかPowerCMSを利用しています)からなかなかメンテナンスできない可能性があり、MT7に対応したExtend TinyMCEのリリースに積極的になれませんでした。しかしながら、MT7に対応したバージョンのご要望を頂いたこと、またある程度MT7対応コードを書いていたことから、本日のリリースに至りました。

MT7に搭載されたTinyMCEのバージョンが「4」になったことからボタンが少し変化していますが、基本的には従来からの内容をそのまま引き継いでいます。記事・ウェブページの編集画面で利用できます。
Extend TinyMCEをMT7に導入した画面

MT7向けの設定内容を変更する場合は、mt-static/plugins/ExtendTinyMCE/extension_mt7.jsを編集します。MT6以下の場合はこれまで同様extension.jsを編集します。

なお、表のボタンだけ追加できれば良いという方は、「Table Feature For TinyMCE」をおすすめいたします。

補足

フォントサイズボタンの除去

フォントサイズボタン追加のコードがJavaScriptに不慣れな方には複雑に見えるかもしれません。以下のようにするとフォントサイズボタンの除去ができます。

var buttons2 = config.plugin_mt_wysiwyg_buttons2.replace('|,mt_fullscreen', 'fontsizeselect,|,mt_fullscreen');
↓
var buttons2 = config.plugin_mt_wysiwyg_buttons2;

書式プルダウンメニューの定義

操作前は「段落」が見えている書式プルダウンメニューに、初期状態で見出し1〜見出し6まで含まれますが、以下のようにコメントアウトを外して編集すると、選択肢を「段落・見出し2・見出し3」だけにするといったことが可能です。

// 38行目のコメントアウトを外して編集する
var blockformats = '段落=p;見出し2=h2;見出し3=h3';

// 64行目の`blockformats〜`のコメントアウトを外す
$.extend(config, {
    plugins: config.plugins + add_plugins,
    plugin_mt_wysiwyg_buttons1: buttons1,
    plugin_mt_wysiwyg_buttons2: buttons2,
    // style_formats: styles,
    fontsize_formats: fontsize_formats,
    block_formats: blockformats,
    templates: tmpl_list,
    convert_urls: convert_urls,
    remove_script_host: remove_script_host,
    relative_urls: relative_urls,
    element_format: element_format,
    end_container_on_empty_block: true,    // End container block element when pressing enter inside an empty block
    schema: schema
});

2020年5月13日追記

本日、Movable Type 6.6.0とMovable Type 7 r.4607がリリースされました。(「[重要] Movable Type 6.6.0 / 6.3.12 / Movable Type 7 r.4607 / Movable Type Premium 1.30 の提供を開始(セキュリティアップデート) | Movable Type ニュース」)

このリリースでリッチテキストエディタで表組み機能が使えるようになり、ExtendTinyMCEをインストールしていると表・左寄せ・中央寄せ・右寄せボタンが重複して表示されます。extension.js / extension_mt7.jsを編集することで解消しますが、そろそろExtendTinyMCE自体不要なのかもしれません。

2020年8月21日追記

TinyMCE 5.xを搭載したMovable Type 6.7とMovable Type 7 r.4609に対応するため、取り急ぎ改修を施したExtendTinyMCE v1.2.0をリリースしました。

2020年12月26日追記

TinyMCE 5.xを搭載したMovable Type 6.7とMovable Type 7 r.4703で動作確認をしたExtendTinyMCE v1.3.0をリリースしました。v1.3.0はTinyMCE 4.xには対応しません。また、extension_mce5.jsが</head>の直前で読みこまれるように変更しました。(今までのやり方を使うとなぜか読み込み順が5に固定されていてFormattedTextForTinyMCEと相性が悪いとも言える状況でした…)

ちなみにご質問を頂くこともしばしばあるのですが、ほぼJavaScriptでTinyMCEをどう設定するかという問題ですので、TinyMCEのドキュメントを読むと解決するかもしれません。