問題: 私は Drupal をリッチ エディターで使用しています。リッチ エディターは、インデントと書式設定を取り除いて、テキストを壊そうとします。これはデスクトップ エディターでは受け入れられませんが、ブラウザー内の wyswigs では許容されているようです。
質問: どうすればこれをオフにできますか? 私はあちこち検索しましたが、インデントとテキストの書式設定を保持するようにリッチ エディターに指示するベスト プラクティスの方法をまだ発見していません。
問題: 私は Drupal をリッチ エディターで使用しています。リッチ エディターは、インデントと書式設定を取り除いて、テキストを壊そうとします。これはデスクトップ エディターでは受け入れられませんが、ブラウザー内の wyswigs では許容されているようです。
質問: どうすればこれをオフにできますか? 私はあちこち検索しましたが、インデントとテキストの書式設定を保持するようにリッチ エディターに指示するベスト プラクティスの方法をまだ発見していません。
この構成を tinymce init スクリプトに追加します。
tinymce.init({
protect: [/[\n\f\r\t\v]/g]
});
これはまさにあなたが探しているものではないかもしれませんが、drupal htmlpurifierモジュールは HTML を整理し、HTML 標準に準拠させることができます。インデントが削除される場合がありますが、非常に便利です。
別のより単純なモジュールは htmltidyですが、インデントを維持できるかどうかは不明です。
これが発生する理由は、リッチ エディターが実際には xhtml エディターであるためです。xhtml では、ほとんどのタグ (PRE タグを除く) は、デフォルトで複数の空白文字を 1 つのスペースにマージします。
tinyMCE でこれを克服するには、以下を含むスタイルシートを作成する必要があります。
* {white-space: pre;}
また、エディターを初期化するときに、スタイルシートをcontent_cssとして参照します。HTML の空白文字変更の性質により、フォーマットは保持されますが、WYSIWYG ではなくなることに注意してください。
もう 1 つのオプションは、コードを PRE 要素でラップすることですが、tinyMCE にはデフォルトでこれを行うためのボタンがありません (またはそう信じています)。
編集:
mikl が述べたように、tinyMCE にはフォーマット済みの設定オプションもあります。
TinyMCE プリファレンスには「事前にフォーマットされた」設定があります (この場合、WYSIWYG モジュール経由ですが、TinyMCE モジュールにもあります)。それはトリックを行う必要があります。
設定のスクリーンショット http://www.quicksnapper.com/files/3603/2949292644A2CF2A72BC21_m.png
私は一般的にTinyMCEについてこれと同じ答えを探していました.2015年5月の時点でも、TinyMCEの作成者は空白の削除を機能と見なしています. 構成オプションがタグpreformatted
のような空白を保持することがドキュメントに示されていても、無効にすることはできません。<pre>
私はまだそれを動かしたり、その他のことをしたりしていないし、ドキュメンテーションはもはやコードにない機能を記述しなければならないと信じている.
http://community.tinymce.com/forum/viewtopic.php?id=26021
スレッドは繰り返し、WYSIWYG のコードは完全な再フォーマットに適しており、サーバー側の再フォーマットが最適であると示唆しています。再フォーマットを最小限に抑えることが目標であることを忘れないでください。そのため、サーバー側のツールはドキュメント構造に対して同様に破壊的です。これは TinyMCE 開発者によると WONTFIX であるため、近い将来に変更されるとは思えません。