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

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

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


person Yang    schedule 07.01.2011    source источник
comment
Ха, кто-то извлек (запутанный) код и разместил рабочую версию Kix на github: github.com / benjamn / kix-standalone (источник: stackoverflow.com/questions/3315520/)   -  person Idris Mokhtarzada    schedule 17.02.2011
comment
Я только что наткнулся на это сообщение в блоге (bergie.iki.fi/blog/), в котором упоминается Редактор Aloha (aloha-editor.org). Я считаю, что он использует contentEditable, но похоже, они отходят от этого? Стоит взглянуть.   -  person Idris Mokhtarzada    schedule 04.03.2011
comment
Обратитесь к ответу на странице [stackoverflow.com/questions/4358901/ [1]: stackoverflow.com/questions/4358901/   -  person 12345    schedule 09.03.2012
comment
см. также stackoverflow.com/questions/491790/   -  person Ian Ringrose    schedule 26.10.2012
comment
Во многих отношениях наименее плохой редактор, который я использовал на веб-сайтах, - это редактор разметки в stackoverflow, однако это не WYSIWYG, возможно, WYSIWYG - это скорее часть проблемы, а затем решение ...   -  person Ian Ringrose    schedule 26.10.2012


Ответы (3)


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

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

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

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

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

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

person peteorpeter    schedule 23.02.2011
comment
Редактор Ace в настоящее время не использует холст. Не знаю, было ли это когда-нибудь. Чтобы подтвердить это, используйте эти команды в веб-инспекторе document.querySelectorAll('.ace_line') и document.querySelectorAll('canvas') по URL-адресу: ace. ajax.org/build/kitchen-sink.html - person theazureshadow; 21.02.2012
comment
@theazureshadow - Действительно, похоже, что моя информация устарела. Я обновил ответ - спасибо за откровенность! - person peteorpeter; 22.02.2012
comment
Хорошие ответы должны быть хорошими! :) - person theazureshadow; 22.02.2012
comment
Я просто хочу отметить, что редактор Ace построен на моноширинных шрифтах. Моноширинные шрифты - это все, что вам нужно для редактора кода, но для редактора форматированного текста общего назначения потребуются шрифты переменной ширины, а это значительно повысит сложность. - person Michael Bylstra; 11.11.2012

Вы правы: это намного приятнее.

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

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

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

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

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

person coreyward    schedule 07.01.2011
comment
Меня смущает твой ответ. Я никогда не говорил, что, по моему мнению, у Google есть веские причины для открытия Kix с открытым исходным кодом. Я также не предполагал, что считаю, что реализация с открытым исходным кодом обязательно должна существовать. Я просто спрашивал, возможно ли что-то существует. Не поймите меня неправильно - я не удивлюсь, если это не так. - person Yang; 08.01.2011
comment
Я решил, что вместо того, чтобы дать короткое и невыразительное «нет», я приведу несколько аргументов в пользу того, почему я не думаю, что он будет. Я не предполагал, что вы думали, что он обязательно должен существовать, поэтому приношу свои извинения, если мой ответ пришел, что я существовал. - person coreyward; 08.01.2011
comment
Если в ближайшем будущем не появится серьезный соперник, лучше всего будет попытаться исправить существующий редактор. TinyMCE становится лучше с каждым выпуском, и его очень легко настраивать. Моя основная проблема с contenteditable - это отсутствие интереса со стороны участников Webkit к исправлению недостатков, влияющих на contenteditable + webkit. - person Andy Baker; 04.02.2011

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

person Arne    schedule 06.08.2012