bdce9656d30c5d280e36220ac6dbb1343e73088c.svn-base 6.38 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>XHTML Compliant Output &mdash; CKEditor Sample</title>
	<meta content="text/html; charset=utf-8" http-equiv="content-type" />
	<script type="text/javascript" src="../ckeditor.js"></script>
	<script src="sample.js" type="text/javascript"></script>
	<link href="sample.css" rel="stylesheet" type="text/css" />
</head>
<body>
	<h1 class="samples">
		CKEditor Sample &mdash; Producing XHTML Compliant Output
	</h1>
	<div class="description">
	<p>
		This sample shows how to configure CKEditor to output valid
		<a class="samples" href="http://www.w3.org/TR/xhtml11/">XHTML 1.1</a> code.
		Deprecated elements (<code>&lt;font&gt;</code>, <code>&lt;u&gt;</code>) or attributes
		(<code>size</code>, <code>face</code>) will be replaced with XHTML compliant code.
	</p>
	<p>
		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.
	</p>
	<p>
		A snippet of the configuration code can be seen below; check the source of this page for
		full definition:
	</p>
	<pre class="samples">CKEDITOR.replace( '<em>textarea_id</em>',
	{
		contentsCss : 'assets/output_xhtml.css',

		coreStyles_bold	: { element : 'span', attributes : {'class': 'Bold'} },
		coreStyles_italic : { element : 'span', attributes : {'class': 'Italic'} },

		// More definitions follow.
	});</pre>
	</div>

	<!-- This <div> holds alert messages to be display in the sample page. -->
	<div id="alerts">
		<noscript>
			<p>
				<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
				support, like yours, you should still see the contents (HTML data) and you should
				be able to edit it normally, without a rich editor interface.
			</p>
		</noscript>
	</div>
	<form action="sample_posteddata.php" method="post">
		<p>
			<label for="editor1">
				Editor 1:</label>
			<textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;span class="Bold"&gt;sample text&lt;/span&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>
			<script type="text/javascript">
			//<![CDATA[

				CKEDITOR.replace( 'editor1',
					{
						/*
						 * Style sheet for the contents
						 */
						contentsCss : 'assets/output_xhtml.css',

						/*
						 * Core styles.
						 */
						coreStyles_bold	: { element : 'span', attributes : {'class': 'Bold'} },
						coreStyles_italic	: { element : 'span', attributes : {'class': 'Italic'}},
						coreStyles_underline	: { element : 'span', attributes : {'class': 'Underline'}},
						coreStyles_strike	: { element : 'span', attributes : {'class': 'StrikeThrough'}, overrides : 'strike' },

						coreStyles_subscript : { element : 'span', attributes : {'class': 'Subscript'}, overrides : 'sub' },
						coreStyles_superscript : { element : 'span', attributes : {'class': 'Superscript'}, overrides : 'sup' },

						/*
						 * Font face
						 */
						// List of fonts available in the toolbar combo. Each font definition is
						// separated by a semi-colon (;). We are using class names here, so each font
						// is defined by {Combo Label}/{Class Name}.
						font_names : 'Comic Sans MS/FontComic;Courier New/FontCourier;Times New Roman/FontTimes',

						// Define the way font elements will be applied to the document. The "span"
						// element will be used. When a font is selected, the font name defined in the
						// above list is passed to this definition with the name "Font", being it
						// injected in the "class" attribute.
						// We must also instruct the editor to replace span elements that are used to
						// set the font (Overrides).
						font_style :
						{
								element		: 'span',
								attributes		: { 'class' : '#(family)' },
								overrides	: [ { element : 'span', attributes : { 'class' : /^Font(?:Comic|Courier|Times)$/ } } ]
						},

						/*
						 * Font sizes.
						 */
						fontSize_sizes : 'Smaller/FontSmaller;Larger/FontLarger;8pt/FontSmall;14pt/FontBig;Double Size/FontDouble',
						fontSize_style :
							{
								element		: 'span',
								attributes	: { 'class' : '#(size)' },
								overrides	: [ { element : 'span', attributes : { 'class' : /^Font(?:Smaller|Larger|Small|Big|Double)$/ } } ]
							} ,

						/*
						 * Font colors.
						 */
						colorButton_enableMore : false,

						colorButton_colors : 'FontColor1/FF9900,FontColor2/0066CC,FontColor3/F00',
						colorButton_foreStyle :
							{
								element : 'span',
								attributes : { 'class' : '#(color)' },
								overrides	: [ { element : 'span', attributes : { 'class' : /^FontColor(?:1|2|3)$/ } } ]
							},

						colorButton_backStyle :
							{
								element : 'span',
								attributes : { 'class' : '#(color)BG' },
								overrides	: [ { element : 'span', attributes : { 'class' : /^FontColor(?:1|2|3)BG$/ } } ]
							},

						/*
						 * Indentation.
						 */
						indentClasses : ['Indent1', 'Indent2', 'Indent3'],

						/*
						 * Paragraph justification.
						 */
						justifyClasses : [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyFull' ],

						/*
						 * Styles combo.
						 */
						stylesSet :
								[
									{ name : 'Strong Emphasis', element : 'strong' },
									{ name : 'Emphasis', element : 'em' },

									{ name : 'Computer Code', element : 'code' },
									{ name : 'Keyboard Phrase', element : 'kbd' },
									{ name : 'Sample Text', element : 'samp' },
									{ name : 'Variable', element : 'var' },

									{ name : 'Deleted Text', element : 'del' },
									{ name : 'Inserted Text', element : 'ins' },

									{ name : 'Cited Work', element : 'cite' },
									{ name : 'Inline Quotation', element : 'q' }
								]

					});
			//]]>
			</script>
		</p>
		<p>
			<input type="submit" value="Submit" />
		</p>
	</form>
	<div id="footer">
		<hr />
		<p>
			CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a>
		</p>
		<p id="copy">
			Copyright &copy; 2003-2012, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico
			Knabben. All rights reserved.
		</p>
	</div>
</body>
</html>