Подтвердить что ты не робот

Любой текстовый редактор WYSIWYG, который не использует HTML (contenteditable или designMode), a la (новые) Документы Google?

Помимо новых Документов Google, все другие широкоформатные текстовые редакторы WYSIWYG (ckeditor, tinymce, старые Документы Google), которые я видел, основаны на contenteditable или designMode. Я лично ненавижу использование этих редакторов. Это не займет много форматирования или копирования/вставки, прежде чем весь опыт превратится в упражнение в расстройстве. Возврат внезапно начинает получать двойные интервалы, непреднамеренное форматирование вводится путем вставки из других источников HTML, отмена/повтор отмены полностью прекращается, форматирование становится мучительно трудным для управления и т.д.

Я считаю, что это одна из причин того, что Google Docs представили свой гораздо более ограниченный механизм форматирования без HTML. Есть ли там библиотека с открытым исходным кодом, которая обеспечивает нечто подобное? Спасибо заранее.

4b9b3361

Ответ 1

Вы можете начать с редактора Ace (ранее Bespin и Skywriter). Он нацелен на редактирование кода, поэтому ему не хватает форматирования и других функций, но вы можете найти полезное ядро ​​функциональности для создания богатого текстового редактора.

В действии: http://ajaxorg.github.com/ace/build/editor.html

Код: https://github.com/ajaxorg/ace

Обновление. Как указывает @theazureshadow, текущий редактор не использует canvas, как я изначально сообщал. Bespin использовал canvas, прежде чем он слился с Ace, который использует DOM. Показывая кратко под капотом, похоже, что они используют contentEditable или designMode. (Там a <textarea />, который следует за курсором и охватывает и divs, чтобы показать текст - куча пользовательских JS для соединения всех этих элементов вместе.)

Из ace.ajax.org > История:

Bespin начался как часть Лаборатории Mozilla и основывался на тег <canvas>, а Ace - это компонент редактора Cloud9 IDE и использует DOM для рендеринга.

Ответ 2

Вы правы: это намного лучше.

Есть ли библиотека с открытым исходным кодом, которая предоставляет [редактор документов, который не использует браузер для обработки редактируемого текста, вместо этого использует настраиваемую поверхность редактирования и механизм компоновки полностью на JavaScript].

Сомнительные.

Во-первых, редактор дублируется "Kix". Это не не-HTML, но он не использует contentEditable, потому что он сосет для того, что они делают, как вы упомянули. То, что он делает, сложно и громоздко, и я уверен, что для его создания потребовалось немало усилий.

Сказать, почему Google с открытым исходным кодом Kix? Это подрывает их усилия, чтобы стать вашим центром документов, и это будет означать, что они должны выполнить кучу дополнительной работы, чтобы отделить Kix от остальных документов Google таким образом, чтобы это не мешало интегрировать. Выгода? Не так много, поскольку проекты с открытым исходным кодом, спонсируемые Google, вряд ли получат поддержку в форме участия разработчиков в ее улучшении.

Как для кого-то, создающего библиотеку для этого, я сомневаюсь, что это произойдет в open source. Обычно проекты с открытым исходным кодом, которые являются значительным начинанием, являются спонсорами университета или компании, и это вряд ли в этом случае по вышеуказанным причинам. Опять же, если у разработчика есть зуд для него, там не сказано, куда он может пойти...

Ответ 3

Там HTE, к сожалению, он медленный и пропускает множество базовых функций выбора.