ckeditor5 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89a0fa3d794be4e336b4e34cc90c002a8541d9ea9ecfabf60dffa03a3f73a47b
4
- data.tar.gz: aa199b3c554e9edb37f2a024e5879d5d22acaa476737567475adfc9e55f40497
3
+ metadata.gz: b95ee184f10909e8acc238dcc5650a4bcbd828cb8cb32719cb98465223c7bc6c
4
+ data.tar.gz: 31364b050c64792a5561b4a9fd9de3dfe86a8a338f6a8f8075ca334c1558758d
5
5
  SHA512:
6
- metadata.gz: 300ea7854e40c3c3c0b408c326217c47071a26956bf51ac5b77dd91b74ca7eefc4676554750d7228b03ee3b9a5e71c25f439029caca8d5f9f02cd6465feb8962
7
- data.tar.gz: dd8e4262483b486714caaabd71801444fd9619c2d0e85dbeec2847fd86f0092e9f3bb994a5fa3da7e7d5a8740b2e1347d8c1e5a127b8eb32bd7ca408377eb4da
6
+ metadata.gz: 916eee6c8da16ad1b6d5ed9c7cd4358724e2a07d64b08b1ba77fdb03e2164a9633d3ce5403a6af70d938f0e1ef73e3a725549b83d93689b43c6225b0700456ea
7
+ data.tar.gz: c19f382d14e66e8fc8a0f0b49dfa18687cad2697de005700a39532bd6a19928b7f1093ec1aea4fc5d067e36b4edb20ce0476b67946b0700d77045af38d1545e8
data/README.md CHANGED
@@ -25,7 +25,7 @@ In your config:
25
25
  ```rb
26
26
  # config/initializers/ckeditor5.rb
27
27
 
28
- CKEditor5::Rails::Engine.configure do |config|
28
+ CKEditor5::Rails.configure do |config|
29
29
  config.presets.override :default do
30
30
  version '43.3.0'
31
31
  end
@@ -102,7 +102,7 @@ You can create your own by defining it in the `config/initializers/ckeditor5.rb`
102
102
  ```rb
103
103
  # config/initializers/ckeditor5.rb
104
104
 
105
- CKEditor5::Rails::Engine.configure do |config|
105
+ CKEditor5::Rails.configure do |config|
106
106
  config.presets.define :custom
107
107
  gpl
108
108
  type :classic
@@ -135,7 +135,7 @@ In order to override existing presets, you can use the `config.presets.override`
135
135
  ```rb
136
136
  # config/initializers/ckeditor5.rb
137
137
 
138
- CKEditor5::Rails::Engine.configure do |config|
138
+ CKEditor5::Rails.configure do |config|
139
139
  config.presets.override :default do
140
140
  menubar visible: false
141
141
 
@@ -490,7 +490,7 @@ If you want to use CKEditor 5 under the GPL license, you can include the assets
490
490
  <!-- app/views/demos/index.html.erb -->
491
491
 
492
492
  <% content_for :head do %>
493
- <%= ckeditor5_assets version: '43.3.0' %>
493
+ <%= ckeditor5_assets %>
494
494
  <% end %>
495
495
  ```
496
496
 
@@ -511,7 +511,7 @@ Set the version in the `config/initializers/ckeditor5.rb` file:
511
511
  ```rb
512
512
  # config/initializers/ckeditor5.rb
513
513
 
514
- CKEditor5::Rails::Engine.configure do
514
+ CKEditor5::Rails.configure do
515
515
  presets.override :default do
516
516
  version '43.3.0'
517
517
  end
@@ -524,7 +524,7 @@ In order to use `unpkg` CDN, you can pass the `cdn` keyword argument with the va
524
524
  <!-- app/views/demos/index.html.erb -->
525
525
 
526
526
  <% content_for :head do %>
527
- <%= ckeditor5_assets version: '43.3.0', cdn: :unpkg %>
527
+ <%= ckeditor5_assets cdn: :unpkg %>
528
528
  <% end %>
529
529
  ```
530
530
 
@@ -534,7 +534,7 @@ or using helper function:
534
534
  <!-- app/views/demos/index.html.erb -->
535
535
 
536
536
  <% content_for :head do %>
537
- <%= ckeditor5_jsdelivr_assets version: '43.3.0' %>
537
+ <%= ckeditor5_jsdelivr_assets %>
538
538
  <% end %>
539
539
  ```
540
540
 
@@ -544,7 +544,7 @@ Translating CKEditor 5 is possible by passing the `translations` keyword argumen
544
544
  <!-- app/views/demos/index.html.erb -->
545
545
 
546
546
  <% content_for :head do %>
547
- <%= ckeditor5_assets version: '43.3.0', translations: [:pl] %>
547
+ <%= ckeditor5_assets translations: [:pl] %>
548
548
  <% end %>
549
549
  ```
550
550
 
@@ -553,7 +553,7 @@ Keep in mind, that you need to include the translations in the `config/initializ
553
553
  ```rb
554
554
  # config/initializers/ckeditor5.rb
555
555
 
556
- CKEditor5::Rails::Engine.configure do
556
+ CKEditor5::Rails.configure do
557
557
  presets.override :default do
558
558
  language :pl
559
559
  end
@@ -1,48 +1,48 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rails/engine'
4
- require_relative 'presets'
4
+
5
+ require_relative 'toolbar_builder'
6
+ require_relative 'preset_builder'
7
+ require_relative 'presets_manager'
8
+
5
9
  require_relative 'hooks/form'
6
10
 
7
11
  module CKEditor5::Rails
8
12
  class Engine < ::Rails::Engine
9
13
  config.ckeditor5 = ActiveSupport::OrderedOptions.new
10
-
11
- # Specifies configuration of editors generated by gem.
12
14
  config.ckeditor5.presets = PresetsManager.new
13
15
 
14
16
  initializer 'helper' do
15
- ActiveSupport.on_load(:action_view) do
16
- include Helpers
17
- end
17
+ ActiveSupport.on_load(:action_view) { include Helpers }
18
18
  end
19
19
 
20
- initializer 'ckeditor5.simple_form' do
21
- next unless defined?(::SimpleForm)
22
-
20
+ initializer 'ckeditor5.simple_form', if: -> { defined?(::SimpleForm) } do
23
21
  require_relative 'hooks/simple_form'
24
-
25
22
  ::SimpleForm::FormBuilder.map_type :ckeditor5, to: Hooks::SimpleForm::CKEditor5Input
26
23
  end
27
24
 
28
25
  initializer 'ckeditor5.form_builder' do
29
26
  require_relative 'hooks/form'
30
-
31
- ActionView::Helpers::FormBuilder.include(
32
- Hooks::Form::FormBuilderExtension
33
- )
27
+ ActionView::Helpers::FormBuilder.include(Hooks::Form::FormBuilderExtension)
34
28
  end
35
29
 
36
- def self.base
37
- config.ckeditor5
38
- end
30
+ class << self
31
+ def base
32
+ config.ckeditor5
33
+ end
39
34
 
40
- def self.default_preset
41
- config.ckeditor5.presets.default
42
- end
35
+ def default_preset
36
+ config.ckeditor5.presets.default
37
+ end
43
38
 
44
- def self.configure
45
- yield config.ckeditor5
39
+ def configure
40
+ yield config.ckeditor5
41
+ end
46
42
  end
47
43
  end
44
+
45
+ def self.configure(&block)
46
+ Engine.configure(&block)
47
+ end
48
48
  end
@@ -1,64 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CKEditor5::Rails
4
- class PresetsManager
5
- attr_reader :presets
6
-
7
- def initialize
8
- @presets = {}
9
- define_default_preset
10
- end
11
-
12
- def define(name, &block)
13
- preset = PresetBuilder.new
14
- preset.instance_eval(&block)
15
- @presets[name] = preset
16
- end
17
-
18
- def override(name, &block)
19
- @presets[name].instance_eval(&block)
20
- end
21
-
22
- def default
23
- @presets[:default] || {}
24
- end
25
-
26
- def [](name)
27
- @presets[name] || {}
28
- end
29
-
30
- private
31
-
32
- def define_default_preset # rubocop:disable Metrics/MethodLength
33
- define :default do
34
- gpl
35
-
36
- type :classic
37
-
38
- menubar
39
-
40
- toolbar :undo, :redo, :|, :heading, :|, :bold, :italic, :underline, :|,
41
- :link, :insertImage, :mediaEmbed, :insertTable, :blockQuote, :|,
42
- :bulletedList, :numberedList, :todoList, :outdent, :indent
43
-
44
- plugins :AccessibilityHelp, :Autoformat, :AutoImage, :Autosave,
45
- :BlockQuote, :Bold, :CloudServices,
46
- :Essentials, :Heading, :ImageBlock, :ImageCaption, :ImageInline,
47
- :ImageInsert, :ImageInsertViaUrl, :ImageResize, :ImageStyle,
48
- :ImageTextAlternative, :ImageToolbar, :ImageUpload, :Indent,
49
- :IndentBlock, :Italic, :Link, :LinkImage, :List, :ListProperties,
50
- :MediaEmbed, :Paragraph, :PasteFromOffice, :PictureEditing,
51
- :SelectAll, :Table, :TableCaption, :TableCellProperties,
52
- :TableColumnResize, :TableProperties, :TableToolbar,
53
- :TextTransformation, :TodoList, :Underline, :Undo, :Base64UploadAdapter
54
-
55
- configure :image, {
56
- toolbar: ['imageTextAlternative', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side']
57
- }
58
- end
59
- end
60
- end
61
-
62
4
  class PresetBuilder
63
5
  attr_reader :config
64
6
 
@@ -132,7 +74,6 @@ module CKEditor5::Rails
132
74
 
133
75
  def type(type = nil)
134
76
  return @type if type.nil?
135
-
136
77
  raise ArgumentError, "Invalid editor type: #{type}" unless Editor::Props.valid_editor_type?(type)
137
78
 
138
79
  @type = type
@@ -181,40 +122,4 @@ module CKEditor5::Rails
181
122
  }
182
123
  end
183
124
  end
