class CKEditor5::Rails::Presets::Manager
def [](name)
-
(PresetBuilder, nil)
- Found preset or nil if not found
Parameters:
-
name
(Symbol
) -- Name of the preset
def [](name) @presets[name] end
def default
-
(PresetBuilder, nil)
- Default preset or nil if not defined
def default @presets[:default] end
def define(name, inherit: true, &block)
-
(PresetBuilder)
- Created preset instance
Other tags:
- Example: Define preset from scratch -
Example: Define custom preset inheriting from default -
Parameters:
-
inherit
(Boolean
) -- Whether to inherit from default preset -
name
(Symbol
) -- Name of the preset
def define(name, inherit: true, &block) preset = if inherit && default.present? default.clone else PresetBuilder.new end preset.instance_eval(&block) @presets[name] = preset end
def define_default_preset
- Example: Basic configuration -
def define_default_preset define :default do # Set default version from gem constant version CKEditor5::Rails::DEFAULT_CKEDITOR_VERSION # Enable automatic version upgrades for security patches automatic_upgrades # Use GPL license and classic editor type gpl type :classic menubar # Configure default toolbar items toolbar :undo, :redo, :|, :heading, :|, :bold, :italic, :underline, :|, :link, :insertImage, :mediaEmbed, :insertTable, :blockQuote, :|, :bulletedList, :numberedList, :todoList, :outdent, :indent # Configure default plugins plugins :AccessibilityHelp, :Autoformat, :AutoImage, :Autosave, :BlockQuote, :Bold, :CloudServices, :Essentials, :Heading, :ImageBlock, :ImageCaption, :ImageInline, :ImageInsert, :ImageInsertViaUrl, :ImageResize, :ImageStyle, :ImageTextAlternative, :ImageToolbar, :ImageUpload, :Indent, :IndentBlock, :Italic, :Link, :LinkImage, :List, :ListProperties, :MediaEmbed, :Paragraph, :PasteFromOffice, :PictureEditing, :SelectAll, :Table, :TableCaption, :TableCellProperties, :TableColumnResize, :TableProperties, :TableToolbar, :TextTransformation, :TodoList, :Underline, :Undo, :Base64UploadAdapter # Configure default image toolbar configure :image, { toolbar: ['imageTextAlternative', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side'] } end end
def initialize
def initialize @presets = {} define_default_preset end
def override(name, &block)
- Example: Override existing preset -
Parameters:
-
name
(Symbol
) -- Name of the preset to override
def override(name, &block) @presets[name].instance_eval(&block) end