galetahub / ckeditor

Ckeditor 4.x integration gem for rails
https://ckeditor.com/ckeditor-4/
MIT License
2.23k stars 878 forks source link

Can't install additional plugins #913

Closed thanhtoan1196 closed 3 years ago

thanhtoan1196 commented 3 years ago

I followed the instructions here: https://github.com/galetahub/ckeditor#install-additional-plugins But got this error:

image

Uncaught Error: [CKEDITOR.resourceManager.load] Resource name "pastetools" was not found at "http://cdn.ckeditor.com/4.11.3/standard/plugins/pastetools/plugin.js?t=J1QB".
    at CKEDITOR.resourceManager.<anonymous> (ckeditor.js:264)
    at e (ckeditor.js:259)
    at Array.x (ckeditor.js:259)
    at w (ckeditor.js:259)
    at HTMLScriptElement.CKEDITOR.env.ie.e.$.onerror (ckeditor.js:260)
pkarjala commented 3 years ago

What version of ckeditor gem are you running?

Also, it appears this is an issue with the asset pipeline and not compiling plugins correctly. See https://github.com/galetahub/ckeditor/issues/450 for further discussion. I am currently working through this issue as well.

pkarjala commented 3 years ago

FYI, this mostly fixed the issue, but there are still some issues with other assets not loading: https://github.com/galetahub/ckeditor/issues/450#issuecomment-170866489

pkarjala commented 3 years ago

Can you paste the contents of your ckeditor.rb file?

thanhtoan1196 commented 3 years ago

Use this hook to configure ckeditor

Ckeditor.setup do |config|

==> ORM configuration

Load and configure the ORM. Supports :active_record (default), :mongo_mapper and

:mongoid (bson_ext recommended) by default. Other ORMs may be

available as additional gems.

require 'ckeditor/orm/active_record'

Allowed image file types for upload.

Set to nil or [] (empty array) for all file types

By default: %w(jpg jpeg png gif tiff)

config.image_file_types = %w(jpg jpeg png gif tiff)

Allowed flash file types for upload.

Set to nil or [] (empty array) for all file types

By default: %w(jpg jpeg png gif tiff)

config.flash_file_types = %w(swf)

Allowed attachment file types for upload.

Set to nil or [] (empty array) for all file types

By default: %w(doc docx xls odt ods pdf rar zip tar tar.gz swf)

config.attachment_file_types = %w(doc docx xls odt ods pdf rar zip tar tar.gz swf)

Setup authorization to be run as a before filter

By default: there is no authorization.

config.authorize_with :cancancan

Override parent controller CKEditor inherits from

By default: 'ApplicationController'

config.parent_controller = 'MyController'

Asset model classes

config.picture_model { Ckeditor::Picture }

config.attachment_file_model { Ckeditor::AttachmentFile }

Paginate assets

By default: 24

config.default_per_page = 24

Customize ckeditor assets path

By default: nil

config.asset_path = 'http://www.example.com/assets/ckeditor/'

CKEditor CDN

More info here http://cdn.ckeditor.com/

By default: nil (CDN disabled)

config.cdn_url = '//cdn.ckeditor.com/4.11.3/standard/ckeditor.js'

config.cdn_url = '//cdn.ckeditor.com/4.13.0/full/ckeditor.js'

JS config url

Used when CKEditor CDN enabled

By default: "ckeditor/config.js"

config.js_config_url = 'ckeditor/config.js'

end

- contents of your `config.js` file:
```js
/*
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/

CKEDITOR.editorConfig = function( config )
{
  // Define changes to default configuration here. For example:
  // config.language = 'fr';
  // config.uiColor = '#AADC6E';
  config.extraPlugins = 'pastetools';
  /* Filebrowser routes */
  // The location of an external file browser, that should be launched when "Browse Server" button is pressed.
  config.filebrowserBrowseUrl = "/ckeditor/attachment_files";

  // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Flash dialog.
  config.filebrowserFlashBrowseUrl = "/ckeditor/attachment_files";

  // The location of a script that handles file uploads in the Flash dialog.
  config.filebrowserFlashUploadUrl = "/ckeditor/attachment_files";

  // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Link tab of Image dialog.
  config.filebrowserImageBrowseLinkUrl = "/ckeditor/pictures";

  // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Image dialog.
  config.filebrowserImageBrowseUrl = "/ckeditor/pictures";

  // The location of a script that handles file uploads in the Image dialog.
  config.filebrowserImageUploadUrl = "/ckeditor/pictures?";

  // The location of a script that handles file uploads.
  config.filebrowserUploadUrl = "/ckeditor/attachment_files";

  config.contentsCss = "/assets/ckeditor/contents.css";

  config.allowedContent = true;
  config.filebrowserUploadMethod = 'form';

  // Toolbar groups configuration.
  config.toolbar = [
    { name: 'document', groups: [ 'mode', 'document', 'doctools' ], items: [ 'Source'] },
    { name: 'clipboard', groups: [ 'clipboard', 'undo' ], items: [ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ] },
    // { name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ], items: [ 'Find', 'Replace', '-', 'SelectAll', '-', 'Scayt' ] },
    // { name: 'forms', items: [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ] },
    { name: 'links', items: [ 'Link', 'Unlink', 'Anchor' ] },
    { name: 'insert', items: [ 'Image', 'Flash', 'Table', 'HorizontalRule', 'SpecialChar' ] },
    { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] },
    '/',
    { name: 'styles', items: [ 'Styles', 'Format', 'Font', 'FontSize' ] },
    { name: 'colors', items: [ 'TextColor', 'BGColor' ] },
    { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat' ] }
  ];

  config.toolbar_mini = [
    { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', 'CreateDiv', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] },
    { name: 'styles', items: [ 'Font', 'FontSize' ] },
    { name: 'colors', items: [ 'TextColor', 'BGColor' ] },
    { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat' ] },
    { name: 'insert', items: [ 'Image', 'Table', 'HorizontalRule', 'SpecialChar' ] }
  ];
};
pkarjala commented 3 years ago

Got it! Try the solution posted here for configuring plugins: https://github.com/galetahub/ckeditor/issues/868

thanhtoan1196 commented 3 years ago

Is this it?: https://github.com/galetahub/ckeditor/issues/868#issuecomment-631407473 But if I need to install non-official plugins?

pkarjala commented 3 years ago

That's the one. If you're installing local plugins, see the info in https://github.com/galetahub/ckeditor/issues/897#issuecomment-698184897

thanhtoan1196 commented 3 years ago

OK, thanks