包括自定义ckeditor内容样式

时间:2013-12-20 15:06:24

标签: ruby-on-rails ckeditor

ckeditor内容区域和应用程序中的其他视图中是否有可能具有相同的css样式?例如,我在我的应用程序css中覆盖了一些表的类,但是当我在ckeditor中创建表时,它看起来与视图中的不同。   我发现我可以在contents.css文件中为内容设置样式,但是还有其他问题我在css.scss中制作了所有样式,对我来说最好的方法就是将它们导入ckeditor内容,但我不知道是否有有什么方法可以做到吗?

4 个答案:

答案 0 :(得分:0)

最简单的方法是将contents.css的文件类型更改为contents.css.scss。就集成而言,ckeditor gem还使事情变得更容易:https://github.com/galetahub/ckeditor

答案 1 :(得分:0)

您可以更改contents.css的路径并包含多个样式表。在config.js中指定config.contentsCss或在创建编辑器时直接指定:

CKEDITOR.replace( 'foo', { contentsCss: [ ... ] } );

您的样式表将被注入,编辑器的内容将与您的网站相匹配。阅读official guide about styles了解更多信息。

答案 2 :(得分:0)

将'ckeditor / contents.css'添加到config / initializers / assets.rb

session.php

然后,您可以通过JS和erb或这样的js.erb文件包括它们(可以像区域设置一样包含更多选项):

Rails.application.config.assets.precompile += %w( ckeditor/contents.css )

答案 3 :(得分:0)

使用https://github.com/galetahub/ckeditor宝石时,这对我有用

config/initializers/assets.rb

Rails.application.config.assets.precompile += %w( ckeditor/contents.css )

在视图中:

<%= form_for @course do |f| %>
  <%= f.cktext_area(:description, 
        ckeditor: { 
          language: 'de', 
          contentsCss: asset_path("ckeditor/contents.css"),
          height: '400px'
        }
      ) %>
<% end %>