Created
December 9, 2014 20:58
-
-
Save reubenmoes/02a94fa373123fa225da to your computer and use it in GitHub Desktop.
Example ckeditor.config.js that forces image height/width
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. | |
For licensing, see LICENSE.html or http://ckeditor.com/license | |
*/ | |
/* | |
WARNING: clear browser's cache after you modify this file. | |
If you don't do this, you may notice that browser is ignoring all your changes. | |
*/ | |
CKEDITOR.editorConfig = function(config) { | |
config.indentClasses = [ 'rteindent1', 'rteindent2', 'rteindent3', 'rteindent4' ]; | |
// [ Left, Center, Right, Justified ] | |
config.justifyClasses = [ 'rteleft', 'rtecenter', 'rteright', 'rtejustify' ]; | |
// The minimum editor width, in pixels, when resizing it with the resize handle. | |
config.resize_minWidth = 450; | |
// Protect PHP code tags (<?...?>) so CKEditor will not break them when | |
// switching from Source to WYSIWYG. | |
// Uncommenting this line doesn't mean the user will not be able to type PHP | |
// code in the source. This kind of prevention must be done in the server | |
// side | |
// (as does Drupal), so just leave this line as is. | |
config.protectedSource.push(/<\?[\s\S]*?\?>/g); // PHP Code | |
config.protectedSource.push(/<code>[\s\S]*?<\/code>/gi); // Code tags | |
config.extraPlugins = ''; | |
/* | |
* Append here extra CSS rules that should be applied into the editing area. | |
* Example: | |
* config.extraCss = 'body {color:#FF0000;}'; | |
*/ | |
config.extraCss = ''; | |
/** | |
* Sample extraCss code for the "marinelli" theme. | |
*/ | |
if (Drupal.settings.ckeditor.theme == "marinelli") { | |
config.extraCss += "body{background:#FFF;text-align:left;font-size:0.8em;}"; | |
config.extraCss += "#primary ol, #primary ul{margin:10px 0 10px 25px;}"; | |
} | |
if (Drupal.settings.ckeditor.theme == "newsflash") { | |
config.extraCss = "body{min-width:400px}"; | |
} | |
/** | |
* CKEditor's editing area body ID & class. | |
* See http://drupal.ckeditor.com/tricks | |
* This setting can be used if CKEditor does not work well with your theme by default. | |
*/ | |
config.bodyClass = ''; | |
config.bodyId = ''; | |
/** | |
* Sample bodyClass and BodyId for the "marinelli" theme. | |
*/ | |
if (Drupal.settings.ckeditor.theme == "marinelli") { | |
config.bodyClass = 'singlepage'; | |
config.bodyId = 'primary'; | |
} | |
CKEDITOR.on( 'instanceReady', function( ev ) | |
{ | |
var editor = ev.editor, | |
dataProcessor = editor.dataProcessor, | |
htmlFilter = dataProcessor && dataProcessor.htmlFilter; | |
// Output properties as attributes, not styles. | |
htmlFilter.addRules( | |
{ | |
elements : | |
{ | |
$ : function( element ) | |
{ | |
// Output dimensions of images as width and height | |
if ( element.name == 'img' ) | |
{ | |
var style = element.attributes.style; | |
if ( style ) | |
{ | |
// Get the width from the style. | |
var match = /(?:^|\s)width\s*:\s*(\d+)px/i.exec( style ), | |
width = match && match[1]; | |
// Get the height from the style. | |
match = /(?:^|\s)height\s*:\s*(\d+)px/i.exec( style ); | |
var height = match && match[1]; | |
if ( width ) | |
{ | |
element.attributes.style = element.attributes.style.replace( /(?:^|\s)width\s*:\s*(\d+)px;?/i , '' ); | |
element.attributes.width = width; | |
} | |
if ( height ) | |
{ | |
element.attributes.style = element.attributes.style.replace( /(?:^|\s)height\s*:\s*(\d+)px;?/i , '' ); | |
element.attributes.height = height; | |
} | |
} | |
} | |
if ( !element.attributes.style ) | |
delete element.attributes.style; | |
return element; | |
} | |
} | |
}); | |
}); | |
} | |
/* | |
* Sample toolbars | |
*/ | |
//Toolbar definition for basic buttons | |
Drupal.settings.cke_toolbar_DrupalBasic = [ [ 'Format', 'Bold', 'Italic', '-', 'NumberedList','BulletedList', '-', 'Link', 'Unlink', 'Image' ] ]; | |
//Toolbar definition for Advanced buttons | |
Drupal.settings.cke_toolbar_DrupalAdvanced = [ | |
['Source'], | |
['Cut','Copy','Paste','PasteText','PasteFromWord','-','SpellChecker', 'Scayt'], | |
['Undo','Redo','Find','Replace','-','SelectAll','RemoveFormat'], | |
['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar'], | |
['Maximize', 'ShowBlocks'], | |
'/', | |
['Format'], | |
['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], | |
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], | |
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiRtl','BidiLtr'], | |
['Link','Unlink','Anchor','Linkit','LinkToNode','LinkToMenu'], | |
['DrupalBreak', 'DrupalPageBreak'] | |
]; | |
// Toolbar definiton for all buttons | |
Drupal.settings.cke_toolbar_DrupalFull = [ | |
['Source'], | |
['Cut','Copy','Paste','PasteText','PasteFromWord','-','SpellChecker', 'Scayt'], | |
['Undo','Redo','Find','Replace','-','SelectAll','RemoveFormat'], | |
['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','Iframe'], | |
'/', | |
['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], | |
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'], | |
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiRtl','BidiLtr'], | |
['Link','Unlink','Anchor','Linkit','LinkToNode', 'LinkToMenu'], | |
'/', | |
['Format','Font','FontSize'], | |
['TextColor','BGColor'], | |
['Maximize', 'ShowBlocks'], | |
['DrupalBreak', 'DrupalPageBreak'] | |
]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment