# CKEDITOR.config

class singleton

Stores default configuration settings. Changes to this object are reflected in all editor instances, if not specified otherwise for a particular instance.

## Config options

• ### allowedContent : allowedContentRules | BooleanCKEDITOR.config#allowedContent

since 4.1

Allowed content rules. This setting is used when instantiating CKEDITOR.editor.filter.

The following values are accepted:

In all cases filter configuration may be extended by extraAllowedContent. This option may be especially useful when you want to use the default allowedContent value along with some additional rules.

CKEDITOR.replace( 'textarea_id', {
allowedContent: 'p b i; a[!href]',
on: {
var editor = evt.editor;

editor.filter.check( 'h1' ); // -> false
editor.setData( '<h1><i>Foo</i></h1><p class="left"><span>Bar</span> <a href="http://foo.bar">foo</a></p>' );
// Editor contents will be:
'<p><i>Foo</i></p><p>Bar <a href="http://foo.bar">foo</a></p>'
}
}
} );


It is also possible to disallow some already allowed content. It is especially useful when you want to "trim down" the content allowed by default by editor features. To do that, use the disallowedContent option.

Read more in the documentation and see the example.

Defaults to null

• ### autoEmbed_widget : String | FunctionCKEDITOR.config#autoEmbed_widget

since 4.5

Specifies the widget to use to automatically embed a link. The default value of this option defines that either the Media Embed or Semantic Media Embed widgets will be used, depending on which is enabled.

The general behavior:

• If a string (widget names separated by commas) is provided, then the first of the listed widgets which is registered will be used. For example, if 'foo,bar,bom' is set and widgets 'bar' and 'bom' are registered, then 'bar' will be used.
• If a callback is specified, then it will be executed with the URL to be embedded and it should return the name of the widget to be used. It allows to use different embed widgets for different URLs.

Example:

// Defines that embedSemantic should be used (regardless of whether embed is defined).
config.autoEmbed_widget = 'embedSemantic';


Using with custom embed widgets:

config.autoEmbed_widget = 'customEmbed';


Note: Plugin names are always lower case, while widget names are not, so widget names do not have to equal plugin names. For example, there is the embedsemantic plugin and the embedSemantic widget.

Read more in the documentation and see the example.

Defaults to 'embed,embedSemantic'

• ### autoGrow_bottomSpace : NumberCKEDITOR.config#autoGrow_bottomSpace

since 3.6.2

Extra vertical space to be added between the content and the editor bottom bar when adjusting editor height to content by using the Auto Grow feature. This option accepts a value in pixels, without the unit (for example: 50).

Read more in the documentation and see the example.

config.autoGrow_bottomSpace = 50;


Defaults to 0

• ### autoGrow_maxHeight : NumberCKEDITOR.config#autoGrow_maxHeight

since 3.4

The maximum height that the editor can assume when adjusting to content by using the Auto Grow feature. This option accepts a value in pixels, without the unit (for example: 600). Zero (0) means that the maximum height is not limited and the editor will expand infinitely.

Read more in the documentation and see the example.

config.autoGrow_maxHeight = 400;


Defaults to 0

• ### autoGrow_minHeight : NumberCKEDITOR.config#autoGrow_minHeight

since 3.4

The minimum height that the editor can assume when adjusting to content by using the Auto Grow feature. This option accepts a value in pixels, without the unit (for example: 300).

Read more in the documentation and see the example.

config.autoGrow_minHeight = 300;


Defaults to 200

• ### autoGrow_onStartup : BooleanCKEDITOR.config#autoGrow_onStartup

since 3.6.2

Whether automatic editor height adjustment brought by the Auto Grow feature should happen on editor creation.

Read more in the documentation and see the example.

config.autoGrow_onStartup = true;


Defaults to false

• ### autoParagraph : BooleanCKEDITOR.config#autoParagraph

since 3.6 deprecated

Whether to automatically create wrapping blocks around inline content inside the document body. This helps to ensure the integrity of the block Enter mode.

Note: This option is deprecated. Changing the default value might introduce unpredictable usability issues and is highly unrecommended.

config.autoParagraph = false;


Defaults to true

• ### autoUpdateElement : BooleanCKEDITOR.config#autoUpdateElement

Whether the element replaced by the editor (usually a <textarea>) is to be updated automatically when posting the form containing the editor.

Defaults to true

• ### autocomplete_commitKeystrokes : Number | Number[]CKEDITOR.config#autocomplete_commitKeystrokes

since 4.10.0

The autocomplete keystrokes used to finish autocompletion with the selected view item. This setting will set completing keystrokes for each autocomplete plugin respectively.

To change completing keystrokes individually use the CKEDITOR.plugins.autocomplete.commitKeystrokes plugin property.

// Default configuration (9 = Tab, 13 = Enter).
config.autocomplete_commitKeystrokes = [ 9, 13 ];


Commit keystroke can also be disabled by setting it to an empty array.

// Disable autocomplete commit keystroke.
config.autocomplete_commitKeystrokes = [];


Defaults to [9, 13]

// Default configuration (13 = Enter, 32 = space).
config.autolink_commitKeystrokes = [ 9, 13 ];


Commit keystrokes can be also disabled by setting it to an empty array.

// Disable autolink commit keystrokes.


Defaults to [ 13, 32 ]

• Regex used by the Auto Link plugin to match email adresses.