184
-
185
- class ToolbarBuilder
186
- def initialize(toolbar_config)
187
- @toolbar_config = toolbar_config
188
- end
189
-
190
- def items
191
- @toolbar_config[:items]
192
- end
193
-
194
- def remove(*removed_items)
195
- removed_items.each { |item| items.delete(item) }
196
- end
197
-
198
- def prepend(*prepended_items, before: nil)
199
- if before
200
- index = items.index(before)
201
- raise ArgumentError, "Item '#{before}' not found in toolbar" unless index
202
-
203
- items.insert(index, *prepended_items)
204
- else
205
- items.insert(0, *prepended_items)
206
- end
207
- end
208
-
209
- def append(*appended_items, after: nil)
210
- if after
211
- index = items.index(after)
212
- raise ArgumentError, "Item '#{after}' not found in toolbar" unless index
213
-
214
- items.insert(index + 1, *appended_items)
215
- else
216
- items.push(*appended_items)
217
- end
218
- end
219
- end
220
125
  end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CKEditor5::Rails
4
+ class PresetsManager
5
+ attr_reader :presets
6
+
7
+ def initialize
8
+ @presets = {}
9
+ define_default_preset
10
+ end
11
+
12
+ def define(name, &block)
13
+ preset = PresetBuilder.new
14
+ preset.instance_eval(&block)
15
+ @presets[name] = preset
16
+ end
17
+
18
+ def override(name, &block)
19
+ @presets[name].instance_eval(&block)
20
+ end
21
+
22
+ def default
23
+ @presets[:default] || {}
24
+ end
25
+
26
+ def [](name)
27
+ @presets[name] || {}
28
+ end
29
+
30
+ private
31
+
32
+ def define_default_preset # rubocop:disable Metrics/MethodLength
33
+ define :default do
34
+ gpl
35
+ type :classic
36
+ menubar
37
+
38
+ toolbar :undo, :redo, :|, :heading, :|, :bold, :italic, :underline, :|,
39
+ :link, :insertImage, :mediaEmbed, :insertTable, :blockQuote, :|,
40
+ :bulletedList, :numberedList, :todoList, :outdent, :indent
41
+
42
+ plugins :AccessibilityHelp, :Autoformat, :AutoImage, :Autosave,
43
+ :BlockQuote, :Bold, :CloudServices,
44
+ :Essentials, :Heading, :ImageBlock, :ImageCaption, :ImageInline,
45
+ :ImageInsert, :ImageInsertViaUrl, :ImageResize, :ImageStyle,
46
+ :ImageTextAlternative, :ImageToolbar, :ImageUpload, :Indent,
47
+ :IndentBlock, :Italic, :Link, :LinkImage, :List, :ListProperties,
48
+ :MediaEmbed, :Paragraph, :PasteFromOffice, :PictureEditing,
49
+ :SelectAll, :Table, :TableCaption, :TableCellProperties,
50
+ :TableColumnResize, :TableProperties, :TableToolbar,
51
+ :TextTransformation, :TodoList, :Underline, :Undo, :Base64UploadAdapter
52
+
53
+ configure :image, {
54
+ toolbar: ['imageTextAlternative', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side']
55
+ }
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CKEditor5::Rails
4
+ class ToolbarBuilder
5
+ def initialize(toolbar_config)
6
+ @toolbar_config = toolbar_config
7
+ end
8
+
9
+ def items
10
+ @toolbar_config[:items]
11
+ end
12
+
13
+ def remove(*removed_items)
14
+ removed_items.each { |item| items.delete(item) }
15
+ end
16
+
17
+ def prepend(*prepended_items, before: nil)
18
+ if before
19
+ index = items.index(before)
20
+ raise ArgumentError, "Item '#{before}' not found in toolbar" unless index
21
+
22
+ items.insert(index, *prepended_items)
23
+ else
24
+ items.insert(0, *prepended_items)
25
+ end
26
+ end
27
+
28
+ def append(*appended_items, after: nil)
29
+ if after
30
+ index = items.index(after)
31
+ raise ArgumentError, "Item '#{after}' not found in toolbar" unless index
32
+
33
+ items.insert(index + 1, *appended_items)
34
+ else
35
+ items.push(*appended_items)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CKEditor5::Rails
4
- VERSION = '1.1.4'
4
+ VERSION = '1.1.6'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ckeditor5
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mateusz Bagiński
@@ -59,8 +59,10 @@ files:
59
59
  - lib/ckeditor5/rails/helpers.rb
60
60
  - lib/ckeditor5/rails/hooks/form.rb
61
61
  - lib/ckeditor5/rails/hooks/simple_form.rb
62
- - lib/ckeditor5/rails/presets.rb
62
+ - lib/ckeditor5/rails/preset_builder.rb
63
+ - lib/ckeditor5/rails/presets_manager.rb
63
64
  - lib/ckeditor5/rails/semver.rb
65
+ - lib/ckeditor5/rails/toolbar_builder.rb
64
66
  - lib/ckeditor5/rails/version.rb
65
67
  homepage: https://github.com/Mati365/ckeditor5-rails
66
68
  licenses: