Принимаем вопросы от населения
Kopusha |
|
---|---|
#47262 Kort: я кстати у себя не победил error что редактор привязан к нескольким текстэреа одновременно, мне очень долго поднимать чистый текстовый котонти. Мож включи у себя на тестовом rcomm и ткни носом где включил) Added 22 seconds later: #47264 Kort: Коробочный но с сильно поменяными config Added 59 seconds later: /** * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.dtd.$removeEmpty['i'] = false; CKEDITOR.dtd.$removeEmpty['span'] = false; CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. // For complete reference see: // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html config.keystrokes = [ // copy here all keystrokes from _source/plugins/keystrokes/plugin.js // [ CKEDITOR.CTRL + 86, 'pastetext' ] //Fires new dialogue window for CTRL-C CTRL-V pasting text, remove if necessary ]; config.fillEmptyBlocks = false; config.basicEntities = false; config.autoParagraph = true;//Whether automatically create wrapping blocks around inline contents inside document body, this helps to ensure the integrality of the block enter mode. config.pasteFromWordPromptCleanup = true;//чистим копипаст с ворда config.pasteFromWordRemoveFontStyles = true;//чистим копипаст с ворда config.forcePasteAsPlainText = true;//чистим копипаст config.ignoreEmptyParagraph = true;//Whether the editor must output an empty value ("") if it's contents is made by an empty paragraph only. config.removeFormatAttributes = true;//A comma separated list of elements attributes to be removed when executing the "remove format" command config.toolbar = 'Full'; config.extraPlugins = 'wordcount,more,emojione,print,oembed,widget,syntaxhighlight,specialchar,mentions,codemirror'; //config.extraPlugins = 'wordcount,more,oembed,syntaxhighlight,codemirror,emojione'; config.wordcount = { // Whether or not you want to show the Paragraphs Count showParagraphs: true, // Whether or not you want to show the Word Count showWordCount: true, // Whether or not you want to show the Char Count showCharCount: true, // Whether or not you want to count Spaces as Chars countSpacesAsChars: false, // Whether or not to include Html chars in the Char Count countHTML: false, // Maximum allowed Word Count, -1 is default for unlimited maxWordCount: -1, // Maximum allowed Char Count, -1 is default for unlimited maxCharCount: -1, // Add filter to add or remove element before counting (see CKEDITOR.htmlParser.filter), Default value : null (no filter) filter: new CKEDITOR.htmlParser.filter({ elements: { div: function( element ) { if(element.attributes.class == 'mediaembed') { return false; } } } }) }; CKEDITOR.on( 'dialogDefinition', function( ev ) { // Take the dialog name and its definition from the event data. var dialogName = ev.data.name; var dialogDefinition = ev.data.definition; // Check if the definition is from the dialog we're // interested in (the 'link' dialog). //if ( dialogName == 'link' ) //{ //dialogDefinition.getContents('info').get('protocol')['items'].splice(4, 1); //} if (dialogName == 'link') { var protocolField = dialogDefinition.getContents('info').get('protocol'); var items = protocolField['items']; protocolField['items'] = items.slice(0, 2); // Оставляем только первые две опции } }); config.removePlugins = 'contextmenu,tabletools';//убирает всплывающее копипейстменю в андроиде //config.allowedContent = true; // disable ACF config.allowedContent = false; // disable ACF// судя по всему отключает вообще фильтрацию вводимого config.extraAllowedContent = 'span(*); a[!href, class](*); figure(*); figcaption(*); div(*); h2(*); h3(*); p[data-pullquote]'; config.disallowedContent = '*[on*]'; //SCAYT conf config.scayt_autoStartup = true; config.scayt_sLang = 'auto'; var bodyElement = document.body; var langValue = bodyElement.getAttribute('data-lang'); if (langValue === 'ru') { config.scayt_autoStartup = false; config.language = 'ru'; } else if (langValue === 'ua') { config.scayt_sLang = 'uk_UA'; config.language = 'uk'; } else { config.scayt_sLang = 'en_US'; config.language = 'en'; } config.scayt_minWordLength = 5; config.scayt_handleCheckDirty = false; config.scayt_handleUndoRedo = false; //config.disableNativeSpellChecker = false; config.scayt_ignoreAllCapsWords =true; config.scayt_ignoreDomainNames =true; config.scayt_ignoreWordsWithMixedCases =true; config.scayt_ignoreWordsWithNumbers =true; //config.scayt_disableOptionsStorage = 'all'; config.scayt_uiTabs ='0,1,0'; //mentions conf config.mentions = [ { marker: '@', minChars: 4, feed: '/index.php?r=autocomplete&cke=1&q={encodedQuery}', itemTemplate: '<li data-id="{id}"><img src="{avatar}" height="20" width="20" alt="{name}"> {name}</li>', //outputTemplate: '<a class="alpha-user__avatar" href="https://photo.travel/ru/users/{id}?m=details"><img src="{avatar}" height="20" width="20" alt="{name}"></a><a class="alpha-user__link" href="https://photo.travel/ru/users/{id}?m=details">{name}</a> ' //itemTemplate: '<li data-id="{id}">{name}</li>', outputTemplate: '<a class="alpha-user__link" target="_blank" href="https://photo.travel/ru/users/{id}?m=details">{name}</a> ' }, { marker: '#', minChars: 3, feed: '/index.php?r=tags&cke=1&q={encodedQuery}', itemTemplate: '<li data-id="{id}">{tag}</li>', outputTemplate: '<a class="alpha-tag__link" target="_blank" href="https://photo.travel/ru/users/{id}?m=details">{tag}</a> ' } ]; // CKEditor toolbar sets for Cotonti config.toolbar_Full = [ ['Source','Maximize'], ['Cut','Copy','PasteText'], ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], ['Image','HorizontalRule'], ['Print','Preview','Scayt','Table','oembed','SpecialChar','Syntaxhighlight'], '/', ['Bold','Italic','Underline','Strike'], ['NumberedList','BulletedList','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['Link','Unlink'], ['Styles','Format'], ['Emojione'], ['TextColor','BGColor'] ]; config.toolbar_Medium = [ ['Bold','Italic','Underline','Strike'], ['NumberedList','BulletedList','-','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['Image','Link','Unlink','HorizontalRule'], ['TextColor','BGColor'], ['SelectAll','Cut','Copy','PasteText'], ['Undo','Redo'],['Source'] ]; config.toolbar_Basic = [ ['Bold','Italic','Underline','Strike','Emojione','-','NumberedList','BulletedList'],['Undo','Redo','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['Link','Unlink'],['Format'],['HorizontalRule','Maximize'] ]; config.toolbar_Comments = [ ['Bold','Italic','Underline','Strike','Emojione','-','NumberedList','BulletedList'],['Source','Maximize'] ]; // /CKEditor toolbar sets for Cotonti // The toolbar groups arrangement, optimized for two toolbar rows. // Example // config.toolbarGroups = [ // { name: 'clipboard', groups: [ 'clipboard', 'undo' ] }, // { name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] }, // { name: 'links' }, // { name: 'insert' }, // { name: 'forms' }, // { name: 'tools' }, // { name: 'document', groups: [ 'mode', 'document', 'doctools' ] }, // { name: 'others' }, // '/', // { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] }, // { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] }, // { name: 'styles' }, // { name: 'colors' }, // { name: 'about' } // ]; // Remove some buttons provided by the standard plugins, which are // not needed in the Standard(s) toolbar. //config.removeButtons = 'Underline,Subscript,Superscript'; // Set the most common block elements. config.format_tags = 'h2;h3;h4;h5'; // Simplify the dialog windows. config.removeDialogTabs = 'image:advanced;link:advanced'; };
|