詳細な設定
もっときめ細かく設定したい人のために、TinyMCEには125種類を超える設定オプションが存在する。こうしたオプションについては、それらの依存関係や競合関係も含めて、少量ながらも的確なドキュメントがTinyMCEのWebページ上に用意されている。
スクリプトへの各オプションの追加は、「tinyMCE.init」で始まる行のすぐ下で1件1行の形で行う。また、1つのオプションが複数の値を持つ場合は、カンマで区切って値を並べる。例えば、ツールバー上のボタンをカスタマイズするために「theme_advanced_buttons1_add」オプションを追加する場合、スクリプト内の該当行は次のようになる。
theme_advanced_buttons1_add : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"
TinyMCEのWebページでは、設定オプションが次の11のカテゴリに分類されている。
- 全般:プラグインの利用、言語の設定、デバッグ情報の表示、FirefoxなどGeckoベースのブラウザ向けスペルチェッカの追加、キーボードショートカットのカスタマイズなどのオプション。
- コールバック:特に、フォームのコンテンツ保存時にTinyMCEの動作や他のプログラムとのやりとりに作用するもの。
- クリーンナップ:入力において有効な要素、.cssクラス、エンティティ、doctype、HTMLタグの設定。
- URL:TinyMCEにおけるアドレスの表示方法および格納方法の設定。
- レイアウト:TinyMCEがさまざまな状況で使用する.cssファイルの種類やTinyMCEツールバーの幅および高さの選択オプション。
- 視覚補助:罫線のない表のグリッド線に関するツールの設定。
- 元に戻す/やり直し:元に戻す/やり直しの操作の保存回数や、これらの操作に割り当てるキーボードショートカットに対するオプション。
- ファイルリスト:外部のリンクや画像の一覧をツールバーに追加するもの。
- タブ専用:TinyMCEでMicrosoft Internet Explorerのタブをどのように扱うかを設定するオプション。
- トリガ/パッチ:TinyMCEの動作を変更するために設定できるトリガ群。
- 詳細テーマ:補足ツールを追加するためのものなど、より多くの書式指定オプションを使って詳細テーマをカスタマイズするオプション。詳細テーマのカスタマイズに使える全ボタンの一覧は、TinyMCEのWebサイトで確認できる。
依存関係を持つ複数の設定オプションを追加する際は、デバッグのことを考えて一度に一つずつ追加するとよい。私の経験では、スペル、構文、または配置を1つ間違っただけでTinyMCE全体が正しく表示されなくなることが少なくない。場合によっては、既に別の設定でデフォルトになっているオプションを1つ追加してもTinyMCEが表示されなくなることもある。
試行錯誤による方法以外でオプションの適切な設定を学ぶ方法は、多くの場合、機能が満載されたサンプルのソースコードを絶えず参照することである。少し辛抱してこのサンプルとWebサイトのドキュメントを行き来しながら調べれば、設定に関する問題のほとんどは解決できるはずだ。
Webサイトには、サポートドキュメント集やユーザフォーラムも用意されている。また、Moxiecodeは有料のサポートも提供している。
その他の設定オプションと問題
TinyMCEの設定の詳細事項のいくつかは、JavaScriptオプション以外の範囲にも存在する。フォントのサイズや色など表示に関する項目は、使用するテーマの.cssファイルを変更するか、あるいは(こちらのほうが好ましいが)「content_css option」を使って自作ファイルを指定することで設定できる。
さらに重要なのは、PHPやRuby on Railsをはじめとする言語を利用してサイトを構築している場合は、TinyMCEプロジェクトWikiのドキュメントページにある詳細情報やサンプルを調べる必要があることだ。トラフィックの多いサイトでは、初期化時間の短縮をねらった別の言語によるTinyMCEの圧縮に関する情報が役立つかもしれない。
ニーズが単純でなくMoxiecodeによるサンプルの変更で対処できない場合は、TinyMCEの設定のカスタマイズにある程度時間がかかる可能性がある。プログラムが使いづらいわけではなく、単にオプションの数が多すぎて利用できるオプションやその選択結果の及ぼす影響がわかるまでに時間がかかるだけだ。一度こうした問題の整理がつけば、現在TinyMCEが至るところで使われている理由がわかるだろう。確かに、このプログラムには誰もが必要とするものが備わっている。
Bruce Byfieldは、NewsForge、Linux.com、IT Manager's Journalに定期的に寄稿しているコンピュータジャーナリスト。
