3

active_admin_editor gemのリボンのボタンをカスタマイズしようとしています。ドキュメントによると、テストするためだけに initializers/active_admin_editor.rb をセットアップしました。

ActiveAdmin::Editor.configure do |config|

  config.parser_rules['tags']['h1'] = {
    'remove' => 1
  }
  config.parser_rules['tags']['h2'] = {
    'remove' => 1
  }
  config.parser_rules['tags']['h3'] = {
    'remove' => 1
  }  
end

しかし、役に立たない。やった

rm -rf tmp/cache

ドキュメントで提案されているように、サーバーを数回再起動しましたが、それでも変更は効果がなく、h1、h2、h3 ボタンがまだ表示されています。何が問題なのですか?

4

1 に答える 1

2

こんにちは!

パーサーは、入力を読み取り、別の html ページからコンテンツをコピーして貼り付ける場合など、入力に既にスタイルが適用されているかどうかを定義するビットです。 .

私が持っていた別のアイデアは、最初にすべてのセレクターを非アクティブ化してから、それらを 1 つずつ再アクティブ化することです。ユーザーは書式設定されたテキストを単にコピーする傾向があるため、これは非常に良いことだと思います。これが私の解決策です:

ActiveAdmin::Editor.configure do |config|
  config.parser_rules['tags'] = {
    'remove' => 1
 }
  config.parser_rules['tags']['h3'] = {
    'remove' => 0
  }
  config.parser_rules['tags']['p'] = {
    'remove' => 0
  }
end

ただし、これは、おそらく css ハックを少し入れることで削除できるボタンには影響しません。

 .toolbar a[title="bold"]{
    display: none;
 }

次の 2 つのリソースが役立つ場合があります。

https://github.com/xing/wysihtml5/blob/master/parser_rules/advanced.js

https://github.com/ejholmes/active_admin_editor/blob/master/app/assets/javascripts/active_admin/editor/templates/toolbar.jst.ejs

これは、Stackoverflow に関する私の最初の回答の 1 つです。乾杯!

于 2013-12-03T18:11:27.657 に答える