From cfe13666240910235ad20d2e7cfd89b084630117 Mon Sep 17 00:00:00 2001
From: lsces
- This sample shows how to create and destroy CKEditor instances on the fly. After the removal of CKEditor the content created inside the editing
- area will be displayed in a
- For details of how to create this setup check the source code of this sample page
- for JavaScript code responsible for the creation and destruction of a CKEditor instance.
- Click the buttons to create and remove a CKEditor instance.
-
-
-
+ This sample shows how to create and destroy CKEditor instances on the fly. After the removal of CKEditor the content created inside the editing
+ area will be displayed in a
+ For details of how to create this setup check the source code of this sample page
+ for JavaScript code responsible for the creation and destruction of a CKEditor instance.
+ Click the buttons to create and remove a CKEditor instance.
+
+
+
- CKEditor Samples » Create and Destroy Editor Instances for Ajax Applications
-
- <div> element.
-
+ CKEditor Samples » Create and Destroy Editor Instances for Ajax Applications
+
+ <div> element.
+
- Copyright © 2003-2013, CKSource - Frederico + Copyright © 2003-2014, CKSource - Frederico Knabben. All rights reserved.
diff --git a/samples/appendto.html b/samples/appendto.html old mode 100644 new mode 100755 index 4e97bad..b846770 --- a/samples/appendto.html +++ b/samples/appendto.html @@ -1,57 +1,56 @@ - - - - -
- CKEDITOR.appendTo is basically to place editors
- inside existing DOM elements. Unlike CKEDITOR.replace,
- a target container to be replaced is no longer necessary. A new editor
- instance is inserted directly wherever it is desired.
-
CKEDITOR.appendTo( 'container_id',
- { /* Configuration options to be used. */ }
- 'Editor content to be used.'
-);
-
+ The CKEDITOR.appendTo() method serves to to place editors inside existing DOM elements. Unlike CKEDITOR.replace(),
+ a target container to be replaced is no longer necessary. A new editor
+ instance is inserted directly wherever it is desired.
+
CKEDITOR.appendTo( 'container_id',
+ { /* Configuration options to be used. */ }
+ 'Editor content to be used.'
+);
+ - Copyright © 2003-2013, CKSource - Frederico Knabben. All rights reserved. + Copyright © 2003-2014, CKSource - Frederico Knabben. All rights reserved.
diff --git a/samples/assets/uilanguages/languages.js b/samples/assets/uilanguages/languages.js index 6255d91..3f7ff62 100755 --- a/samples/assets/uilanguages/languages.js +++ b/samples/assets/uilanguages/languages.js @@ -1,7 +1,7 @@ /* - Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ var CKEDITOR_LANGS=function(){var c={af:"Afrikaans",ar:"Arabic",bg:"Bulgarian",bn:"Bengali/Bangla",bs:"Bosnian",ca:"Catalan",cs:"Czech",cy:"Welsh",da:"Danish",de:"German",el:"Greek",en:"English","en-au":"English (Australia)","en-ca":"English (Canadian)","en-gb":"English (United Kingdom)",eo:"Esperanto",es:"Spanish",et:"Estonian",eu:"Basque",fa:"Persian",fi:"Finnish",fo:"Faroese",fr:"French","fr-ca":"French (Canada)",gl:"Galician",gu:"Gujarati",he:"Hebrew",hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian", -is:"Icelandic",it:"Italian",ja:"Japanese",ka:"Georgian",km:"Khmer",ko:"Korean",ku:"Kurdish",lt:"Lithuanian",lv:"Latvian",mk:"Macedonian",mn:"Mongolian",ms:"Malay",nb:"Norwegian Bokmal",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese (Portugal)","pt-br":"Portuguese (Brazil)",ro:"Romanian",ru:"Russian",si:"Sinhala",sk:"Slovak",sq:"Albanian",sl:"Slovenian",sr:"Serbian (Cyrillic)","sr-latn":"Serbian (Latin)",sv:"Swedish",th:"Thai",tr:"Turkish",ug:"Uighur",uk:"Ukrainian",vi:"Vietnamese",zh:"Chinese Traditional", -"zh-cn":"Chinese Simplified"},b=[],a;for(a in CKEDITOR.lang.languages)b.push({code:a,name:c[a]||a});b.sort(function(a,b){return a.name- This sample page demonstrates the idea of Advanced Content Filter - (ACF), a sophisticated - tool that takes control over what kind of data is accepted by the editor and what - kind of output is produced. -
-- ACF controls - every single source of data that comes to the editor. - It process both HTML that is inserted manually (i.e. pasted by the user) - and programmatically like: -
--editor.setData( '<p>Hello world!</p>' ); --
- ACF discards invalid, - useless HTML tags and attributes so the editor remains "clean" during - runtime. ACF behaviour - can be configured and adjusted for a particular case to prevent the - output HTML (i.e. in CMS systems) from being polluted. - - This kind of filtering is a first, client-side line of defense - against "tag soups", - the tool that precisely restricts which tags, attributes and styles - are allowed (desired). When properly configured, ACF - is an easy and fast way to produce a high-quality, intentionally filtered HTML. -
- -
- Advanced Content Filter is enabled by default, working in "automatic mode", yet
- it provides a set of easy rules that allow adjusting filtering rules
- and disabling the entire feature when necessary. The config property
- responsible for this feature is config.allowedContent.
-
- By "automatic mode" is meant that loaded plugins decide which kind
- of content is enabled and which is not. For example, if the link
- plugin is loaded it implies that <a> tag is
- automatically allowed. Each plugin is given a set
- of predefined ACF rules
- that control the editor until
- config.allowedContent
- is defined manually.
-
- Let's assume our intention is to restrict the editor to accept (produce) paragraphs
- only: no attributes, no styles, no other tags.
- With ACF
- this is very simple. Basically set
- config.allowedContent to 'p':
-
-var editor = CKEDITOR.replace( textarea_id, {
- allowedContent: 'p'
-} );
-
- - Now try to play with allowed content: -
--// Trying to insert disallowed tag and attribute. -editor.setData( '<p style="color: red">Hello <em>world</em>!</p>' ); -alert( editor.getData() ); - -// Filtered data is returned. -"<p>Hello world!</p>" --
- What happened? Since config.allowedContent: 'p' is set the editor assumes
- that only plain <p> are accepted. Nothing more. This is why
- style attribute and <em> tag are gone. The same
- filtering would happen if we pasted disallowed HTML into this editor.
-
- This is just a small sample of what ACF - can do. To know more, please refer to the sample section below and - the official Advanced Content Filter guide. -
-
- You may, of course, want CKEditor to avoid filtering of any kind.
- To get rid of ACF,
- basically set
- config.allowedContent to true like this:
-
-CKEDITOR.replace( textarea_id, {
- allowedContent: true
-} );
-
-
-
- ACF is far more than
- I/O control: the entire
- UI of the editor is adjusted to what
- filters restrict. For example: if <a> tag is
- disallowed
- by ACF,
- then accordingly link command, toolbar button and link dialog
- are also disabled. Editor is smart: it knows which features must be
- removed from the interface to match filtering rules.
-
- CKEditor can be far more specific. If <a> tag is
- allowed by filtering rules to be used but it is restricted
- to have only one attribute (href)
- config.allowedContent = 'a[!href]', then
- "Target" tab of the link dialog is automatically disabled as target
- attribute isn't included in ACF rules
- for <a>. This behaviour applies to dialog fields, context
- menus and toolbar buttons.
-
- There are several editor instances below that present different - ACF setups. All of them, - except the last inline instance, share the same HTML content to visualize - how different filtering rules affect the same input data. -
-
- This editor is using default configuration ("automatic mode"). It means that
-
- config.allowedContent is defined by loaded plugins.
- Each plugin extends filtering rules to make it's own associated content
- available for the user.
-
- This editor is using a custom configuration for - ACF: -
-
-CKEDITOR.replace( 'editor2', {
- allowedContent:
- 'h1 h2 h3 p blockquote strong em;' +
- 'a[!href];' +
- 'img(left,right)[!src,alt,width,height];' +
- 'table tr th td caption;' +
- 'span{!font-family};' +'
- 'span{!color};' +
- 'span(!marker);' +
- 'del ins'
-} );
-
- - The following rules may require additional explanation: -
-h1 h2 h3 p blockquote strong em - These tags
- are accepted by the editor. Any tag attributes will be discarded.
- a[!href] - href attribute is obligatory
- for <a> tag. Tags without this attribute
- are disarded. No other attribute will be accepted.
- img(left,right)[!src,alt,width,height] - src
- attribute is obligatory for <img> tag.
- alt, width, height
- and class attributes are accepted but
- class must be either class="left"
- or class="right"
- table tr th td caption - These tags
- are accepted by the editor. Any tag attributes will be discarded.
- span{!font-family}, span{!color},
- span(!marker) - <span> tags
- will be accepted if either font-family or
- color style is set or class="marker"
- is present.
- del ins - These tags
- are accepted by the editor. Any tag attributes will be discarded.
-
- Please note that UI of the
- editor is different. It's a response to what happened to the filters.
- Since text-align isn't allowed, the align toolbar is gone.
- The same thing happened to subscript/superscript, strike, underline
- (<u>, <sub>, <sup>
- are disallowed by
- config.allowedContent) and many other buttons.
-
- This editor is using a custom configuration for - ACF. - Note that filters can be configured as an object literal - as an alternative to a string-based definition. -
-
-CKEDITOR.replace( 'editor3', {
- allowedContent: {
- 'b i ul ol big small': true,
- 'h1 h2 h3 p blockquote li': {
- styles: 'text-align'
- },
- a: { attributes: '!href,target' },
- img: {
- attributes: '!src,alt',
- styles: 'width,height',
- classes: 'left,right'
- }
- }
-} );
-
- - This editor is using a custom set of plugins and buttons. -
-
-CKEDITOR.replace( 'editor4', {
- removePlugins: 'bidi,font,forms,flash,horizontalrule,iframe,justify,table,tabletools,smiley',
- removeButtons: 'Anchor,Underline,Strike,Subscript,Superscript,Image',
- format_tags: 'p;h1;h2;h3;pre;address'
-} );
-
-
- As you can see, removing plugins and buttons implies filtering.
- Several tags are not allowed in the editor because there's no
- plugin/button that is responsible for creating and editing this
- kind of content (for example: the image is missing because
- of removeButtons: 'Image'). The conclusion is that
- ACF works "backwards"
- as well: modifying UI
- elements is changing allowed content rules.
-
- This editor is built on editable <h1> element.
- ACF takes care of
- what can be included in <h1>. Note that there
- are no block styles in Styles combo. Also why lists, indentation,
- blockquote, div, form and other buttons are missing.
-
- ACF makes sure that
- no disallowed tags will come to <h1> so the final
- markup is valid. If the user tried to paste some invalid HTML
- into this editor (let's say a list), it would be automatically
- converted into plain text.
-
+ This sample page demonstrates the idea of Advanced Content Filter + (ACF), a sophisticated + tool that takes control over what kind of data is accepted by the editor and what + kind of output is produced. +
++ ACF controls + every single source of data that comes to the editor. + It process both HTML that is inserted manually (i.e. pasted by the user) + and programmatically like: +
++editor.setData( '<p>Hello world!</p>' ); ++
+ ACF discards invalid, + useless HTML tags and attributes so the editor remains "clean" during + runtime. ACF behaviour + can be configured and adjusted for a particular case to prevent the + output HTML (i.e. in CMS systems) from being polluted. + + This kind of filtering is a first, client-side line of defense + against "tag soups", + the tool that precisely restricts which tags, attributes and styles + are allowed (desired). When properly configured, ACF + is an easy and fast way to produce a high-quality, intentionally filtered HTML. +
+ +
+ Advanced Content Filter is enabled by default, working in "automatic mode", yet
+ it provides a set of easy rules that allow adjusting filtering rules
+ and disabling the entire feature when necessary. The config property
+ responsible for this feature is config.allowedContent.
+
+ By "automatic mode" is meant that loaded plugins decide which kind
+ of content is enabled and which is not. For example, if the link
+ plugin is loaded it implies that <a> tag is
+ automatically allowed. Each plugin is given a set
+ of predefined ACF rules
+ that control the editor until
+ config.allowedContent
+ is defined manually.
+
+ Let's assume our intention is to restrict the editor to accept (produce) paragraphs
+ only: no attributes, no styles, no other tags.
+ With ACF
+ this is very simple. Basically set
+ config.allowedContent to 'p':
+
+var editor = CKEDITOR.replace( textarea_id, {
+ allowedContent: 'p'
+} );
+
+ + Now try to play with allowed content: +
++// Trying to insert disallowed tag and attribute. +editor.setData( '<p style="color: red">Hello <em>world</em>!</p>' ); +alert( editor.getData() ); + +// Filtered data is returned. +"<p>Hello world!</p>" ++
+ What happened? Since config.allowedContent: 'p' is set the editor assumes
+ that only plain <p> are accepted. Nothing more. This is why
+ style attribute and <em> tag are gone. The same
+ filtering would happen if we pasted disallowed HTML into this editor.
+
+ This is just a small sample of what ACF + can do. To know more, please refer to the sample section below and + the official Advanced Content Filter guide. +
+
+ You may, of course, want CKEditor to avoid filtering of any kind.
+ To get rid of ACF,
+ basically set
+ config.allowedContent to true like this:
+
+CKEDITOR.replace( textarea_id, {
+ allowedContent: true
+} );
+
+
+
+ ACF is far more than
+ I/O control: the entire
+ UI of the editor is adjusted to what
+ filters restrict. For example: if <a> tag is
+ disallowed
+ by ACF,
+ then accordingly link command, toolbar button and link dialog
+ are also disabled. Editor is smart: it knows which features must be
+ removed from the interface to match filtering rules.
+
+ CKEditor can be far more specific. If <a> tag is
+ allowed by filtering rules to be used but it is restricted
+ to have only one attribute (href)
+ config.allowedContent = 'a[!href]', then
+ "Target" tab of the link dialog is automatically disabled as target
+ attribute isn't included in ACF rules
+ for <a>. This behaviour applies to dialog fields, context
+ menus and toolbar buttons.
+
+ There are several editor instances below that present different + ACF setups. All of them, + except the last inline instance, share the same HTML content to visualize + how different filtering rules affect the same input data. +
+
+ This editor is using default configuration ("automatic mode"). It means that
+
+ config.allowedContent is defined by loaded plugins.
+ Each plugin extends filtering rules to make it's own associated content
+ available for the user.
+
+ This editor is using a custom configuration for + ACF: +
+
+CKEDITOR.replace( 'editor2', {
+ allowedContent:
+ 'h1 h2 h3 p blockquote strong em;' +
+ 'a[!href];' +
+ 'img(left,right)[!src,alt,width,height];' +
+ 'table tr th td caption;' +
+ 'span{!font-family};' +'
+ 'span{!color};' +
+ 'span(!marker);' +
+ 'del ins'
+} );
+
+ + The following rules may require additional explanation: +
+h1 h2 h3 p blockquote strong em - These tags
+ are accepted by the editor. Any tag attributes will be discarded.
+ a[!href] - href attribute is obligatory
+ for <a> tag. Tags without this attribute
+ are disarded. No other attribute will be accepted.
+ img(left,right)[!src,alt,width,height] - src
+ attribute is obligatory for <img> tag.
+ alt, width, height
+ and class attributes are accepted but
+ class must be either class="left"
+ or class="right"
+ table tr th td caption - These tags
+ are accepted by the editor. Any tag attributes will be discarded.
+ span{!font-family}, span{!color},
+ span(!marker) - <span> tags
+ will be accepted if either font-family or
+ color style is set or class="marker"
+ is present.
+ del ins - These tags
+ are accepted by the editor. Any tag attributes will be discarded.
+
+ Please note that UI of the
+ editor is different. It's a response to what happened to the filters.
+ Since text-align isn't allowed, the align toolbar is gone.
+ The same thing happened to subscript/superscript, strike, underline
+ (<u>, <sub>, <sup>
+ are disallowed by
+ config.allowedContent) and many other buttons.
+
+ This editor is using a custom configuration for + ACF. + Note that filters can be configured as an object literal + as an alternative to a string-based definition. +
+
+CKEDITOR.replace( 'editor3', {
+ allowedContent: {
+ 'b i ul ol big small': true,
+ 'h1 h2 h3 p blockquote li': {
+ styles: 'text-align'
+ },
+ a: { attributes: '!href,target' },
+ img: {
+ attributes: '!src,alt',
+ styles: 'width,height',
+ classes: 'left,right'
+ }
+ }
+} );
+
+ + This editor is using a custom set of plugins and buttons. +
+
+CKEDITOR.replace( 'editor4', {
+ removePlugins: 'bidi,font,forms,flash,horizontalrule,iframe,justify,table,tabletools,smiley',
+ removeButtons: 'Anchor,Underline,Strike,Subscript,Superscript,Image',
+ format_tags: 'p;h1;h2;h3;pre;address'
+} );
+
+
+ As you can see, removing plugins and buttons implies filtering.
+ Several tags are not allowed in the editor because there's no
+ plugin/button that is responsible for creating and editing this
+ kind of content (for example: the image is missing because
+ of removeButtons: 'Image'). The conclusion is that
+ ACF works "backwards"
+ as well: modifying UI
+ elements is changing allowed content rules.
+
+ This editor is built on editable <h1> element.
+ ACF takes care of
+ what can be included in <h1>. Note that there
+ are no block styles in Styles combo. Also why lists, indentation,
+ blockquote, div, form and other buttons are missing.
+
+ ACF makes sure that
+ no disallowed tags will come to <h1> so the final
+ markup is valid. If the user tried to paste some invalid HTML
+ into this editor (let's say a list), it would be automatically
+ converted into plain text.
+
- This sample shows how to automatically replace <div> elements
- with a CKEditor instance on the fly, following user's doubleclick. The content
- that was previously placed inside the <div> element will now
- be moved into CKEditor editing area.
-
- For details on how to create this setup check the source code of this sample page. -
-
- Double-click any of the following <div> elements to transform them into
- editor instances.
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi - semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna - rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla - nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce - eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. -
-- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi - semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna - rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla - nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce - eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. -
-- Donec velit. Mauris massa. Vestibulum non nulla. Nam suscipit arcu nec elit. Phasellus - sollicitudin iaculis ante. Ut non mauris et sapien tincidunt adipiscing. Vestibulum - vitae leo. Suspendisse nec mi tristique nulla laoreet vulputate. -
-- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi - semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna - rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla - nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce - eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. -
-
+ This sample shows how to automatically replace <div> elements
+ with a CKEditor instance on the fly, following user's doubleclick. The content
+ that was previously placed inside the <div> element will now
+ be moved into CKEditor editing area.
+
+ For details on how to create this setup check the source code of this sample page. +
+
+ Double-click any of the following <div> elements to transform them into
+ editor instances.
+
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. +
++ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. +
++ Donec velit. Mauris massa. Vestibulum non nulla. Nam suscipit arcu nec elit. Phasellus + sollicitudin iaculis ante. Ut non mauris et sapien tincidunt adipiscing. Vestibulum + vitae leo. Suspendisse nec mi tristique nulla laoreet vulputate. +
++ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. +
+- Copyright © 2003-2013, CKSource - Frederico Knabben. All rights reserved. + Copyright © 2003-2014, CKSource - Frederico Knabben. All rights reserved.
diff --git a/samples/inlineall.html b/samples/inlineall.html old mode 100644 new mode 100755 index 013602e..f82af1d --- a/samples/inlineall.html +++ b/samples/inlineall.html @@ -1,311 +1,311 @@ - - - - -This sample page demonstrates the inline editing feature - CKEditor instances will be created automatically from page elements with contentEditable attribute set to value true:
-<div contenteditable="true" > ... </div>-
Click inside of any element below to start editing.
-- Lorem ipsum dolor sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies. -
-- Curabitur et ligula. Ut molestie a, ultricies porta urna. Vestibulum commodo volutpat a, convallis ac, laoreet enim. Phasellus fermentum in, dolor. Pellentesque facilisis. Nulla imperdiet sit amet magna. Vestibulum dapibus, mauris nec malesuada fames ac. -
-- - Lorem ipsum dolor sit amet dolor. Duis blandit vestibulum faucibus a, tortor. - -
-- Proin nunc justo felis mollis tincidunt, risus risus pede, posuere cubilia Curae, Nullam euismod, enim. Etiam nibh ultricies dolor ac dignissim erat volutpat. Vivamus fermentum nisl nulla sem in metus. Maecenas wisi. Donec nec erat volutpat. -
---- Fusce vitae porttitor a, euismod convallis nisl, blandit risus tortor, pretium. - Vehicula vitae, imperdiet vel, ornare enim vel sodales rutrum -
-
--- Libero nunc, rhoncus ante ipsum non ipsum. Nunc eleifend pede turpis id sollicitudin fringilla. Phasellus ultrices, velit ac arcu. -
-
Pellentesque nunc. Donec suscipit erat. Pellentesque habitant morbi tristique ullamcorper.
-Mauris mattis feugiat lectus nec mauris. Nullam vitae ante.
- Aenean nonummy a, mattis varius. Cras aliquet. - Praesent magna non mattis ac, rhoncus nunc, rhoncus eget, cursus pulvinar mollis.
-Proin id nibh. Sed eu libero posuere sed, lectus. Phasellus dui gravida gravida feugiat mattis ac, felis.
-Integer condimentum sit amet, tempor elit odio, a dolor non ante at sapien. Sed ac lectus. Nulla ligula quis eleifend mi, id leo velit pede cursus arcu id nulla ac lectus. Phasellus vestibulum. Nunc viverra enim quis diam.
-Donec ullamcorper, risus tortor, pretium porttitor. Morbi quam quis lectus non leo.
-Integer faucibus scelerisque. Proin faucibus at, aliquet vulputate, odio at eros. Fusce gravida, erat vitae augue. Fusce urna fringilla gravida.
-In hac habitasse platea dictumst. Praesent wisi accumsan sit amet nibh. Maecenas orci luctus a, lacinia quam sem, posuere commodo, odio condimentum tempor, pede semper risus. Suspendisse pede. In hac habitasse platea dictumst. Nam sed laoreet sit amet erat. Integer.
-
-
-
Quisque justo neque, mattis sed, fermentum ultrices posuere cubilia Curae, Vestibulum elit metus, quis placerat ut, lectus. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi.
-Quisque justo neque, mattis sed, fermentum ultrices posuere cubilia Curae, Vestibulum elit metus, quis placerat ut, lectus.
-Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis.
-Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi. Sed in nonummy faucibus turpis. Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.
-- inline, editing, floating, CKEditor -
-This sample page demonstrates the inline editing feature - CKEditor instances will be created automatically from page elements with contentEditable attribute set to value true:
+<div contenteditable="true" > ... </div>+
Click inside of any element below to start editing.
++ Lorem ipsum dolor sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies. +
++ Curabitur et ligula. Ut molestie a, ultricies porta urna. Vestibulum commodo volutpat a, convallis ac, laoreet enim. Phasellus fermentum in, dolor. Pellentesque facilisis. Nulla imperdiet sit amet magna. Vestibulum dapibus, mauris nec malesuada fames ac. +
++ + Lorem ipsum dolor sit amet dolor. Duis blandit vestibulum faucibus a, tortor. + +
++ Proin nunc justo felis mollis tincidunt, risus risus pede, posuere cubilia Curae, Nullam euismod, enim. Etiam nibh ultricies dolor ac dignissim erat volutpat. Vivamus fermentum nisl nulla sem in metus. Maecenas wisi. Donec nec erat volutpat. +
++++ Fusce vitae porttitor a, euismod convallis nisl, blandit risus tortor, pretium. + Vehicula vitae, imperdiet vel, ornare enim vel sodales rutrum +
+
+++ Libero nunc, rhoncus ante ipsum non ipsum. Nunc eleifend pede turpis id sollicitudin fringilla. Phasellus ultrices, velit ac arcu. +
+
Pellentesque nunc. Donec suscipit erat. Pellentesque habitant morbi tristique ullamcorper.
+Mauris mattis feugiat lectus nec mauris. Nullam vitae ante.
+ Aenean nonummy a, mattis varius. Cras aliquet. + Praesent magna non mattis ac, rhoncus nunc, rhoncus eget, cursus pulvinar mollis.
+Proin id nibh. Sed eu libero posuere sed, lectus. Phasellus dui gravida gravida feugiat mattis ac, felis.
+Integer condimentum sit amet, tempor elit odio, a dolor non ante at sapien. Sed ac lectus. Nulla ligula quis eleifend mi, id leo velit pede cursus arcu id nulla ac lectus. Phasellus vestibulum. Nunc viverra enim quis diam.
+Donec ullamcorper, risus tortor, pretium porttitor. Morbi quam quis lectus non leo.
+Integer faucibus scelerisque. Proin faucibus at, aliquet vulputate, odio at eros. Fusce gravida, erat vitae augue. Fusce urna fringilla gravida.
+In hac habitasse platea dictumst. Praesent wisi accumsan sit amet nibh. Maecenas orci luctus a, lacinia quam sem, posuere commodo, odio condimentum tempor, pede semper risus. Suspendisse pede. In hac habitasse platea dictumst. Nam sed laoreet sit amet erat. Integer.
+
+
+
Quisque justo neque, mattis sed, fermentum ultrices posuere cubilia Curae, Vestibulum elit metus, quis placerat ut, lectus. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi.
+Quisque justo neque, mattis sed, fermentum ultrices posuere cubilia Curae, Vestibulum elit metus, quis placerat ut, lectus.
+Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis.
+Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi. Sed in nonummy faucibus turpis. Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.
++ inline, editing, floating, CKEditor +
+- This sample shows how to create an inline editor instance of CKEditor. It is created - with a JavaScript call using the following code: -
--// This property tells CKEditor to not activate every element with contenteditable=true element. -CKEDITOR.disableAutoInline = true; - -var editor = CKEDITOR.inline( document.getElementById( 'editable' ) ); --
- Note that editable in the code above is the id
- attribute of the <div> element to be converted into an inline instance.
-
Apollo 11Apollo 11 was the spaceflight that landed the first humans, Americans Neil Armstrong and Buzz Aldrin, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.
- -Armstrong spent about three and a half two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5 kg) of lunar material for return to Earth. A third member of the mission, Michael Collins, piloted the command spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.
Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:
- --- -One small step for [a] man, one giant leap for mankind.
-
Apollo 11 effectively ended the Space Race and fulfilled a national goal proposed in 1961 by the late U.S. President John F. Kennedy in a speech before the United States Congress:
- --- -[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.
-
| Position | -Astronaut | -
|---|---|
| Commander | -Neil A. Armstrong | -
| Command Module Pilot | -Michael Collins | -
| Lunar Module Pilot | -Edwin "Buzz" E. Aldrin, Jr. | -
Launched by a Saturn V rocket from Kennedy Space Center in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of NASA's Apollo program. The Apollo spacecraft had three parts:
- -After being sent to the Moon by the Saturn V's upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the Sea of Tranquility. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the Pacific Ocean on July 24.
- -Source: Wikipedia.org
-+ This sample shows how to create an inline editor instance of CKEditor. It is created + with a JavaScript call using the following code: +
++// This property tells CKEditor to not activate every element with contenteditable=true element. +CKEDITOR.disableAutoInline = true; + +var editor = CKEDITOR.inline( document.getElementById( 'editable' ) ); ++
+ Note that editable in the code above is the id
+ attribute of the <div> element to be converted into an inline instance.
+
Apollo 11Apollo 11 was the spaceflight that landed the first humans, Americans Neil Armstrong and Buzz Aldrin, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.
+ +Armstrong spent about three and a half two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5 kg) of lunar material for return to Earth. A third member of the mission, Michael Collins, piloted the command spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.
Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:
+ +++ +One small step for [a] man, one giant leap for mankind.
+
Apollo 11 effectively ended the Space Race and fulfilled a national goal proposed in 1961 by the late U.S. President John F. Kennedy in a speech before the United States Congress:
+ +++ +[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.
+
| Position | +Astronaut | +
|---|---|
| Commander | +Neil A. Armstrong | +
| Command Module Pilot | +Michael Collins | +
| Lunar Module Pilot | +Edwin "Buzz" E. Aldrin, Jr. | +
Launched by a Saturn V rocket from Kennedy Space Center in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of NASA's Apollo program. The Apollo spacecraft had three parts:
+ +After being sent to the Moon by the Saturn V's upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the Sea of Tranquility. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the Pacific Ocean on July 24.
+ +Source: Wikipedia.org
+
+ This sample shows how to configure CKEditor instances to use the
+ Developer Tools (devtools) plugin that displays
+ information about dialog window elements, including the name of the dialog window,
+ tab, and UI element. Please note that the tooltip also contains a link to the
+ CKEditor JavaScript API
+ documentation for each of the selected elements.
+
+ This plugin is aimed at developers who would like to customize their CKEditor + instances and create their own plugins. By default it is turned off; it is + usually useful to only turn it on in the development phase. Note that it works with + all CKEditor dialog windows, including the ones that were created by custom plugins. +
++ To add a CKEditor instance using the devtools plugin, insert + the following JavaScript call into your code: +
+
+CKEDITOR.replace( 'textarea_id', {
+ extraPlugins: 'devtools'
+});
+
+ Note that textarea_id in the code above is the id attribute of
+ the <textarea> element to be replaced with CKEditor.
+
+ This sample shows how to use the + CKEditor Dialog API + to customize CKEditor dialog windows without changing the original editor code. + The following customizations are being done in the example below: +
++ For details on how to create this setup check the source code of this sample page. +
+A custom dialog is added to the editors using the pluginsLoaded event, from an external dialog definition file:
The below editor modify the dialog definition of the above added dialog using the dialogDefinition event:
+ This sample shows how to configure the Enter and Shift+Enter keys
+ to perform actions specified in the
+ enterMode
+ and shiftEnterMode
+ parameters, respectively.
+ You can choose from the following options:
+
ENTER_P – new <p> paragraphs are created;ENTER_BR – lines are broken with <br> elements;ENTER_DIV – new <div> blocks are created.
+ The sample code below shows how to configure CKEditor to create a <div> block when Enter key is pressed.
+
+CKEDITOR.replace( 'textarea_id', {
+ enterMode: CKEDITOR.ENTER_DIV
+});
+
+ Note that textarea_id in the code above is the id attribute of
+ the <textarea> element to be replaced.
+
+ This sample shows how to configure CKEditor to output
+ HTML code that can be used with
+
+ Adobe Flash.
+ The code will contain a subset of standard HTML elements like <b>,
+ <i>, and <p> as well as HTML attributes.
+
+ To add a CKEditor instance outputting Flash compliant HTML code, load the editor using a standard + JavaScript call, and define CKEditor features to use HTML elements and attributes. +
++ For details on how to create this setup check the source code of this sample page. +
++ To see how it works, create some content in the editing area of CKEditor on the left + and send it to the Flash object on the right side of the page by using the + Send to Flash button. +
+|
+
+
+ + + + |
+ + + | +
+ This sample shows how to configure CKEditor to output valid
+ HTML 4.01 code.
+ Traditional HTML elements like <b>,
+ <i>, and <font> are used in place of
+ <strong>, <em>, and CSS styles.
+
+ To add a CKEditor instance outputting legacy HTML 4.01 code, load the editor using a standard + JavaScript call, and define CKEditor features to use the HTML compliant elements and attributes. +
++ A snippet of the configuration code can be seen below; check the source of this page for + full definition: +
+
+CKEDITOR.replace( 'textarea_id', {
+ coreStyles_bold: { element: 'b' },
+ coreStyles_italic: { element: 'i' },
+
+ fontSize_style: {
+ element: 'font',
+ attributes: { 'size': '#(size)' }
+ }
+
+ ...
+});
+
+ This editor is using the new Image (image2) plugin, which implements a dynamic click-and-drag resizing
+ and easy captioning of the images.
+
+ To use the new plugin, include it in config.extraPlugins
+ parameter and remove the old one (image) with
+ config.removePlugins (with dependencies).
+
+CKEDITOR.replace( 'textarea_id', {
+ extraPlugins: 'image2',
+ removePlugins: 'image'
+} );
+
+ + This sample shows the advantages of Magicline plugin + which is to enhance the editing process. Thanks to this plugin, + a number of difficult focus spaces which are inaccessible due to + browser issues can now be focused. +
++ Magicline plugin shows a red line with a handler + which, when clicked, inserts a paragraph and allows typing. To see this, + focus an editor and move your mouse above the focus space you want + to access. The plugin is enabled by default so no additional + configuration is necessary. +
++ This editor uses a default Magicline setup. +
++ This editor is using a blue line. +
+
+CKEDITOR.replace( 'editor2', {
+ magicline_color: 'blue'
+});
+
+ Sourcedialog plugin provides an easy way to edit raw HTML content
+ of an editor, similarly to what is possible with Sourcearea
+ plugin for classic (iframe-based) instances but using dialogs. Thanks to that, it's also possible
+ to manipulate raw content of inline editor instances.
+
+ This plugin extends the toolbar with a button,
+ which opens a dialog window with a source code editor. It works with both classic
+ and inline instances. To enable this
+ plugin, basically add extraPlugins: 'sourcedialog' to editor's
+ config:
+
+// Inline editor.
+CKEDITOR.inline( 'editable', {
+ extraPlugins: 'sourcedialog'
+});
+
+// Classic (iframe-based) editor.
+CKEDITOR.replace( 'textarea_id', {
+ extraPlugins: 'sourcedialog',
+ removePlugins: 'sourcearea'
+});
+
+
+ Note that you may want to include removePlugins: 'sourcearea'
+ in your config when using Sourcedialog in classic editor instances.
+ This prevents feature redundancy.
+
+ Note that editable in the code above is the id
+ attribute of the <div> element to be converted into an inline instance.
+
+ Note that textarea_id in the code above is the id attribute of
+ the <textarea> element to be replaced with CKEditor.
+
This is some sample text. You are using CKEditor.
+
+ This sample shows how to configure CKEditor instances to use the
+ Stylesheet Parser (stylesheetparser) plugin that fills
+ the Styles drop-down list based on the CSS rules available in the document stylesheet.
+
+ To add a CKEditor instance using the stylesheetparser plugin, insert
+ the following JavaScript call into your code:
+
+CKEDITOR.replace( 'textarea_id', {
+ extraPlugins: 'stylesheetparser'
+});
+
+ Note that textarea_id in the code above is the id attribute of
+ the <textarea> element to be replaced with CKEditor.
+
+ This sample page demonstrates editor with loaded full toolbar (all registered buttons) and, if + current editor's configuration modifies default settings, also editor with modified toolbar. +
+ +Since CKEditor 4 there are two ways to configure toolbar buttons.
+ +
+ You can explicitly define which buttons are displayed in which groups and in which order.
+ This is the more precise setting, but less flexible. If newly added plugin adds its
+ own button you'll have to add it manually to your config.toolbar setting as well.
+
To add a CKEditor instance with custom toolbar setting, insert the following JavaScript call to your code:
+ +
+CKEDITOR.replace( 'textarea_id', {
+ toolbar: [
+ { name: 'document', items: [ 'Source', '-', 'NewPage', 'Preview', '-', 'Templates' ] }, // Defines toolbar group with name (used to create voice label) and items in 3 subgroups.
+ [ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ], // Defines toolbar group without name.
+ '/', // Line break - next group will be placed in new line.
+ { name: 'basicstyles', items: [ 'Bold', 'Italic' ] }
+ ]
+});
+
+
+ You can define which groups of buttons (like e.g. basicstyles, clipboard
+ and forms) are displayed and in which order. Registered buttons are associated
+ with toolbar groups by toolbar property in their definition.
+ This setting's advantage is that you don't have to modify toolbar configuration
+ when adding/removing plugins which register their own buttons.
+
To add a CKEditor instance with custom toolbar groups setting, insert the following JavaScript call to your code:
+ +
+CKEDITOR.replace( 'textarea_id', {
+ toolbarGroups: [
+ { name: 'document', groups: [ 'mode', 'document' ] }, // Displays document group with its two subgroups.
+ { name: 'clipboard', groups: [ 'clipboard', 'undo' ] }, // Group's name will be used to create voice label.
+ '/', // Line break - next group will be placed in new line.
+ { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
+ { name: 'links' }
+ ]
+
+ // NOTE: Remember to leave 'toolbar' property with the default value (null).
+});
+ Below you can see editor with full toolbar, generated automatically by the editor.
+
+ Note: To create editor instance with full toolbar you don't have to set anything.
+ Just leave toolbar and toolbarGroups with the default, null values.
+
+ This sample shows how to configure CKEditor to edit entire HTML pages, from the
+ <html> tag to the </html> tag.
+
+ The CKEditor instance below is inserted with a JavaScript call using the following code: +
+
+CKEDITOR.replace( 'textarea_id', {
+ fullPage: true,
+ allowedContent: true
+});
+
+
+ Note that textarea_id in the code above is the id attribute of
+ the <textarea> element to be replaced.
+
+ The allowedContent in the code above is set to true to disable content filtering.
+ Setting this option is not obligatory, but in full page mode there is a strong chance that one may want be able to freely enter any HTML content in source mode without any limitations.
+
- This sample shows how to use the
- setReadOnly
- API to put editor into the read-only state that makes it impossible for users to change the editor contents.
-
- For details on how to create this setup check the source code of this sample page. -
-
+ This sample shows how to use the
+ setReadOnly
+ API to put editor into the read-only state that makes it impossible for users to change the editor contents.
+
+ For details on how to create this setup check the source code of this sample page. +
+
- This sample shows how to automatically replace all <textarea> elements
- of a given class with a CKEditor instance.
-
- To replace a <textarea> element, simply assign it the ckeditor
- class, as in the code below:
-
-<textarea class="ckeditor" name="editor1"></textarea> --
- Note that other <textarea> attributes (like id or name) need to be adjusted to your document.
-
+ This sample shows how to automatically replace all <textarea> elements
+ of a given class with a CKEditor instance.
+
+ To replace a <textarea> element, simply assign it the ckeditor
+ class, as in the code below:
+
+<textarea class="ckeditor" name="editor1"></textarea> ++
+ Note that other <textarea> attributes (like id or name) need to be adjusted to your document.
+
- This sample shows how tab key navigation among editor instances is
- affected by the tabIndex attribute from
- the original page element. Use TAB key to move between the editors.
-
- -
- -- -
-- -
- - - + + + + + +
+ This sample shows how tab key navigation among editor instances is
+ affected by the tabIndex attribute from
+ the original page element. Use TAB key to move between the editors.
+
+ +
+ ++ +
++ +
+ + + diff --git a/samples/uicolor.html b/samples/uicolor.html old mode 100644 new mode 100755 index 04e197c..ce4b2a2 --- a/samples/uicolor.html +++ b/samples/uicolor.html @@ -1,69 +1,69 @@ - - - - -
- This sample shows how to automatically replace <textarea> elements
- with a CKEditor instance with an option to change the color of its user interface.
- Note:The UI skin color feature depends on the CKEditor skin
- compatibility. The Moono and Kama skins are examples of skins that work with it.
-
+ This sample shows how to automatically replace <textarea> elements
+ with a CKEditor instance with an option to change the color of its user interface.
+ Note:The UI skin color feature depends on the CKEditor skin
+ compatibility. The Moono and Kama skins are examples of skins that work with it.
+
- This sample shows how to automatically replace <textarea> elements
- with a CKEditor instance with an option to change the language of its user interface.
-
- It pulls the language list from CKEditor _languages.js file that contains the list of supported languages and creates
- a drop-down list that lets the user change the UI language.
-
- By default, CKEditor automatically localizes the editor to the language of the user.
- The UI language can be controlled with two configuration options:
- language and
-
- defaultLanguage. The defaultLanguage setting specifies the
- default CKEditor language to be used when a localization suitable for user's settings is not available.
-
- To specify the user interface language that will be used no matter what language is
- specified in user's browser or operating system, set the language property:
-
-CKEDITOR.replace( 'textarea_id', {
- // Load the German interface.
- language: 'de'
-});
-
- Note that textarea_id in the code above is the id attribute of
- the <textarea> element to be replaced.
-
+ This sample shows how to automatically replace <textarea> elements
+ with a CKEditor instance with an option to change the language of its user interface.
+
+ It pulls the language list from CKEditor _languages.js file that contains the list of supported languages and creates
+ a drop-down list that lets the user change the UI language.
+
+ By default, CKEditor automatically localizes the editor to the language of the user.
+ The UI language can be controlled with two configuration options:
+ language and
+
+ defaultLanguage. The defaultLanguage setting specifies the
+ default CKEditor language to be used when a localization suitable for user's settings is not available.
+
+ To specify the user interface language that will be used no matter what language is
+ specified in user's browser or operating system, set the language property:
+
+CKEDITOR.replace( 'textarea_id', {
+ // Load the German interface.
+ language: 'de'
+});
+
+ Note that textarea_id in the code above is the id attribute of
+ the <textarea> element to be replaced.
+
- This sample shows how to configure CKEditor to output valid
- XHTML 1.1 code.
- Deprecated elements (<font>, <u>) or attributes
- (size, face) will be replaced with XHTML compliant code.
-
- To add a CKEditor instance outputting valid XHTML code, load the editor using a standard - JavaScript call and define CKEditor features to use the XHTML compliant elements and styles. -
-- A snippet of the configuration code can be seen below; check the source of this page for - full definition: -
-
-CKEDITOR.replace( 'textarea_id', {
- contentsCss: 'assets/outputxhtml.css',
-
- coreStyles_bold: {
- element: 'span',
- attributes: { 'class': 'Bold' }
- },
- coreStyles_italic: {
- element: 'span',
- attributes: { 'class': 'Italic' }
- },
-
- ...
-});
-
+ This sample shows how to configure CKEditor to output valid
+ XHTML 1.1 code.
+ Deprecated elements (<font>, <u>) or attributes
+ (size, face) will be replaced with XHTML compliant code.
+
+ To add a CKEditor instance outputting valid XHTML code, load the editor using a standard + JavaScript call and define CKEditor features to use the XHTML compliant elements and styles. +
++ A snippet of the configuration code can be seen below; check the source of this page for + full definition: +
+
+CKEDITOR.replace( 'textarea_id', {
+ contentsCss: 'assets/outputxhtml.css',
+
+ coreStyles_bold: {
+ element: 'span',
+ attributes: { 'class': 'Bold' }
+ },
+ coreStyles_italic: {
+ element: 'span',
+ attributes: { 'class': 'Italic' }
+ },
+
+ ...
+});
+