diff --git a/static/js/ckeditor/samples/ajax.html b/static/js/ckeditor/samples/ajax.html deleted file mode 100644 index 967e8414..00000000 --- a/static/js/ckeditor/samples/ajax.html +++ /dev/null @@ -1,82 +0,0 @@ - - - -
- -
- 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 <div>
element.
-
- 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 use the - CKEditor JavaScript API - to interact with the editor at runtime. -
-- For details on how to create this setup check the source code of this sample page. -
-
- 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.' -);-
Field Name | -Value | -
---|---|
- | - |
- 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. -
-contentEditable = true
attribute into inline editors.div
element into an instance of CKEditor with a mouse click.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 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
-
- You can also create an inline editor from a textarea
- element. In this case the textarea
will be replaced
- by a div
element with inline editing enabled.
-
-// "article-body" is the name of a textarea element. -var editor = CKEDITOR.inline( 'article-body' ); --
- 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 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' -});-
- 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 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.
-
' + requires[ i ] + '
' );
- }
-
- if ( missing.length ) {
- var warn = CKEDITOR.dom.element.createFromHtml(
- '- -------------------------------------------------------------------------------------------- - CKEditor - Posted Data - - We are sorry, but your Web server does not support the PHP language used in this script. - - Please note that CKEditor can be used with any other server-side language than just PHP. - To save the content created with CKEditor you need to read the POST data on the server - side and write it to a file or the database. - - Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. - For licensing, see LICENSE.md or http://ckeditor.com/license -------------------------------------------------------------------------------------------- - -
- 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.
-
- -
- -- -
-- -
- -*/ include "assets/posteddata.php"; ?> diff --git a/static/js/ckeditor/samples/tabindex.html b/static/js/ckeditor/samples/tabindex.html deleted file mode 100644 index 5d1ab632..00000000 --- a/static/js/ckeditor/samples/tabindex.html +++ /dev/null @@ -1,75 +0,0 @@ - - - -
- -
- - - - - -
-