Defaults to /^[a-zA-Z0-9.!#$%&'*+\/=?^_{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/

• Regex used by the Auto Link plugin to match URL adresses.

// ...
( 'textarea' ).val( 'New content' ); </script>  Defaults to true • ### justifyClasses : ArrayCKEDITOR.config#justifyClasses List of classes to use for aligning the contents. If it's null, no classes will be used and instead the corresponding CSS values will be used. The array should contain 4 members, in the following order: left, center, right, justify. // Use the classes 'AlignLeft', 'AlignCenter', 'AlignRight', 'AlignJustify' config.justifyClasses = [ 'AlignLeft', 'AlignCenter', 'AlignRight', 'AlignJustify' ];  Defaults to null • ### keystrokes : ArrayCKEDITOR.config#keystrokes A list associating keystrokes with editor commands. Each element in the list is an array where the first item is the keystroke, and the second is the name of the command to be executed. This setting should be used to define (as well as to overwrite or remove) keystrokes set by plugins (like link and basicstyles). If you want to set a keystroke for your plugin or during the runtime, use CKEDITOR.editor.setKeystroke instead. Since default keystrokes are set by the CKEDITOR.editor.setKeystroke method, by default config.keystrokes is an empty array. See CKEDITOR.editor.setKeystroke documentation for more details regarding the start up order. // Change default Ctrl+L keystroke for 'link' command to Ctrl+Shift+L. config.keystrokes = [ ... [ CKEDITOR.CTRL + CKEDITOR.SHIFT + 76, 'link' ], // Ctrl+Shift+L ... ];  To reset a particular keystroke, the following approach can be used: // Disable default Ctrl+L keystroke which executes the 'link' command by default. config.keystrokes = [ ... [ CKEDITOR.CTRL + 76, null ], // Ctrl+L ... ];  In order to reset all default keystrokes, a CKEDITOR.instanceReady callback should be used. This is since editor defaults are merged rather than overwritten by user keystrokes. Note: This can be potentially harmful for the editor. Avoid this unless you are aware of the consequences. // Reset all default keystrokes. config.on.instanceReady = function() { this.keystrokeHandler.keystrokes = []; };  Defaults to [] • ### language : StringCKEDITOR.config#language The user interface language localization to use. If left empty, the editor will automatically be localized to the user language. If the user language is not supported, the language specified in the defaultLanguage configuration setting is used. Read more in the documentation and see the example. // Load the German interface. config.language = 'de';  Defaults to '' • ### language_list : ArrayCKEDITOR.config#language_list Specifies the list of languages available in the Language plugin. Each entry should be a string in the following format: <languageCode>:<languageLabel>[:<textDirection>]  • languageCode: The language code used for the lang attribute in ISO 639 format. Language codes can be found here. You can use both 2-letter ISO-639-1 codes and 3-letter ISO-639-2 codes, though for consistency it is recommended to stick to ISO-639-1 2-letter codes. • languageLabel: The label to show for this language in the list. • textDirection: (optional) One of the following values: rtl or ltr, indicating the reading direction of the language. Defaults to ltr. See the example. config.language_list = [ 'he:Hebrew:rtl', 'pt:Portuguese', 'de:German' ];  Defaults to [ 'ar:Arabic:rtl', 'fr:French', 'es:Spanish' ] • ### linkJavaScriptLinksAllowed : BooleanCKEDITOR.config#linkJavaScriptLinksAllowed since 4.4.1 Whether JavaScript code is allowed as a href attribute in an anchor tag. With this option enabled it is possible to create links like: <a href="javascript:alert('Hello world!')">hello world</a>  By default JavaScript links are not allowed and will not pass the Link dialog window validation. Defaults to false • ### linkPhoneMsg : StringCKEDITOR.config#linkPhoneMsg since 4.11.0 Optional message for the alert popup used when the phone number in the Link dialog does not pass the validation. config.linkPhoneMsg = "Invalid number";  • ### linkPhoneRegExp : RegExpCKEDITOR.config#linkPhoneRegExp since 4.11.0 Optional JavaScript regular expression used whenever phone numbers in the Link dialog should be validated. config.linkPhoneRegExp = /^[0-9]{9}/;

• ### linkShowAdvancedTab : BooleanCKEDITOR.config#linkShowAdvancedTab

Defaults to true

• ### linkShowTargetTab : BooleanCKEDITOR.config#linkShowTargetTab

Whether to show the Target tab in the Link dialog window.

Defaults to true

• ### magicline_color : StringCKEDITOR.config#magicline_color

Defines the color of the magic line. The color may be adjusted to enhance readability.

Read more in the documentation and see the example.

// Changes magic line color to blue.
CKEDITOR.config.magicline_color = '#0000FF';


Defaults to '#FF0000'

Activates the special all-encompassing mode that considers all focus spaces between CKEDITOR.dtd.$block elements as accessible by the magic line. Read more in the documentation and see the example. // Enables the greedy "put everywhere" mode. CKEDITOR.config.magicline_everywhere = true;  Defaults to false • ### magicline_holdDistance : NumberCKEDITOR.config#magicline_holdDistance Defines the distance between the mouse pointer and the box within which the magic line stays revealed and no other focus space is offered to be accessed. This value is relative to magicline_triggerOffset. Read more in the documentation and see the example. // Increases the distance to 80% of CKEDITOR.config.magicline_triggerOffset. CKEDITOR.config.magicline_holdDistance = .8;CKEDITOR.config.magicline_triggerOffset  Defaults to 0.5 • ### magicline_keystrokeNext : NumberCKEDITOR.config#magicline_keystrokeNext Defines the default keystroke that accesses the closest unreachable focus space after the caret (start of the selection). If there is no focus space available, the selection remains unchanged. Read more in the documentation and see the example. // Changes keystroke to "Ctrl + .". CKEDITOR.config.magicline_keystrokeNext = CKEDITOR.CTRL + 190;  Defaults to CKEDITOR.CTRL + CKEDITOR.SHIFT + 52 (CTRL + SHIFT + 4) • ### magicline_keystrokePrevious : NumberCKEDITOR.config#magicline_keystrokePrevious Defines the default keystroke that accesses the closest unreachable focus space before the caret (start of the selection). If there is no focus space available, the selection remains unchanged. Read more in the documentation and see the example. // Changes the default keystroke to "Ctrl + ,". CKEDITOR.config.magicline_keystrokePrevious = CKEDITOR.CTRL + 188;  Defaults to CKEDITOR.CTRL + CKEDITOR.SHIFT + 51 (CTRL + SHIFT + 3) • ### magicline_tabuList : NumberCKEDITOR.config#magicline_tabuList Defines a list of attributes that, if assigned to some elements, prevent the magic line from being used within these elements. Read more in the documentation and see the example. // Adds the "data-tabu" attribute to the magic line tabu list. CKEDITOR.config.magicline_tabuList = [ 'data-tabu' ];  Defaults to [ 'data-widget-wrapper' ] • ### magicline_triggerOffset : NumberCKEDITOR.config#magicline_triggerOffset Sets the default vertical distance between the edge of the element and the mouse pointer that causes the magic line to appear. This option accepts a value in pixels, without the unit (for example: 15 for 15 pixels). Read more in the documentation and see the example. // Changes the offset to 15px. CKEDITOR.config.magicline_triggerOffset = 15;CKEDITOR.config.magicline_holdDistance  Defaults to 30 • ### mathJaxClass : StringCKEDITOR.config#mathJaxClass Sets the default class for span elements that will be converted into Mathematical Formulas widgets. If you set it to the following: config.mathJaxClass = 'my-math';  The code below will be recognized as a Mathematical Formulas widget. <span class="my-math">$$\sqrt{4} = 2$$</span>  Read more in the documentation and see the example. Defaults to 'math-tex' • ### mathJaxLib : StringCKEDITOR.config#mathJaxLib since 4.3 Sets the path to the MathJax library. It can be both a local resource and a location different than the default CDN. Please note that this must be a full or absolute path. Read more in the documentation and see the example. config.mathJaxLib = '//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML';  Note: Since CKEditor 4.5 this option does not have a default value, so it must be set in order to enable the MathJax plugin. • ### mentions : configDefinition[]CKEDITOR.config#mentions since 4.10.0 A list of mentions configuration objects. For each configuration object a new mentions plugin instance will be created and attached to the editor. config.mentions = [ { feed: [ 'Anna', 'Thomas', 'Jack' ], minChars: 0 }, { feed: backendApiFunction, marker: '#' }, { feed: '/users?query={encodedQuery}', marker: '$' }
];

• ### menu_groups : StringCKEDITOR.config#menu_groups

A comma separated list of items group names to be displayed in the context menu. The order of items will reflect the order specified in this list if no priority was defined in the groups.

config.menu_groups = 'clipboard,table,anchor,link,image';


Defaults to see source

• ### menu_subMenuDelay : NumberCKEDITOR.config#menu_subMenuDelay

The amount of time, in milliseconds, the editor waits before displaying submenu options when moving the mouse over options that contain submenus, like the "Cell Properties" entry for tables.

// Remove the submenu delay.


Defaults to 400

• ### newpage_html : StringCKEDITOR.config#newpage_html

The HTML to load in the editor when the "new page" command is executed.

config.newpage_html = '<p>Type your text here.</p>';


Defaults to ''

• ### notification_duration : NumberCKEDITOR.config#notification_duration

since 4.5

After how many milliseconds the notification of the info and success type should close automatically. 0 means that notifications will not close automatically. Note that warning and progress notifications will never close automatically.

Defaults to 5000

• ### on : ObjectCKEDITOR.config#on

Sets listeners on editor events.

Note: This property can only be set in the config object passed directly to CKEDITOR.replace, CKEDITOR.inline, and other creators.

CKEDITOR.replace( 'editor1', {
on: {
},

key: function() {
// ...
}
}
} );

• ### pasteFilter : StringCKEDITOR.config#pasteFilter

since 4.5

Defines a filter which is applied to external data pasted or dropped into the editor. Possible values are:

• 'plain-text' – Content will be pasted as a plain text.
• 'semantic-content' – Known tags (except div, span) with all attributes (except style and class) will be kept.
• 'h1 h2 p div' – Custom rules compatible with CKEDITOR.filter.
• null – Content will not be filtered by the paste filter (but it still may be filtered by Advanced Content Filter). This value can be used to disable the paste filter in Chrome and Safari, where this option defaults to 'semantic-content'.

Example:

config.pasteFilter = 'plain-text';


Custom setting:

config.pasteFilter = 'h1 h2 p ul ol li; img[!src, alt]; a[!href]';


Based on this configuration option, a proper CKEDITOR.filter instance will be defined and assigned to the editor as a CKEDITOR.editor.pasteFilter. You can tweak the paste filter settings on the fly on this object as well as delete or replace it.

var editor = CKEDITOR.replace( 'editor', {
pasteFilter: 'semantic-content'
} );

// The result of this will be that all semantic content will be preserved
// except tables.
editor.pasteFilter.disallow( 'table' );
} );


Note that the paste filter is applied only to external data. There are three data sources:

• copied and pasted in the same editor (internal),
• copied from one editor and pasted into another (cross-editor),
• coming from all other sources like websites, MS Word, etc. (external).

If Advanced Content Filter is not disabled, then it will also be applied to pasted and dropped data. The paste filter job is to "normalize" external data which often needs to be handled differently than content produced by the editor.

This setting defaults to 'semantic-content' in Chrome, Opera and Safari (all Blink and Webkit based browsers) due to messy HTML which these browsers keep in the clipboard. In other browsers it defaults to null.

Defaults to 'semantic-content' in Chrome and Safari and null in other browsers

• ### pasteFromWordCleanupFile : StringCKEDITOR.config#pasteFromWordCleanupFile

since 3.1

The file that provides the Microsoft Word cleanup function for pasting operations.

Note: This is a global configuration shared by all editor instances present on the page.

// Load from the 'pastefromword' plugin 'filter' sub folder (custom.js file) using a path relative to the CKEditor installation folder.
CKEDITOR.config.pasteFromWordCleanupFile = 'plugins/pastefromword/filter/custom.js';

// Load from the 'pastefromword' plugin 'filter' sub folder (custom.js file) using a full path (including the CKEditor installation folder).
CKEDITOR.config.pasteFromWordCleanupFile = '/ckeditor/plugins/pastefromword/filter/custom.js';

// Load custom.js file from the 'customFilters' folder (located in server's root) using the full URL.
CKEDITOR.config.pasteFromWordCleanupFile = 'http://my.example.com/customFilters/custom.js';


Defaults to <plugin path> + 'filter/default.js'

• ### pasteFromWordNumberedHeadingToList : BooleanCKEDITOR.config#pasteFromWordNumberedHeadingToList

since 3.1

Whether to transform Microsoft Word outline numbered headings into lists.

config.pasteFromWordNumberedHeadingToList = true;


Defaults to false

• ### pasteFromWordPromptCleanup : BooleanCKEDITOR.config#pasteFromWordPromptCleanup

since 3.1

Whether to prompt the user about the clean up of content being pasted from Microsoft Word.

config.pasteFromWordPromptCleanup = true;


Defaults to false

• ### pasteFromWordRemoveFontStyles : BooleanCKEDITOR.config#pasteFromWordRemoveFontStyles

since 3.1 deprecated 4.6.0

Whether to ignore all font-related formatting styles, including:

• font size;
• font family;
• font foreground and background color.

config.pasteFromWordRemoveFontStyles = true;

Important note: Prior to version 4.6.0 this configuration option defaulted to true.

Defaults to false

• ### pasteFromWordRemoveStyles : BooleanCKEDITOR.config#pasteFromWordRemoveStyles

since 3.1

Whether to remove element styles that cannot be managed with the editor. Note that this option does not handle font-specific styles, which depend on the pasteFromWordRemoveFontStyles setting instead.

config.pasteFromWordRemoveStyles = false;


Defaults to true

• ### pasteFromWord_heuristicsEdgeList : BooleanCKEDITOR.config#pasteFromWord_heuristicsEdgeList

since 4.6.2

Activates a heuristic that helps detect lists pasted into the editor in Microsoft Edge.

The reason why this heuristic is needed is that on pasting Microsoft Edge removes any Word-specific metadata allowing to identify lists.

// Disables list heuristics for Edge.
config.pasteFromWord_heuristicsEdgeList = false;


Defaults to true

• ### pasteFromWord_inlineImages : BooleanCKEDITOR.config#pasteFromWord_inlineImages

since 4.8.0

Flag decides whether embedding images pasted with Word content is enabled or not.

Note: Please be aware that embedding images requires Clipboard API support, available only in modern browsers, that is indicated by CKEDITOR.plugins.clipboard.isCustomDataTypesSupported flag.

// Disable embedding images pasted from Word.
config.pasteFromWord_inlineImages = false;


Defaults to true

• ### plugins : String | String[]CKEDITOR.config#plugins

Comma-separated list of plugins to be used in an editor instance. Note that the actual plugins that are to be loaded could still be affected by two other settings: extraPlugins and removePlugins.

Defaults to "<default list of plugins>"

• ### protectedSource : ArrayCKEDITOR.config#protectedSource

A list of regular expressions to be executed on input HTML, indicating HTML source code that when matched, must not be available in the WYSIWYG mode for editing.

config.protectedSource.push( /<\?[\s\S]*?\?>/g );                                           // PHP code
config.protectedSource.push( /<%[\s\S]*?%>/g );                                             // ASP code
config.protectedSource.push( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi );  // ASP.NET code


Defaults to []

• ### readOnly : BooleanCKEDITOR.config#readOnly

since 3.6

If true, makes the editor start in read-only state. Otherwise, it will check if the linked <textarea> element has the disabled attribute.

Read more in the documentation and see the example.

config.readOnly = true;CKEDITOR.editor.setReadOnly


Defaults to false

• ### removeButtons : StringCKEDITOR.config#removeButtons

List of toolbar button names that must not be rendered. This will also work for non-button toolbar items, like the Font drop-down list.

config.removeButtons = 'Underline,JustifyCenter';


This configuration option should not be overused. The recommended way is to use the removePlugins setting to remove features from the editor or even better, create a custom editor build with just the features that you will use. In some cases though, a single plugin may define a set of toolbar buttons and removeButtons may be useful when just a few of them are to be removed.

• ### removeDialogTabs : StringCKEDITOR.config#removeDialogTabs

since 3.5

The dialog contents to removed. It's a string composed by dialog name and tab name with a colon between them.

Separate each pair with semicolon (see example).

Note: All names are case-sensitive.

Note: Be cautious when specifying dialog tabs that are mandatory, like 'info', dialog functionality might be broken because of this!

config.removeDialogTabs = 'flash:advanced;image:Link';


Defaults to ''

• ### removeFormatAttributes : StringCKEDITOR.config#removeFormatAttributes

A comma separated list of elements attributes to be removed when executing the remove format command.

Defaults to 'class,style,lang,width,height,align,hspace,valign'

• ### removeFormatTags : StringCKEDITOR.config#removeFormatTags

A comma separated list of elements to be removed when executing the remove format command. Note that only inline elements are allowed.

Defaults to 'b,big,cite,code,del,dfn,em,font,i,ins,kbd,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var'

• ### removePlugins : String | String[]CKEDITOR.config#removePlugins

A list of plugins that must not be loaded. This setting makes it possible to avoid loading some plugins defined in the plugins setting without having to touch it.

Note: A plugin required by another plugin cannot be removed and will cause an error to be thrown. So for example if contextmenu is required by tabletools, it can only be removed if tabletools is not loaded.

config.removePlugins = 'elementspath,save,font';


Defaults to ''

• ### resize_dir : StringCKEDITOR.config#resize_dir

since 3.3

The dimensions for which the editor resizing is enabled. Possible values are both, vertical, and horizontal.

Read more in the documentation and see the example.

config.resize_dir = 'both';


Defaults to 'vertical'

• ### resize_enabled : BooleanCKEDITOR.config#resize_enabled

Whether to enable the resizing feature. If this feature is disabled, the resize handle will not be visible.

Read more in the documentation and see the example.

config.resize_enabled = false;


Defaults to true

• ### resize_maxHeight : NumberCKEDITOR.config#resize_maxHeight

The maximum editor height, in pixels, when resizing the editor interface by using the resize handle.

Read more in the documentation and see the example.

config.resize_maxHeight = 600;


Defaults to 3000

• ### resize_maxWidth : NumberCKEDITOR.config#resize_maxWidth

The maximum editor width, in pixels, when resizing the editor interface by using the resize handle.

Read more in the documentation and see the example.

config.resize_maxWidth = 750;


Defaults to 3000

• ### resize_minHeight : NumberCKEDITOR.config#resize_minHeight

The minimum editor height, in pixels, when resizing the editor interface by using the resize handle. Note: It falls back to editor's actual height if it is smaller than the default value.

Read more in the documentation and see the example.

config.resize_minHeight = 600;


Defaults to 250

• ### resize_minWidth : NumberCKEDITOR.config#resize_minWidth

The minimum editor width, in pixels, when resizing the editor interface by using the resize handle. Note: It falls back to editor's actual width if it is smaller than the default value.

Read more in the documentation and see the example.

config.resize_minWidth = 500;


Defaults to 750

• ### scayt_autoStartup : BooleanCKEDITOR.config#scayt_autoStartup

Automatically enables SCAYT on editor startup. When set to true, this option turns on SCAYT automatically after loading the editor.

Read more in the documentation and see the SDK sample.

config.scayt_autoStartup = true;


Defaults to false

• ### scayt_cacheSize : NumberCKEDITOR.config#scayt_cacheSize

The parameter sets the max cache size that will be used for storing the most popular correct and misspelled words with their suggestions. It is aimed at speeding up the proofreading process. Note: It is recommended to change this value wisely as it might lead to exceeding the browser local storage.

Read more in the documentation and see the SDK sample.

// set cache size.
config.scayt_cacheSize = 2000;


Defaults to 4000

• ### scayt_contextCommands : StringCKEDITOR.config#scayt_contextCommands

Customizes the display of SCAYT context menu commands ("Add Word", "Ignore", "Ignore All", "Options", "Languages", "Dictionaries" and "About"). This must be a string with one or more of the following words separated by a pipe character ('|'):

• off – Disables all options.
• all – Enables all options.
• ignore – Enables the "Ignore" option.
• ignoreall – Enables the "Ignore All" option.
• add – Enables the "Add Word" option.
• option – Enables the "Options" menu item.
• language – Enables the "Languages" menu item.
• dictionary – Enables the "Dictionaries" menu item.
• about – Enables the "About" menu item.

Please note that availability of the "Options", "Languages" and "Dictionaries" items also depends on the scayt_uiTabs option.

Read more in the documentation and see the SDK sample.

Example:

// Show "Add Word", "Ignore" and "Ignore All" in the context menu.


Defaults to 'ignoreall|add'

• ### scayt_contextMenuItemsOrder : StringCKEDITOR.config#scayt_contextMenuItemsOrder

Defines the order of SCAYT context menu items by groups. This must be a string with one or more of the following words separated by a pipe character ('|'):

• suggest – The main suggestion word list.
• moresuggest – The "More suggestions" word list.
• control – SCAYT commands, such as "Ignore" and "Add Word".

Read more in the documentation and see the SDK sample.

Example:

config.scayt_contextMenuItemsOrder = 'moresuggest|control|suggest';


Defaults to 'suggest|moresuggest|control'

• ### scayt_customDictionaryIds : StringCKEDITOR.config#scayt_customDictionaryIds

Links SCAYT to custom dictionaries. This is a string containing the dictionary IDs separated by commas (','). Available only for the licensed version.

Refer to SCAYT documentation for more details.

Read more in the documentation and see the SDK sample.

config.scayt_customDictionaryIds = '3021,3456,3478';


Defaults to ''

• ### scayt_customPunctuation : StringCKEDITOR.config#scayt_customPunctuation

The parameter that receives a string with characters that will considered as separators.

Read more in the documentation and see the SDK sample.

// additional separator.
config.scayt_customPunctuation  = '-';


Defaults to ''

• ### scayt_customerId : StringCKEDITOR.config#scayt_customerId

Sets the customer ID for SCAYT. Used for hosted users only. Required for migration from free to trial or paid versions.

Read more in the documentation and see the SDK sample.

// Load SCAYT using my customer ID.
config.scayt_customerId  = 'your-encrypted-customer-id';


Defaults to '1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2'

• ### scayt_disableCache : BooleanCKEDITOR.config#scayt_disableCache

The parameter disables cache for storing the most popular correct and misspelled words with their suggestions. It is aimed at speeding up the proofreading process.

Read more in the documentation and see the SDK sample.

// disable cache.
config.scayt_disableCache = true;


Defaults to false

• ### scayt_disableOptionsStorage : ArrayCKEDITOR.config#scayt_disableOptionsStorage

Disables storing of SCAYT options between sessions. Option storing will be turned off after a page refresh. The following settings can be used:

• 'options' – Disables storing of all SCAYT Ignore options.
• 'ignore-all-caps-words' – Disables storing of the "Ignore All-Caps Words" option.
• 'ignore-domain-names' – Disables storing of the "Ignore Domain Names" option.
• 'ignore-words-with-mixed-cases' – Disables storing of the "Ignore Words with Mixed Case" option.
• 'ignore-words-with-numbers' – Disables storing of the "Ignore Words with Numbers" option.
• 'lang' – Disables storing of the SCAYT spell check language.
• 'all' – Disables storing of all SCAYT options.

Read more in the documentation and see the SDK sample.

Example:

// Disabling one option.
config.scayt_disableOptionsStorage = 'all';

// Disabling several options.
config.scayt_disableOptionsStorage = ['lang', 'ignore-domain-names', 'ignore-words-with-numbers'];


Defaults to ''

• ### scayt_elementsToIgnore : StringCKEDITOR.config#scayt_elementsToIgnore

Specifies the names of tags that will be skipped while spell checking. This is a string containing tag names separated by commas (','). Please note that the 'style' tag would be added to specified tags list.

Read more in the documentation and see the SDK sample.

config.scayt_elementsToIgnore = 'del,pre';


Defaults to 'style'

• ### scayt_handleCheckDirty : StringCKEDITOR.config#scayt_handleCheckDirty

If set to true, it overrides the checkDirty functionality of CKEditor to fix SCAYT issues with incorrect checkDirty behavior. If set to false, it provides better performance on big preloaded text.

Read more in the documentation and see the SDK sample.

config.scayt_handleCheckDirty = 'false';


Defaults to 'true'

• ### scayt_handleUndoRedo : StringCKEDITOR.config#scayt_handleUndoRedo

Configures undo/redo behavior of SCAYT in CKEditor. If set to true, it overrides the undo/redo functionality of CKEditor to fix SCAYT issues with incorrect undo/redo behavior. If set to false, it provides better performance on text undo/redo.

Read more in the documentation and see the SDK sample.

config.scayt_handleUndoRedo = 'false';


Defaults to 'true'

• ### scayt_ignoreAllCapsWords : BooleanCKEDITOR.config#scayt_ignoreAllCapsWords

since 4.5.6

Enables the "Ignore All-Caps Words" option by default. You may need to disable option storing for this setting to be effective because option storage has a higher priority.

Read more in the documentation and see the SDK sample.

config.scayt_ignoreAllCapsWords = true;


Defaults to false

• ### scayt_ignoreDomainNames : BooleanCKEDITOR.config#scayt_ignoreDomainNames

since 4.5.6

Enables the "Ignore Domain Names" option by default. You may need to disable option storing for this setting to be effective because option storage has a higher priority.

Read more in the documentation and see the SDK sample.

config.scayt_ignoreDomainNames = true;


Defaults to false

• ### scayt_ignoreWordsWithMixedCases : BooleanCKEDITOR.config#scayt_ignoreWordsWithMixedCases

since 4.5.6

Enables the "Ignore Words with Mixed Case" option by default. You may need to disable option storing for this setting to be effective because option storage has a higher priority.

Read more in the documentation and see the SDK sample.

config.scayt_ignoreWordsWithMixedCases = true;


Defaults to false

• ### scayt_ignoreWordsWithNumbers : BooleanCKEDITOR.config#scayt_ignoreWordsWithNumbers

since 4.5.6

Enables the "Ignore Words with Numbers" option by default. You may need to disable option storing for this setting to be effective because option storage has a higher priority.

Read more in the documentation and see the SDK sample.

config.scayt_ignoreWordsWithNumbers = true;


Defaults to false

• ### scayt_inlineModeImmediateMarkup : BooleanCKEDITOR.config#scayt_inlineModeImmediateMarkup

since 4.5.6

Enables SCAYT initialization when inline CKEditor is not focused. When set to true, SCAYT markup is displayed in both inline editor states, focused and unfocused, so the SCAYT instance is not destroyed.

Read more in the documentation and see the SDK sample.

 config.scayt_inlineModeImmediateMarkup = true;


Defaults to false

• ### scayt_maxSuggestions : NumberCKEDITOR.config#scayt_maxSuggestions

Defines the number of SCAYT suggestions to show in the main context menu. Possible values are:

• 0 (zero) – No suggestions are shown in the main context menu. All entries will be listed in the "More Suggestions" sub-menu.
• Positive number – The maximum number of suggestions to show in the context menu. Other entries will be shown in the "More Suggestions" sub-menu.
• Negative number – Five suggestions are shown in the main context menu. All other entries will be listed in the "More Suggestions" sub-menu.

Read more in the documentation and see the SDK sample.

Examples:

// Display only three suggestions in the main context menu.
config.scayt_maxSuggestions = 3;

// Do not show the suggestions directly.
config.scayt_maxSuggestions = 0;


Defaults to 3

• ### scayt_minWordLength : NumberCKEDITOR.config#scayt_minWordLength

Defines the minimum length of words that will be collected from the editor content for spell checking. Possible value is any positive number.

Read more in the documentation and see the SDK sample.

Examples:

// Set the minimum length of words that will be collected from editor text.
config.scayt_minWordLength = 5;


Defaults to 3

• ### scayt_moreSuggestions : StringCKEDITOR.config#scayt_moreSuggestions

Enables and disables the "More Suggestions" sub-menu in the context menu. Possible values are 'on' and 'off'.

Read more in the documentation and see the SDK sample.

// Disables the "More Suggestions" sub-menu.
config.scayt_moreSuggestions = 'off';


Defaults to 'on'

• ### scayt_multiLanguageMode : BooleanCKEDITOR.config#scayt_multiLanguageMode

Enables multi-language support in SCAYT. If set to true, turns on SCAYT multi-language support after loading the editor.

Read more in the documentation and see the SDK sample.

config.scayt_multiLanguageMode = true;


Defaults to false

• ### scayt_multiLanguageStyles : ObjectCKEDITOR.config#scayt_multiLanguageStyles

Defines additional styles for misspellings for specified languages. Styles will be applied only if the scayt_multiLanguageMode option is set to true and the Language plugin is included and loaded in the editor. By default, all misspellings will still be underlined with the red waveline.

Read more in the documentation and see the SDK sample.

Example:

// Display misspellings in French language with green color and underlined with red waveline.
config.scayt_multiLanguageStyles = {
'fr': 'color: green'
};

// Display misspellings in Italian language with green color and underlined with red waveline
// and German misspellings with red color only.
config.scayt_multiLanguageStyles = {
'it': 'color: green',
'de': 'background-image: none; color: red'
};


Defaults to {}

• ### scayt_sLang : StringCKEDITOR.config#scayt_sLang

Sets the default spell checking language for SCAYT. Possible values are: 'da_DK', 'de_DE', 'el_GR', 'en_CA', 'en_GB', 'en_US', 'es_ES', 'fi_FI', 'fr_CA', 'fr_FR', 'it_IT', 'nb_NO' 'nl_NL', 'sv_SE'.

Customers with dedicated SCAYT license may also set 'pt_BR' and 'pt_PT'.

Read more in the documentation and see the SDK sample.

// Sets SCAYT to German.
config.scayt_sLang = 'de_DE';


Defaults to 'en_US'

• ### scayt_serviceHost : StringCKEDITOR.config#scayt_serviceHost

Sets the host for the WebSpellChecker service (ssrv.cgi) full path.

Read more in the documentation and see the SDK sample.

// Defines the host for the WebSpellChecker service (ssrv.cgi) path.
config.scayt_serviceHost = 'my-host';


Defaults to 'svc.webspellchecker.net'

• ### scayt_servicePath : StringCKEDITOR.config#scayt_servicePath

Sets the path to the WebSpellChecker service (ssrv.cgi).

Read more in the documentation and see the SDK sample.

// Defines the path to the WebSpellChecker service (ssrv.cgi).
config.scayt_servicePath = 'my-path/ssrv.cgi';


Defaults to 'spellcheck31/script/ssrv.cgi'

• ### scayt_servicePort : StringCKEDITOR.config#scayt_servicePort

Sets the port for the WebSpellChecker service (ssrv.cgi) full path.

Read more in the documentation and see the SDK sample.

// Defines the port for the WebSpellChecker service (ssrv.cgi) path.
config.scayt_servicePort = '2330';


Defaults to '80'

• ### scayt_serviceProtocol : StringCKEDITOR.config#scayt_serviceProtocol

Sets the protocol for the WebSpellChecker service (ssrv.cgi) full path.

Read more in the documentation and see the SDK sample.

// Defines the protocol for the WebSpellChecker service (ssrv.cgi) path.
config.scayt_serviceProtocol = 'https';


Defaults to 'http'

• ### scayt_srcUrl : StringCKEDITOR.config#scayt_srcUrl

Sets the URL to SCAYT core. Required to switch to the licensed version of SCAYT.

Refer to SCAYT documentation for more details.

Read more in the documentation and see the SDK sample.

config.scayt_srcUrl = "http://my-host/spellcheck/lf/scayt/scayt.js";


Defaults to '//svc.webspellchecker.net/spellcheck31/wscbundle/wscbundle.js'

• ### scayt_uiTabs : StringCKEDITOR.config#scayt_uiTabs

Customizes the SCAYT dialog and SCAYT toolbar menu to show particular tabs and items. This setting must contain a 1 (enabled) or 0 (disabled) value for each of the following entries, in this precise order, separated by a comma (','): 'Options', 'Languages', and 'Dictionary'.

Read more in the documentation and see the SDK sample.

// Hides the "Languages" tab.
config.scayt_uiTabs = '1,0,1';


Defaults to '1,1,1'

• ### scayt_userDictionaryName : StringCKEDITOR.config#scayt_userDictionaryName

Activates a User Dictionary in SCAYT. The user dictionary name must be used. Available only for the licensed version.

Refer to SCAYT documentation for more details.

Read more in the documentation and see the SDK sample.

config.scayt_userDictionaryName = 'MyDictionary';


Defaults to ''

• ### sharedSpaces : ObjectCKEDITOR.config#sharedSpaces

Makes it possible to place some of the editor UI blocks, like the toolbar and the elements path, in any element on the page.

The elements used to store the UI blocks can be shared among several editor instances. In that case only the blocks relevant to the active editor instance will be displayed.

Read more in the documentation and see the example.

// Place the toolbar inside the element with an ID of "someElementId" and the
// elements path into the element with an  ID of "anotherId".
config.sharedSpaces = {
top: 'someElementId',
bottom: 'anotherId'
};

// Place the toolbar inside the element with an ID of "someElementId". The
// elements path will remain attached to the editor UI.
config.sharedSpaces = {
top: 'someElementId'
};

// (Since 4.5)
// Place the toolbar inside a DOM element passed by a reference. The
// elements path will remain attached to the editor UI.
var htmlElement = document.getElementById( 'someElementId' );
config.sharedSpaces = {
top: htmlElement
};


Note: The Maximize and Editor Resize features are not supported in the shared space environment and should be disabled in this context.

config.removePlugins = 'maximize,resize';

• ### shiftEnterMode : NumberCKEDITOR.config#shiftEnterMode

Similarly to the enterMode setting, it defines the behavior of the Shift+Enter key combination.

The allowed values are the following constants that cause the behavior outlined below:

Read more in the documentation and see the example.

Example:

config.shiftEnterMode = CKEDITOR.ENTER_P;


Defaults to CKEDITOR.ENTER_BR

• ### skin : StringCKEDITOR.config#skin

The editor skin name. Note that it is not possible to have editors with different skin settings in the same page. In such case just one of the skins will be used for all editors.

This is a shortcut to CKEDITOR.skinName.

It is possible to install skins outside the default skin folder in the editor installation. In that case, the absolute URL path to that folder should be provided, separated by a comma ('skin_name,skin_path').

config.skin = 'moono';

config.skin = 'myskin,/customstuff/myskin/';

• ### smiley_columns : NumberCKEDITOR.config#smiley_columns

since 3.3.2

The number of columns to be generated by the smilies matrix.

config.smiley_columns = 6;


Defaults to 8

• ### smiley_descriptions : ArrayCKEDITOR.config#smiley_descriptions

The description to be used for each of the smileys defined in the smiley_images setting. Each entry in this array list must match its relative pair in the smiley_images setting.

// Default settings.
config.smiley_descriptions = [
'smiley', 'sad', 'wink', 'laugh', 'frown', 'cheeky', 'blush', 'surprise',
'indecision', 'angry', 'angel', 'cool', 'devil', 'crying', 'enlightened', 'no',
'yes', 'heart', 'broken heart', 'kiss', 'mail'
];

// Use textual emoticons as description.
config.smiley_descriptions = [
':)', ':(', ';)', ':D', ':/', ':P', ':*)', ':-o',
':|', '>:(', 'o:)', '8-)', '>:-)', ';(', '', '', '',
'', '', ':-*', ''
];


Defaults to ['smiley', 'sad', 'wink', 'laugh', 'frown', 'cheeky', 'blush', 'surprise', 'indecision', 'angry', 'angel', 'cool', 'devil', 'crying', 'enlightened', 'no', 'yes', 'heart', 'broken heart', 'kiss', 'mail']

• ### smiley_images : ArrayCKEDITOR.config#smiley_images

The file names for the smileys to be displayed. These files must be contained inside the URL path defined with the smiley_path setting.

// This is actually the default value.
config.smiley_images = [
'devil_smile.png','cry_smile.png','lightbulb.png','thumbs_down.png','thumbs_up.png','heart.png',
'broken_heart.png','kiss.png','envelope.png'
];


Defaults to ['regular_smile.png', 'sad_smile.png', 'wink_smile.png', 'teeth_smile.png', 'confused_smile.png', 'tongue_smile.png', 'embarrassed_smile.png', 'omg_smile.png', 'whatchutalkingabout_smile.png', 'angry_smile.png', 'angel_smile.png', 'shades_smile.png', 'devil_smile.png', 'cry_smile.png', 'lightbulb.png', 'thumbs_down.png', 'thumbs_up.png', 'heart.png', 'broken_heart.png', 'kiss.png', 'envelope.png']

• ### smiley_path : StringCKEDITOR.config#smiley_path

The base path used to build the URL for the smiley images. It must end with a slash.

config.smiley_path = 'http://www.example.com/images/smileys/';

config.smiley_path = '/images/smileys/';


Defaults to CKEDITOR.basePath + 'plugins/smiley/images/'

• ### sourceAreaTabSize : NumberCKEDITOR.config#sourceAreaTabSize

Controls the tab-size CSS property of the source editing area. Use it to set the width of the tab character in the source view. Enter an integer to denote the number of spaces that the tab will contain.

Note: Works only with dataIndentationChars set to '\t'. Please consider that not all browsers support the tab-size CSS property yet.

// Set tab-size to 10 characters.
config.sourceAreaTabSize = 10;CKEDITOR.config.dataIndentationChars


Defaults to 4

• ### specialChars : ArrayCKEDITOR.config#specialChars

The list of special characters visible in the "Special Character" dialog window.

config.specialChars = [ '&quot;', '&rsquo;', [ '&custom;', 'Custom label' ] ];
config.specialChars = config.specialChars.concat( [ '&quot;', [ '&rsquo;', 'Custom label' ] ] );


