JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.2.2
[ckeditor.git] / _source / core / config.js
1 /*\r
2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
3 For licensing, see LICENSE.html or http://ckeditor.com/license\r
4 */\r
5 \r
6 /**\r
7  * @fileOverview Defines the {@link CKEDITOR.config} object, which holds the\r
8  * default configuration settings.\r
9  */\r
10 \r
11 CKEDITOR.ENTER_P        = 1;\r
12 CKEDITOR.ENTER_BR       = 2;\r
13 CKEDITOR.ENTER_DIV      = 3;\r
14 \r
15 /**\r
16  * Holds the default configuration settings. Changes to this object are\r
17  * reflected in all editor instances, if not specificaly specified for those\r
18  * instances.\r
19  * @namespace\r
20  * @example\r
21  * // All editor created after the following setting will not load custom\r
22  * // configuration files.\r
23  * CKEDITOR.config.customConfig = '';\r
24  */\r
25 CKEDITOR.config =\r
26 {\r
27         /**\r
28          * The URL path for the custom configuration file to be loaded. If not\r
29          * overloaded with inline configurations, it defaults to the "config.js"\r
30          * file present in the root of the CKEditor installation directory.<br /><br />\r
31          *\r
32          * CKEditor will recursively load custom configuration files defined inside\r
33          * other custom configuration files.\r
34          * @type String\r
35          * @default '&lt;CKEditor folder&gt;/config.js'\r
36          * @example\r
37          * // Load a specific configuration file.\r
38          * CKEDITOR.replace( 'myfiled', { customConfig : '/myconfig.js' } );\r
39          * @example\r
40          * // Do not load any custom configuration file.\r
41          * CKEDITOR.replace( 'myfiled', { customConfig : '' } );\r
42          */\r
43         customConfig : 'config.js',\r
44 \r
45         /**\r
46          * Whether the replaced element (usually a textarea) is to be updated\r
47          * automatically when posting the form containing the editor.\r
48          * @type Boolean\r
49          * @default true\r
50          * @example\r
51          * config.autoUpdateElement = true;\r
52          */\r
53         autoUpdateElement : true,\r
54 \r
55         /**\r
56          * The base href URL used to resolve relative and absolute URLs in the\r
57          * editor content.\r
58          * @type String\r
59          * @default '' (empty string)\r
60          * @example\r
61          * config.baseHref = 'http://www.example.com/path/';\r
62          */\r
63         baseHref : '',\r
64 \r
65         /**\r
66          * The CSS file(s) to be used to apply style to the contents. It should\r
67          * reflect the CSS used in the final pages where the contents are to be\r
68          * used.\r
69          * @type String|Array\r
70          * @default '&lt;CKEditor folder&gt;/contents.css'\r
71          * @example\r
72          * config.contentsCss = '/css/mysitestyles.css';\r
73          * config.contentsCss = ['/css/mysitestyles.css', '/css/anotherfile.css'];\r
74          */\r
75         contentsCss : CKEDITOR.basePath + 'contents.css',\r
76 \r
77         /**\r
78          * The writting direction of the language used to write the editor\r
79          * contents. Allowed values are 'ltr' for Left-To-Right language (like\r
80          * English), or 'rtl' for Right-To-Left languages (like Arabic).\r
81          * @default 'ltr'\r
82          * @type String\r
83          * @example\r
84          * config.contentsLangDirection = 'rtl';\r
85          */\r
86         contentsLangDirection : 'ltr',\r
87 \r
88         /**\r
89          * Language code of  the writting language which is used to author the editor\r
90          * contents.\r
91          * @default Same value with editor's UI language.\r
92          * @type String\r
93          * @example\r
94          * config.contentsLanguage = 'fr';\r
95          */\r
96         contentsLanguage : '',\r
97 \r
98         /**\r
99          * The user interface language localization to use. If empty, the editor\r
100          * automatically localize the editor to the user language, if supported,\r
101          * otherwise the {@link CKEDITOR.config.defaultLanguage} language is used.\r
102          * @default '' (empty)\r
103          * @type String\r
104          * @example\r
105          * // Load the German interface.\r
106          * config.language = 'de';\r
107          */\r
108         language : '',\r
109 \r
110         /**\r
111          * The language to be used if {@link CKEDITOR.config.language} is left empty and it's not\r
112          * possible to localize the editor to the user language.\r
113          * @default 'en'\r
114          * @type String\r
115          * @example\r
116          * config.defaultLanguage = 'it';\r
117          */\r
118         defaultLanguage : 'en',\r
119 \r
120         /**\r
121          * Sets the behavior for the ENTER key. It also dictates other behaviour\r
122          * rules in the editor, like whether the &lt;br&gt; element is to be used\r
123          * as a paragraph separator when indenting text.\r
124          * The allowed values are the following constants, and their relative\r
125          * behavior:\r
126          * <ul>\r
127          *     <li>{@link CKEDITOR.ENTER_P} (1): new &lt;p&gt; paragraphs are created;</li>\r
128          *     <li>{@link CKEDITOR.ENTER_BR} (2): lines are broken with &lt;br&gt; elements;</li>\r
129          *     <li>{@link CKEDITOR.ENTER_DIV} (3): new &lt;div&gt; blocks are created.</li>\r
130          * </ul>\r
131          * <strong>Note</strong>: It's recommended to use the\r
132          * {@link CKEDITOR.ENTER_P} value because of its semantic value and\r
133          * correctness. The editor is optimized for this value.\r
134          * @type Number\r
135          * @default {@link CKEDITOR.ENTER_P}\r
136          * @example\r
137          * // Not recommended.\r
138          * config.enterMode = CKEDITOR.ENTER_BR;\r
139          */\r
140         enterMode : CKEDITOR.ENTER_P,\r
141 \r
142         /**\r
143          * Force the respect of {@link CKEDITOR.config.enterMode} as line break regardless of the context,\r
144          * E.g. If {@link CKEDITOR.config.enterMode} is set to {@link CKEDITOR.ENTER_P},\r
145          * press enter key inside a 'div' will create a new paragraph with 'p' instead of 'div'.\r
146          * @since 3.2.1\r
147          * @default false\r
148          * @example\r
149          * // Not recommended.\r
150          * config.forceEnterMode = true;\r
151          */\r
152         forceEnterMode : false,\r
153 \r
154         /**\r
155          * Just like the {@link CKEDITOR.config.enterMode} setting, it defines the behavior for the SHIFT+ENTER key.\r
156          * The allowed values are the following constants, and their relative\r
157          * behavior:\r
158          * <ul>\r
159          *     <li>{@link CKEDITOR.ENTER_P} (1): new &lt;p&gt; paragraphs are created;</li>\r
160          *     <li>{@link CKEDITOR.ENTER_BR} (2): lines are broken with &lt;br&gt; elements;</li>\r
161          *     <li>{@link CKEDITOR.ENTER_DIV} (3): new &lt;div&gt; blocks are created.</li>\r
162          * </ul>\r
163          * @type Number\r
164          * @default {@link CKEDITOR.ENTER_BR}\r
165          * @example\r
166          * config.shiftEnterMode = CKEDITOR.ENTER_P;\r
167          */\r
168         shiftEnterMode : CKEDITOR.ENTER_BR,\r
169 \r
170         /**\r
171          * A comma separated list of plugins that are not related to editor\r
172          * instances. Reserved to plugins that extend the core code only.<br /><br />\r
173          *\r
174          * There are no ways to override this setting, except by editing the source\r
175          * code of CKEditor (_source/core/config.js).\r
176          * @type String\r
177          * @example\r
178          */\r
179         corePlugins : '',\r
180 \r
181         /**\r
182          * Sets the doctype to be used when loading the editor content as HTML.\r
183          * @type String\r
184          * @default '&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;'\r
185          * @example\r
186          * // Set the doctype to the HTML 4 (quirks) mode.\r
187          * config.docType = '&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;';\r
188          */\r
189         docType : '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',\r
190 \r
191         /**\r
192          * Sets the "id" attribute to be used on the body element of the editing\r
193          * area.\r
194          * @since 3.1\r
195          * @type String\r
196          * @default ''\r
197          */\r
198         bodyId : '',\r
199 \r
200         /**\r
201          * Sets the "class" attribute to be used on the body element of the editing\r
202          * area.\r
203          * @since 3.1\r
204          * @type String\r
205          * @default ''\r
206          */\r
207         bodyClass : '',\r
208 \r
209         /**\r
210          * Indicates whether the contents to be edited are being inputted as a full\r
211          * HTML page. A full page includes the &lt;html&gt;, &lt;head&gt; and\r
212          * &lt;body&gt; tags. The final output will also reflect this setting,\r
213          * including the &lt;body&gt; contents only if this setting is disabled.\r
214          * @since 3.1\r
215          * @type Boolean\r
216          * @default false\r
217          * @example\r
218          * config.fullPage = true;\r
219          */\r
220         fullPage : false,\r
221 \r
222         /**\r
223          * The height of editing area( content ), in relative or absolute, e.g. 30px, 5em.\r
224          * Note: Percentage unit is not supported yet. e.g. 30%.\r
225          * @type Number|String\r
226          * @default '200'\r
227          * @example\r
228          * config.height = 500;\r
229          * config.height = '25em';\r
230          * config.height = '300px';\r
231          */\r
232         height : 200,\r
233 \r
234         /**\r
235          * Comma separated list of plugins to load and initialize for an editor\r
236          * instance. This should be rarely changed, using instead the\r
237          * {@link CKEDITOR.config.extraPlugins} and\r
238          * {@link CKEDITOR.config.removePlugins} for customizations.\r
239          * @type String\r
240          * @example\r
241          */\r
242         plugins : 'about,a11yhelp,basicstyles,blockquote,button,clipboard,colorbutton,colordialog,contextmenu,div,elementspath,enterkey,entities,filebrowser,find,flash,font,format,forms,horizontalrule,htmldataprocessor,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,smiley,showblocks,showborders,sourcearea,stylescombo,table,tabletools,specialchar,tab,templates,toolbar,undo,wysiwygarea,wsc',\r
243 \r
244         /**\r
245          * List of additional plugins to be loaded. This is a tool setting which\r
246          * makes it easier to add new plugins, whithout having to touch and\r
247          * possibly breaking the {@link CKEDITOR.config.plugins} setting.\r
248          * @type String\r
249          * @example\r
250          * config.extraPlugins = 'myplugin,anotherplugin';\r
251          */\r
252         extraPlugins : '',\r
253 \r
254         /**\r
255          * List of plugins that must not be loaded. This is a tool setting which\r
256          * makes it easier to avoid loading plugins definied in the\r
257          * {@link CKEDITOR.config.plugins} setting, whithout having to touch it and\r
258          * potentially breaking it.\r
259          * @type String\r
260          * @example\r
261          * config.removePlugins = 'elementspath,save,font';\r
262          */\r
263         removePlugins : '',\r
264 \r
265         /**\r
266          * List of regular expressions to be executed over the input HTML,\r
267          * indicating code that must stay untouched.\r
268          * @type Array\r
269          * @default [] (empty array)\r
270          * @example\r
271          * config.protectedSource.push( /<\?[\s\S]*?\?>/g );   // PHP Code\r
272          * config.protectedSource.push( /<%[\s\S]*?%>/g );   // ASP Code\r
273          * config.protectedSource.push( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi );   // ASP.Net Code\r
274          */\r
275         protectedSource : [],\r
276 \r
277         /**\r
278          * The editor tabindex value.\r
279          * @type Number\r
280          * @default 0 (zero)\r
281          * @example\r
282          * config.tabIndex = 1;\r
283          */\r
284         tabIndex : 0,\r
285 \r
286         /**\r
287          * The theme to be used to build the UI.\r
288          * @type String\r
289          * @default 'default'\r
290          * @see CKEDITOR.config.skin\r
291          * @example\r
292          * config.theme = 'default';\r
293          */\r
294         theme : 'default',\r
295 \r
296         /**\r
297          * The skin to load. It may be the name of the skin folder inside the\r
298          * editor installation path, or the name and the path separated by a comma.\r
299          * @type String\r
300          * @default 'default'\r
301          * @example\r
302          * config.skin = 'v2';\r
303          * @example\r
304          * config.skin = 'myskin,/customstuff/myskin/';\r
305          */\r
306         skin : 'kama',\r
307 \r
308         /**\r
309          * The editor width in CSS size format or pixel integer.\r
310          * @type String|Number\r
311          * @default '' (empty)\r
312          * @example\r
313          * config.width = 850;\r
314          * @example\r
315          * config.width = '75%';\r
316          */\r
317         width : '',\r
318 \r
319         /**\r
320          * The base Z-index for floating dialogs and popups.\r
321          * @type Number\r
322          * @default 10000\r
323          * @example\r
324          * config.baseFloatZIndex = 2000\r
325          */\r
326         baseFloatZIndex : 10000\r
327 };\r
328 \r
329 // PACKAGER_RENAME( CKEDITOR.config )\r