1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
4 For licensing, see LICENSE.html or http://ckeditor.com/license
6 <html xmlns=
"http://www.w3.org/1999/xhtml">
8 <title>XHTML Compliant Output
— CKEditor Sample
</title>
9 <meta content=
"text/html; charset=utf-8" http-equiv=
"content-type" />
10 <script type=
"text/javascript" src=
"../ckeditor.js"></script>
11 <script src=
"sample.js" type=
"text/javascript"></script>
12 <link href=
"sample.css" rel=
"stylesheet" type=
"text/css" />
16 CKEditor Sample
— Producing XHTML Compliant Output
18 <div class=
"description">
20 This sample shows how to configure CKEditor to output valid
21 <a class=
"samples" href=
"http://www.w3.org/TR/xhtml11/">XHTML
1.1</a> code.
22 Deprecated elements (
<code><font
></code>,
<code><u
></code>) or attributes
23 (
<code>size
</code>,
<code>face
</code>) will be replaced with XHTML compliant code.
26 To add a CKEditor instance outputting valid XHTML code, load the editor using a standard
27 JavaScript call and define CKEditor features to use the XHTML compliant elements and styles.
30 A snippet of the configuration code can be seen below; check the source of this page for
33 <pre class=
"samples">CKEDITOR.replace( '
<em>textarea_id
</em>',
35 contentsCss : 'assets/output_xhtml.css',
37 coreStyles_bold : { element : 'span', attributes : {'class': 'Bold'} },
38 coreStyles_italic : { element : 'span', attributes : {'class': 'Italic'} },
40 // More definitions follow.
44 <!-- This <div> holds alert messages to be display in the sample page. -->
48 <strong>CKEditor requires JavaScript to run
</strong>. In a browser with no JavaScript
49 support, like yours, you should still see the contents (HTML data) and you should
50 be able to edit it normally, without a rich editor interface.
54 <form action=
"sample_posteddata.php" method=
"post">
58 <textarea cols=
"80" id=
"editor1" name=
"editor1" rows=
"10"><p
>This is some
<span
class=
"Bold">sample text
</span
>. You are using
<a
href=
"http://ckeditor.com/">CKEditor
</a
>.
</p
></textarea>
59 <script type=
"text/javascript">
62 CKEDITOR
.replace( 'editor1',
65 * Style sheet for the contents
67 contentsCss
: 'assets/output_xhtml.css',
72 coreStyles_bold
: { element
: 'span', attributes
: {'class': 'Bold'} },
73 coreStyles_italic
: { element
: 'span', attributes
: {'class': 'Italic'}},
74 coreStyles_underline
: { element
: 'span', attributes
: {'class': 'Underline'}},
75 coreStyles_strike
: { element
: 'span', attributes
: {'class': 'StrikeThrough'}, overrides
: 'strike' },
77 coreStyles_subscript
: { element
: 'span', attributes
: {'class': 'Subscript'}, overrides
: 'sub' },
78 coreStyles_superscript
: { element
: 'span', attributes
: {'class': 'Superscript'}, overrides
: 'sup' },
83 // List of fonts available in the toolbar combo. Each font definition is
84 // separated by a semi-colon (;). We are using class names here, so each font
85 // is defined by {Combo Label}/{Class Name}.
86 font_names
: 'Comic Sans MS/FontComic;Courier New/FontCourier;Times New Roman/FontTimes',
88 // Define the way font elements will be applied to the document. The "span"
89 // element will be used. When a font is selected, the font name defined in the
90 // above list is passed to this definition with the name "Font", being it
91 // injected in the "class" attribute.
92 // We must also instruct the editor to replace span elements that are used to
93 // set the font (Overrides).
97 attributes
: { 'class' : '#(family)' },
98 overrides
: [ { element
: 'span', attributes
: { 'class' : /^Font(?:Comic|Courier|Times)$/ } } ]
104 fontSize_sizes
: 'Smaller/FontSmaller;Larger/FontLarger;8pt/FontSmall;14pt/FontBig;Double Size/FontDouble',
108 attributes
: { 'class' : '#(size)' },
109 overrides
: [ { element
: 'span', attributes
: { 'class' : /^Font(?:Smaller|Larger|Small|Big|Double)$/ } } ]
115 colorButton_enableMore
: false,
117 colorButton_colors
: 'FontColor1/FF9900,FontColor2/0066CC,FontColor3/F00',
118 colorButton_foreStyle
:
121 attributes
: { 'class' : '#(color)' },
122 overrides
: [ { element
: 'span', attributes
: { 'class' : /^FontColor(?:1|2|3)$/ } } ]
125 colorButton_backStyle
:
128 attributes
: { 'class' : '#(color)BG' },
129 overrides
: [ { element
: 'span', attributes
: { 'class' : /^FontColor(?:1|2|3)BG$/ } } ]
135 indentClasses
: ['Indent1', 'Indent2', 'Indent3'],
138 * Paragraph justification.
140 justifyClasses
: [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyFull' ],
147 { name
: 'Strong Emphasis', element
: 'strong' },
148 { name
: 'Emphasis', element
: 'em' },
150 { name
: 'Computer Code', element
: 'code' },
151 { name
: 'Keyboard Phrase', element
: 'kbd' },
152 { name
: 'Sample Text', element
: 'samp' },
153 { name
: 'Variable', element
: 'var' },
155 { name
: 'Deleted Text', element
: 'del' },
156 { name
: 'Inserted Text', element
: 'ins' },
158 { name
: 'Cited Work', element
: 'cite' },
159 { name
: 'Inline Quotation', element
: 'q' }
167 <input type=
"submit" value=
"Submit" />
173 CKEditor - The text editor for the Internet -
<a class=
"samples" href=
"http://ckeditor.com/">http://ckeditor.com
</a>
176 Copyright
© 2003-
2011,
<a class=
"samples" href=
"http://cksource.com/">CKSource
</a> - Frederico
177 Knabben. All rights reserved.