Инструменты пользователя

Инструменты сайта


software:development:web:docs:web:wysiwyg:nicedit

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
software:development:web:docs:web:wysiwyg:nicedit [2026/01/07 15:04] – [XHTML Compliant Output] VladPolskiysoftware:development:web:docs:web:wysiwyg:nicedit [2026/01/07 16:02] (текущий) – [Дополнения и Файлы] VladPolskiy
Строка 144: Строка 144:
 <code js script.js> <code js script.js>
 tidy_repair_string( tidy_repair_string(
-                         $_POST['body'],+         $_POST['body'], 
 +            array( 
 +                'show-body-only' => true, 
 +                'doctype' => '-//W3C//DTD XHTML 1.0 Transitional//EN', 
 +                'output-xhtml' => true 
 +                  ) 
 +); 
 +</code> 
 +===== Customization ===== 
 +==== Developing with NicEdit ==== 
 +Разработка дополнительных плагинов и внесение других изменений в исходный код NicEdit не представляет сложности. 
 +== Ознакомьтесь с кодом.== 
 +Сначала получите копию исходного кода, клонировав репозиторий NicEdit из SVN.
  
-                         множество(+svn co http://svn.nicedit.com/trunk src 
 +== Используйте Кодекс разработки == 
 +Для использования NicEdit с набором отдельных JavaScript-файлов для разработки вам потребуется включить их в раздел <head> создаваемой вами тестовой страницы. Вот пример для начала работы. 
 +<code php index.html>
  
-                                   'show-body-only' => true,+<html> 
 +<head> 
 +  
 +<script src="src/nicCore/bkLib.js" type="text/javascript"></script> 
 +<script src="src/nicCore/nicConfig.js" type="text/javascript"></script> 
 +<script src="src/nicCore/nicCore.js" type="text/javascript"></script> 
 +<script src="src/nicCore/nicInstance.js" type="text/javascript"></script> 
 +<script src="src/nicCore/nicIFrameInstance.js" type="text/javascript"></script> 
 +<script src="src/nicCore/nicPanel.js" type="text/javascript"></script> 
 +<script src="src/nicCore/nicButton.js" type="text/javascript"></script> 
 +<script src="src/nicCore/nicPlugin.js" type="text/javascript"></script> 
 +<script src="src/nicPane/nicPane.js" type="text/javascript"></script> 
 +<script src="src/nicSelect/nicSelect.js" type="text/javascript"></script> 
 +<script src="src/nicButtonTips/nicButtonTips.js" type="text/javascript"></script> 
 +<script src="src/nicAdvancedButton/nicAdvancedButton.js" type="text/javascript"></script> 
 +  
 +  
 +<script src="src/nicLink/nicLink.js" type="text/javascript"></script> 
 +<script src="src/nicImage/nicImage.js" type="text/javascript"></script> 
 +<script src="src/nicCode/nicCode.js" type="text/javascript"></script> 
 +<script src="src/nicColors/nicColors.js" type="text/javascript"></script> 
 +  
 +<script src="src/nicXHTML/nicXHTML.js" type="text/javascript"></script> 
 +<script src="src/nicBBCode/nicBBCode.js" type="text/javascript"></script> 
 +  
 +  
 +</head> 
 +<body> 
 +  
 +<textarea style="width: 400px; height: 150px;" id="myArea2"> 
 +This is some TEST CONTENT 
 +</textarea> 
 +  
 +<script> 
 +bkLib.onDomLoaded(function(){ 
 +  var myInstance = new nicEditor().panelInstance('myArea2'); 
 +}); 
 +</script> 
 +  
 +</body
 +</html> 
 +</code> 
 +==== Creating a Plugin ==== 
 +Добавить плагин/кнопки в NiceDit несложно. Сначала убедитесь, что вы настроили свою [[nicedit#Developing with NicEdit|среду разработки]], а затем выполните следующие шаги: 
 +  Создайте новую папку для вашего плагина в каталоге src/, в этом примере я использовал nicExample. 
 +  - Создайте файл с тем же именем в папке src/nicExample/nicExample.js 
 +  - Вы можете использовать приведенный ниже код в качестве отправной точки для вашего плагина. 
 +<code js script.js> 
 +/** 
 +* nicExample 
 +* @description: An example button plugin for nicEdit 
 +* @requires: nicCore, nicPane, nicAdvancedButton 
 +* @author: Brian Kirchoff 
 +* @version: 0.9.0 
 +*/ 
 +  
 +/* START CONFIG */ 
 +var nicExampleOptions = { 
 +    buttons : { 
 +        'example' : {name : __('Some alt text for the button'), type : 'nicEditorExampleButton'
 +    }/* NICEDIT_REMOVE_START */,iconFiles : {'example' : 'src/nicExample/icons/save.gif'}/* NICEDIT_REMOVE_END */ 
 +}; 
 +/* END CONFIG */ 
 +  
 +var nicEditorExampleButton nicEditorButton.extend({    
 +  mouseClick : function() { 
 +    alert('The example save button icon has been clicked!'); 
 +  } 
 +}); 
 +  
 +nicEditors.registerPlugin(nicPlugin,nicExampleOptions); 
 +Car Shipping 
 +</code> 
 +  * Скопируйте и вставьте код в свой JS-файл. 
 +  * Создайте папку icons в папке вашего плагина (напримерsrc/nicExample/icons) и поместите туда свои иконки (в данном случае  {{:software:development:web:docs:web:wysiwyg:save_buttom_nicedit.gif?|save.gif}}).
  
-                                   'doctype' => '-//W3C//DTD XHTML 1.0 Transitional//EN',+== Чтобы объяснить различные части примера: == 
 +<code php> 
 +/** 
 +* nicExample 
 +* @description: Пример плагина кнопок для nicEdit 
 +* @requires: nicCore, nicPane, nicAdvancedButton 
 +* @автор: Брайан Кирхофф 
 +* @version: 0.9.0 
 +*/ 
 +</code> 
 +Это специальный блок комментариевиспользуемый скриптами сжатия nicEdit, и он должен присутствовать в каждом плагине, который необходимо включить в загрузчик.
  
-                                   'output-xhtml=true+Большинство полей понятны. Параметр @requires должен указывать, какие плагины являются зависимостями для вашего плагина (используется конфигуратором загрузки). 
 +<code php> 
 +/* НАЧАЛО КОНФИГУРАЦИИ */ 
 +var nicExampleOptions = { 
 +    кнопки:
 +        'example: {name : __('Некоторый альтернативный текст для кнопки'), type : 'nicEditorExampleButton'
 +    }/* NICEDIT_REMOVE_START */,iconFiles : {'example' : 'src/nicExample/icons/save.gif'}/* NICEDIT_REMOVE_END */ 
 +}; 
 +/* КОНЕЦ КОНФИГУРАЦИИ */ 
 +</code> 
 +В разделе config вы настраиваете конфигурацию кнопок для вашего плагина. Параметр 'type' в объекте buttons указывает конкретный класс, который будет использоваться (по умолчанию это будет nicButton), куда вы поместите код ваших кнопок.  
 +<code php> 
 +/* NICEDIT_REMOVE_START */ 
 +</code> 
 +Блоки удаляются из выходных данных скриптами сборки.
  
-                         ) +В поле iconFiles следует указывать относительное местоположение отдельных значков кнопок в формате GIF, находящихся в разработке. В данном случае значение ключа 'example' и элемент iconFiles с указанным путем должны совпадать. 
- +<code php> 
-);+/* НАЧАЛО КОНФИГУРАЦИИ */
 </code> </code>
-===== Customization ===== +Используется только для предотвращения сжатия пробелов в разделах конфигурации скриптом сборки. 
-==== Developing with NicEdit ==== +<code js script.js> 
-==== Creating a Plugin ====+var nicEditorExampleButton nicEditorButton.extend({    
 +  mouseClick : function() { 
 +    alert('Пример значка кнопки сохранения был нажат!'); 
 +  } 
 +}); 
 +</code> 
 +Это класс, который определяет вашу кнопку; в данном случае мы переопределяем метод ''mouseClick()'' для обработки нажатия кнопки. 
 + 
 +''Существует также класс nicEditorAdvancedButton'', который могут использовать кнопки плагинов, которым требуется, чтобы функциональность панели имела форму (см. src/nicLink/nicLink.js) для примера того, как это можно сделать. 
 +\\   
 +''nicEditors.registerPlugin(nicPlugin,nicExampleOptions);'' 
 +\\   
 +Это зарегистрирует ваш плагин, чтобы все новые созданные экземпляры могли его использовать (убедитесь, что вы используете ''{fullPanel : true}'' или задаете buttonList с идентификатором кнопки, в данном случае 'example'), и вы сможете увидеть свою новую кнопку на панели инструментов nicEdit. 
 +== Вскоре: == 
 +- Как использовать скрипты сборки для упаковки вашего плагина (а не просто запускать его как отдельный JS-файл) после того, как он заработает (пока что напишите мне на почту или опубликуйте свой плагин на форуме, если он окажется полезным, я даже включу его в официальный загрузчик Nicedit). 
 ==== Integration with NicEdit events ==== ==== Integration with NicEdit events ====
 + Ядро nicEdit отправляет несколько внутренних событий, которые можно использовать в плагинах и в вашем собственном JavaScript при расширенной интеграции редактора в ваши веб-сайты.
 +|blur|Отправляется, когда экземпляр редактора теряет фокус.|
 +|focus|Отправлять, когда редактор получает фокус (то есть, когда кто-то щелкает внутри него).|
 +|key|Когда пользователь нажимает сочетание клавиш (например, Ctrl+B).|
 +|add|Событие срабатывает при добавлении нового экземпляра.|
 +|panel| Событие срабатывает при инициализации панели инструментов для новых экземпляров (это предпочтительное событие, если вы хотите добавить функцию при создании экземпляров NicEdit).|
 +
 +Для привязки функций к внутренним событиям NicEdit используйте метод ''addEvent'' объекта nicInstance.
 +\\  
 +''[some nicedit instance].addEvent([event name], [callback function]);''
 +\\  
 +События также часто используются для того, чтобы сообщить о завершении загрузки редактора.
 +<code js script.js>
 +bkLib.onDomLoaded(function(){
 +  var myEditor = new nicEditor({fullPanel : true }).panelInstance('myArea2');
 +  myEditor.addEvent('add', function() {
 +    alert( myEditor.instanceById('myArea2').getContent() );
 +  });
 +});
 +</code>
 +Ещё один пример использования событий для определения момента размытия изображения в редакторе.
 +<code js script.js>
 +<script>
 +bkLib.onDomLoaded(function(){
 +  var myInstance = new nicEditor().panelInstance('myArea2');
 +  myInstance.addEvent('blur', function() {
 +    // Your code here that is called whenever the user blurs (stops editing) the nicedit instance
 +  });
 +});
 +</script>
 +</code>
 ==== How to translate nicEdit (with Spanish example) ==== ==== How to translate nicEdit (with Spanish example) ====
 +  * Скачать версию для разработчиков
 +  * Откройте файл nicEdit.js
 +  * Перейдите к этим нескольким строкам и отредактируйте текст справки, например, перевод на испанский будет выглядеть так:
 +== Примерно строка 252: ==
 +<code js script.js>
 +var nicEditorConfig = bkClass.extend({
 +    buttons : {
 +        'bold' : {name : __('Negrita'), command : 'Bold', tags : ['B','STRONG'], css : {'font-weight' : 'bold'}, key : 'b'},
 +        'italic' : {name : __('Cursiva'), command : 'Italic', tags : ['EM','I'], css : {'font-style' : 'italic'}, key : 'i'},
 +        'underline' : {name : __('Subrayado'), command : 'Underline', tags : ['U'], css : {'text-decoration' : 'underline'}, key : 'u'},
 +        'left' : {name : __('Alinear texto a la izquierda'), command : 'justifyleft', noActive : true},
 +        'center' : {name : __('Centrar texto'), command : 'justifycenter', noActive : true},
 +        'right' : {name : __('Alinear texto a la derecha'), command : 'justifyright', noActive : true},
 +        'justify' : {name : __('Justificar texto'), command : 'justifyfull', noActive : true},
 +        'ol' : {name : __('Insertar lista ordenada'), command : 'insertorderedlist', tags : ['OL']},
 +        'ul' :     {name : __('Insertar lista desordenada'), command : 'insertunorderedlist', tags : ['UL']},
 +        'subscript' : {name : __('SubIndice'), command : 'subscript', tags : ['SUB']},
 +        'superscript' : {name : __('SuperIndice'), command : 'superscript', tags : ['SUP']},
 +        'strikethrough' : {name : __('Tachar'), command : 'strikeThrough', css : {'text-decoration' : 'line-through'}},
 +        'removeformat' : {name : __('Borrar formato'), command : 'removeformat', noActive : true},
 +        'indent' : {name : __('Identar'), command : 'indent', noActive : true},
 +        'outdent' : {name : __('Eliminar identado'), command : 'outdent', noActive : true},
 +        'hr' : {name : __('Barra separadora'), command : 'insertHorizontalRule', noActive : true}
 +</code>
 +== Примерно строка 1046: ==
 +<code js script.js>
 +var nicLinkOptions = {
 +    buttons : {
 +        'link' : {name : 'Enlazar', type : 'nicLinkButton', tags : ['A']},
 +        'unlink' : {name : 'Eliminar enlace',  command : 'unlink', noActive : true}
 +    }
 +</code>
 +== Примерно строка 1120: ==
 +<code js script.js>
 +var nicCodeOptions = {
 +    buttons : {
 +        'xhtml' : {name : 'Visualizar HTML', type : 'nicCodeButton'}
 +    }
 +};
 +</code>
 +== Примерно строка 1131: ==
 +<code js script.js>
 +    addPane : function() {
 +        this.addForm({
 +            '' : {type : 'title', txt : 'Editar HTML'},
 +            'code' : {type : 'content', 'value' : this.ne.selectedInstance.getContent(), style : {width: '340px', height : '200px'}}
 +        });
 +    },
 +</code>
 ===== Дополнения и Файлы ===== ===== Дополнения и Файлы =====
   * {{ :software:development:web:docs:web:wysiwyg:nicedit-5861cebf02e167b2cc8ca4672c3a478d.zip |Сжатый NicEdit (без пробелов и комментариев). Рекомендуется для развертывания NicEdit.}}   * {{ :software:development:web:docs:web:wysiwyg:nicedit-5861cebf02e167b2cc8ca4672c3a478d.zip |Сжатый NicEdit (без пробелов и комментариев). Рекомендуется для развертывания NicEdit.}}
   * {{ :software:development:web:docs:web:wysiwyg:nicedit-4ad98f51fafd99ef01e4eff35af7c570.zip |Несжатая версия NicEdit для разработки. Используйте её только для отладки или разработки NicEdit.}}   * {{ :software:development:web:docs:web:wysiwyg:nicedit-4ad98f51fafd99ef01e4eff35af7c570.zip |Несжатая версия NicEdit для разработки. Используйте её только для отладки или разработки NicEdit.}}
 +  * {{:software:development:web:docs:web:wysiwyg:ajax-loader.gif?|}}
 +  * [[nicedit_nicedit_latest_js|nicEdit-latest.js]]
 +  * [[nicedit_nicedit_js_n|nicEdit.js]]
 +  * {{:software:development:web:docs:web:wysiwyg:nicediticons-latest.gif?|nicEditIcons-latest.gif}}
 +  * {{:software:development:web:docs:web:wysiwyg:niceditoricons_1_.gif?|nicEditorIcons.gif}}
  
  
software/development/web/docs/web/wysiwyg/nicedit.1767787445.txt.gz · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki