Comments 12
Здорово и полезно, но в случае если вам реально нужно будет сделать редактор, мой совет это editor.js он жутко удобный, вроде бы habr его же и использует, да и на notion он очень сильно похож
Вот такие фронтэндеры реально крутые!
Теперь вижу сколько усилий требуется чтобы иметь условный Code Mirror js…
Когда речь шла о нескольких выделенных блоках -- это только про div-ы? Потому что для редактора будет удобно использовать мультивыделение, которое, как я понял, нестандартно и есть только в Firefox (ctrl+click, очень удобно с таблицами).
Я не пробовал, но должно работать и с мультивыделением. Просто в Selection сразу будет несколько Range. Можно в консоли быстренько проверить примерно так:let selection = document.getSelection();
for (let i = 0; i < selection.rangeCount; i++) {
console.log(selection.getRangeAt(i).toString()));
}
У меня Firefox нет, если получится, расскажите)
А зачем снова писать quill, lexical и пр.? )
Ох, какой замечательный велосипед в хорошем смысле этого слова, вспоминается один из моих первых проектов - текстовый редактор по типу wordpad на visual basic, тогда тоже много возился с форматированием документа
Единственное, что хочется отметить, так это то, что сейчас Markdown является более модным, нежели хранение и редактирование html, хотя, в вашем случае можно делать преобразование в самом браузере при загрузке документа и при его сохранениии.
Для себя в качестве альтернативы Notion выбрал Obsidian - тут тоже есть многие фишки и при этом полностью локальное и независимое хранение заметок с возможностью синхронизации между устройствами.
В коде перед заключением range нужно заменить на mergedRange
Как мне взбрело в голову свой Notion-like редактор написать