Movable Type の TinyMCE 内で MT タグを使いたい場合ありますよね。
以下の 2 点を追加・修正すれば使えるようになります。
1. MT タグを消さないように TinyMCE を拡張する
mt/mt-static/plugins/TinyMCE/lib/config.js を作成し、以下を記述します。
;(function($) {
jQuery.extend(MT.Editor.TinyMCE.config, {
verify_html: false,
setup: function(ed) {
ed.onBeforeSetContent.add(function(ed, o) {
var i = 0;
if (!window.tinyMCE._MTTags) {
window.tinyMCE._MTTags = [];
}
o.content = o.content.replace(/<mt:entries([^>]+)>([\s\S]*?)<\/mt:entries>/g, function(match) {
i++;
window.tinyMCE._MTTags[i] = match;
return '<div data-id="mt-tag-' + i + '" style="display:none;">\n※このタグはMTタグです。\n</div>';
});
});
ed.onPostProcess.add(function(ed, o) {
var i = 0;
o.content = o.content.replace(/<div([^>]+)data\-id="mt\-tag\-[0-9]{1,}"([^>]*)>([\s\S]*?)<\/div>/g, function(match) {
i++;
return window.tinyMCE._MTTags[i];
});
});
}
});
})(jQuery);
一先ず的な対応ですが、mt:entries 以外に使いたいタグがあれば、それを正規表現に追記すれば使えます。
mt:* 以外にも Facebook の fb:like や fb:comments、fb:like-box、Google+ の g:plusone などにも対応できます。
Read More