Defaults to ['!', '&quot;', '#', '\$', '%', '&amp;', "'", '(', ')', '*', '+', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '&lt;', '=', '&gt;', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', ']', '^', '_', '', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', '&euro;', '&lsquo;', '&rsquo;', '&ldquo;', '&rdquo;', '&ndash;', '&mdash;', '&iexcl;', '&cent;', '&pound;', '&curren;', '&yen;', '&brvbar;', '&sect;', '&uml;', '&copy;', '&ordf;', '&laquo;', '&not;', '&reg;', '&macr;', '&deg;', '&sup2;', '&sup3;', '&acute;', '&micro;', '&para;', '&middot;', '&cedil;', '&sup1;', '&ordm;', '&raquo;', '&frac14;', '&frac12;', '&frac34;', '&iquest;', '&Agrave;', '&Aacute;', '&Acirc;', '&Atilde;', '&Auml;', '&Aring;', '&AElig;', '&Ccedil;', '&Egrave;', '&Eacute;', '&Ecirc;', '&Euml;', '&Igrave;', '&Iacute;', '&Icirc;', '&Iuml;', '&ETH;', '&Ntilde;', '&Ograve;', '&Oacute;', '&Ocirc;', '&Otilde;', '&Ouml;', '&times;', '&Oslash;', '&Ugrave;', '&Uacute;', '&Ucirc;', '&Uuml;', '&Yacute;', '&THORN;', '&szlig;', '&agrave;', '&aacute;', '&acirc;', '&atilde;', '&auml;', '&aring;', '&aelig;', '&ccedil;', '&egrave;', '&eacute;', '&ecirc;', '&euml;', '&igrave;', '&iacute;', '&icirc;', '&iuml;', '&eth;', '&ntilde;', '&ograve;', '&oacute;', '&ocirc;', '&otilde;', '&ouml;', '&divide;', '&oslash;', '&ugrave;', '&uacute;', '&ucirc;', '&uuml;', '&yacute;', '&thorn;', '&yuml;', '&OElig;', '&oelig;', '&#372;', '&#374', '&#373', '&#375;', '&sbquo;', '&#8219;', '&bdquo;', '&hellip;', '&trade;', '&#9658;', '&bull;', '&rarr;', '&rArr;', '&hArr;', '&diams;', '&asymp;']

• ### startupFocus : String | BooleanCKEDITOR.config#startupFocus

Whether an editable element should have focus when the editor is loading for the first time.

// Focus at the beginning of the editable.
config.startupFocus = true;


Since CKEditor 4.9.0, startupFocus can be explicitly set to either the start or the end of the editable:

// Focus at the beginning of the editable.
config.startupFocus = 'start';

// Focus at the end of the editable.
config.startupFocus = 'end';


Defaults to false

• ### startupMode : StringCKEDITOR.config#startupMode

The mode to load at the editor startup. It depends on the plugins loaded. By default, the wysiwyg and source modes are available.

config.startupMode = 'source';


Defaults to 'wysiwyg'

• ### startupOutlineBlocks : BooleanCKEDITOR.config#startupOutlineBlocks

Whether to automaticaly enable the show block" command when the editor loads.

config.startupOutlineBlocks = true;


Defaults to false

• ### startupShowBorders : BooleanCKEDITOR.config#startupShowBorders

Whether to automatically enable the "show borders" command when the editor loads.

config.startupShowBorders = false;


Defaults to true

• ### stylesSet : String | Array | BooleanCKEDITOR.config#stylesSet

since 3.3

The "styles definition set" to use in the editor. They will be used in the styles combo and the style selector of the div container.

The styles may be defined in the page containing the editor, or can be loaded on demand from an external file. In the second case, if this setting contains only a name, the styles.js file will be loaded from the CKEditor root folder (what ensures backward compatibility with CKEditor 4.0).

Otherwise, this setting has the name:url syntax, making it possible to set the URL from which the styles file will be loaded. Note that the name has to be equal to the name used in CKEDITOR.stylesSet.add while registering the styles set.

Note: Since 4.1 it is possible to set stylesSet to false to prevent loading any styles set.

Read more in the documentation and see the example.

// Do not load any file. The styles set is empty.
config.stylesSet = false;

// Load the 'mystyles' styles set from the styles.js file.
config.stylesSet = 'mystyles';

// Load the 'mystyles' styles set from a relative URL.
config.stylesSet = 'mystyles:/editorstyles/styles.js';

// Load the 'mystyles' styles set from a full URL.
config.stylesSet = 'mystyles:http://www.example.com/editorstyles/styles.js';

// Load from a list of definitions.
config.stylesSet = [
{ name: 'Strong Emphasis', element: 'strong' },
{ name: 'Emphasis', element: 'em' },
...
];


Defaults to 'default'

• ### stylesheetParser_skipSelectors : RegExpCKEDITOR.config#stylesheetParser_skipSelectors

since 3.6

A regular expression that defines whether a CSS rule will be skipped by the Stylesheet Parser plugin. A CSS rule matching the regular expression will be ignored and will not be available in the Styles drop-down list.

Read more in the documentation and see the example.

// Ignore rules for body and caption elements, classes starting with "high", and any class defined for no specific element.
config.stylesheetParser_skipSelectors = /(^body\.|^caption\.|\.high|^\.)/i;CKEDITOR.config.stylesheetParser_validSelectors


Defaults to /(^body\.|^\.)/i

• ### stylesheetParser_validSelectors : RegExpCKEDITOR.config#stylesheetParser_validSelectors

since 3.6

A regular expression that defines which CSS rules will be used by the Stylesheet Parser plugin. A CSS rule matching the regular expression will be available in the Styles drop-down list.

Read more in the documentation and see the example.

// Only add rules for p and span elements.
config.stylesheetParser_validSelectors = /\^(p|span)\.\w+/;CKEDITOR.config.stylesheetParser_skipSelectors


Defaults to /\w+\.\w+/

• ### tabIndex : NumberCKEDITOR.config#tabIndex

The editor tabindex value.

Read more in the documentation and see the example.

config.tabIndex = 1;


Defaults to 0

• ### tabSpaces : NumberCKEDITOR.config#tabSpaces

Intructs the editor to add a number of spaces (&nbsp;) to the text when hitting the Tab key. If set to zero, the Tab key will be used to move the cursor focus to the next element in the page, out of the editor focus.

config.tabSpaces = 4;


Defaults to 0

• ### templates : StringCKEDITOR.config#templates

The templates definition set to use. It accepts a list of names separated by comma. It must match definitions loaded with the templates_files setting.

config.templates = 'my_templates';


Defaults to 'default'

• ### templates_files : String[]CKEDITOR.config#templates_files

The list of templates definition files to load.

config.templates_files = [
'/editor_templates/site_default.js',
'http://www.example.com/user_templates.js'
];


For a sample template file see templates/default.js.

• ### templates_replaceContent : BooleanCKEDITOR.config#templates_replaceContent

Whether the "Replace actual contents" checkbox is checked by default in the Templates dialog.

config.templates_replaceContent = false;


Defaults to true

• ### title : String | BooleanCKEDITOR.config#title

since 4.2

Customizes the human-readable title of this editor. This title is displayed in tooltips and impacts various accessibility aspects, e.g. it is commonly used by screen readers for distinguishing editor instances and for navigation. Accepted values are a string or false.

Note: When config.title is set globally, the same value will be applied to all editor instances loaded with this config. This may adversely affect accessibility as screen reader users will be unable to distinguish particular editor instances and navigate between them.

Note: Setting config.title = false may also impair accessibility in a similar way.

Note: Please do not confuse this property with CKEDITOR.editor.name which identifies the instance in the CKEDITOR.instances literal.

// Sets the title to 'My WYSIWYG editor.'. The original title of the element (if it exists)
// will be restored once the editor instance is destroyed.
config.title = 'My WYSIWYG editor.';

// Do not touch the title. If the element already has a title, it remains unchanged.
// Also if no title attribute exists, nothing new will be added.
config.title = false;


Defaults to based on editor.name

• ### toolbar : Array | StringCKEDITOR.config#toolbar

The toolbox (alias toolbar) definition. It is a toolbar name or an array of toolbars (strips), each one being also an array, containing a list of UI items.

If set to null, the toolbar will be generated automatically using all available buttons and toolbarGroups as a toolbar groups layout.

In CKEditor 4.5+ you can generate your toolbar customization code by using the visual toolbar configurator.

// Defines a toolbar with only one strip containing the "Source" button, a
// separator, and the "Bold" and "Italic" buttons.
config.toolbar = [
[ 'Source', '-', 'Bold', 'Italic' ]
];

// Similar to the example above, defines a "Basic" toolbar with only one strip containing three buttons.
// Note that this setting is composed by "toolbar_" added to the toolbar name, which in this case is called "Basic".
// This second part of the setting name can be anything. You must use this name in the CKEDITOR.config.toolbar setting
// in order to instruct the editor which toolbar_(name) setting should be used.
config.toolbar_Basic = [
[ 'Source', '-', 'Bold', 'Italic' ]
];
// Load toolbar_Name where Name = Basic.
config.toolbar = 'Basic';


Defaults to null

• ### toolbarCanCollapse : BooleanCKEDITOR.config#toolbarCanCollapse

Whether the toolbar can be collapsed by the user. If disabled, the Collapse Toolbar button will not be displayed.

config.toolbarCanCollapse = true;


Defaults to false

• ### toolbarGroupCycling : BooleanCKEDITOR.config#toolbarGroupCycling

since 3.6

When enabled, causes the Arrow keys navigation to cycle within the current toolbar group. Otherwise the Arrow keys will move through all items available in the toolbar. The Tab key will still be used to quickly jump among the toolbar groups.

config.toolbarGroupCycling = false;


Defaults to true

• ### toolbarGroups : ArrayCKEDITOR.config#toolbarGroups

The toolbar groups definition.

If the toolbar layout is not explicitly defined by the toolbar setting, then this setting is used to group all defined buttons (see CKEDITOR.ui.addButton). Buttons are associated with toolbar groups by the toolbar property in their definition objects.

New groups may be dynamically added during the editor and plugin initialization by CKEDITOR.ui.addToolbarGroup. This is only possible if the default setting was used.

// Default setting.
config.toolbarGroups = [
{ name: 'document',    groups: [ 'mode', 'document', 'doctools' ] },
{ name: 'clipboard',   groups: [ 'clipboard', 'undo' ] },
{ name: 'editing',     groups: [ 'find', 'selection', 'spellchecker' ] },
{ name: 'forms' },
'/',
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
{ name: 'paragraph',   groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
{ name: 'insert' },
'/',
{ name: 'styles' },
{ name: 'colors' },
{ name: 'tools' },
{ name: 'others' },
];


Defaults to see example

• ### toolbarLocation : StringCKEDITOR.config#toolbarLocation

The part of the user interface where the toolbar will be rendered. For the default editor implementation, the recommended options are 'top' and 'bottom'.

Please note that this option is only applicable to classic (iframe-based) editor. In case of inline editor the toolbar position is set dynamically depending on the position of the editable element on the screen.

Read more in the documentation and see the example.

config.toolbarLocation = 'bottom';


Defaults to 'top'

• ### toolbarStartupExpanded : BooleanCKEDITOR.config#toolbarStartupExpanded

Whether the toolbar must start expanded when the editor is loaded.

Setting this option to false will affect the toolbar only when toolbarCanCollapse is set to true:

config.toolbarCanCollapse = true;
config.toolbarStartupExpanded = false;


Defaults to true

• ### uiColor : StringCKEDITOR.config#uiColor

The base user interface color to be used by the editor. Not all skins are compatible with this setting.

Read more in the documentation and see the example.

// Using a color code.

// Using an HTML color name.
config.uiColor = 'Gold';

• ### undoStackSize : NumberCKEDITOR.config#undoStackSize

The number of undo steps to be saved. The higher value is set, the more memory is used for it.

config.undoStackSize = 50;


Defaults to 20

• ### uploadUrl : StringCKEDITOR.config#uploadUrl

since 4.5

The URL where files should be uploaded.

An empty string means that the option is disabled.

Defaults to ''

• ### useComputedState : BooleanCKEDITOR.config#useComputedState

since 3.4

Indicates that some of the editor features, like alignment and text direction, should use the "computed value" of the feature to indicate its on/off state instead of using the "real value".

If enabled in a Left-To-Right written document, the "Left Justify" alignment button will be shown as active, even if the alignment style is not explicitly applied to the current paragraph in the editor.

config.useComputedState = false;


Defaults to true

• ### width : String | NumberCKEDITOR.config#width

The editor UI outer width. This configuration option accepts an integer (to denote a value in pixels) or any CSS-defined length unit.

Unlike the height setting, this one will set the outer width of the entire editor UI, not for the editing area only.

Note: This configuration option is ignored by inline editor.

Read more in the documentation and see the example.

config.width = 850;     // 850 pixels wide.
config.width = '75%';   // CSS unit.


Defaults to ''

• ### wsc_cmd : StringCKEDITOR.config#wsc_cmd

The parameter sets the active tab, when the WSC dialog is opened. Possible values are: 'spell', 'thes', 'grammar'.

// Sets active tab thesaurus.
config.wsc_cmd  = 'thes';


Defaults to 'spell'

• ### wsc_customDictionaryIds : StringCKEDITOR.config#wsc_customDictionaryIds

It links WSC to custom dictionaries. It should be a string with dictionary IDs separated by commas (','). Available only for the licensed version.

config.wsc_customDictionaryIds = '1,3001';


Defaults to ''

• ### wsc_customLoaderScript : StringCKEDITOR.config#wsc_customLoaderScript

The parameter sets the URL to WSC file. It is required to the licensed version of WSC application.

config.wsc_customLoaderScript = "http://my-host/spellcheck/lf/22/js/wsc_fck2plugin.js";


Defaults to ''

• ### wsc_customerId : StringCKEDITOR.config#wsc_customerId

The parameter sets the customer ID for WSC. It is used for hosted users only. It is required for migration from free to trial or paid versions.

config.wsc_customerId  = 'encrypted-customer-id';


Defaults to '1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk'

• ### wsc_height : StringCKEDITOR.config#wsc_height

The parameter sets height of the WSC pop-up window. Specified in pixels.

// Set the pop-up height.
config.wsc_height = 800;


Defaults to Content based.

• ### wsc_lang : StringCKEDITOR.config#wsc_lang

The parameter sets the default spellchecking language for WSC. Possible values are: 'da_DK', 'de_DE', 'el_GR', 'en_CA', 'en_GB', 'en_US', 'es_ES', 'fi_FI', 'fr_CA', 'fr_FR', 'it_IT', 'nb_NO' 'nl_NL', 'sv_SE'.

Customers with dedicated WebSpellChecker license may also set 'pt_BR' and 'pt_PT'.

Further details available at http://wiki.webspellchecker.net/doku.php?id=installationandconfiguration:supportedlanguages

config.wsc_lang = 'de_DE';


Defaults to 'en_US'

• ### wsc_left : StringCKEDITOR.config#wsc_left

The parameter sets left margin of the WSC pop-up window. Specified in pixels.

// Set left margin.
config.wsc_left = 0;


Defaults to In the middle of the screen.

• ### wsc_top : StringCKEDITOR.config#wsc_top

The parameter sets top margin of the WSC pop-up window. Specified in pixels.

// Sets top margin.
config.wsc_top = 0;


Defaults to In the middle of the screen.

• ### wsc_userDictionaryName : StringCKEDITOR.config#wsc_userDictionaryName

It activates a user dictionary for WSC. The user dictionary name should be used. Available only for the licensed version.

config.wsc_userDictionaryName = 'MyUserDictionaryName';


Defaults to ''

• ### wsc_width : StringCKEDITOR.config#wsc_width

The parameter sets width of the WSC pop-up window. Specified in pixels.

// Set the pop-up width.
config.wsc_width = 800;


Defaults to 580