masterspammer (masterspammer) wrote,
masterspammer
masterspammer

Categories:

Редактор - разбор полётов

Откопал старый полунаписанный редактор - разброд, работает не всё, но многое. Итак, есть:

1. заголовки, абзацы, таблицы - есть и работают. Есть некоторые недоработки по части таблиц (с их заголовками и секциями) и некоторая нелогичность табличного меню, ну да это не сильно сложно.

2. ссылки, выделение, усиление и индексы - верхний с нижним.

3. работа со стилями - CSS анализируется, показываются только подходящие для данного элемента классы, всё вроде бы в порядке на первый взгляд

4. история - всё можно отменить (даже шифрование, что наверное зря) - пришлось писать самому из-за термоядерных глюков браузеров; хранится в сжатом виде (алгоритм быстрого diffа можно ещё улучшить), древовидна (если отменить много действий а потом начать делать другие, то по CTRL+ALT+Z можно вернуться в отменённую ветку - этого мне, разгильдяю, часто не хватает) - только несколько хромает визуализация истории - нет абстракции для действий (об этом ниже)

5. текстовые шнягости - шифрование BlowFish (гы-гы), вставка разного автотекста для рыб и тому подобное - и так дофига и можно ещё из моего "блокнота" портировать.

6. экспорт в HTML (чистка внутренностей) и в один из диалектов WIKI - есть. Экспорта в BB-CODE нет и не будет - идеология не та, только если в очень ограниченное подмножество.

7. автозамена при вводе - типа teh -> the, //a// - курсив, также распознавание длинного тире, кавычек и многоточия - есть и очень радуют.

Всё это работает кое-как и не умеет сохранять, однако использовалось мной год для набивки всякой деловой писанины (а потом результат я просто копировал) типа ТЗ и коммерческих предложений. Особенно радовали автозамена и таблицы.

Чего хочется:

1. По интерфейсу - абстракцию для команд и параметров - чтобы их просто описывать и использовать, а внутренности будут активировать/деактивировать кнопки и пункты меню, обрабатывать горячие клавиши, строить историю и тому подобное. Как отдельный бонус - построение интерфейса и валидаторов по описанию - требуются команде параметры - получите диалоговое окно и распишитесь. Описание - JSON.

2. Отловить и исправить баги - их много.

3. Экранную клаву и вставку специальных символов.

4. Вставку картинок - тут ещё нужна интеграция с сервером и красивая параллельная закачка.

5. Вставку объектов - имею в виду, что вставляется нечто, что не может быть отредактировано напрямую, например, формула или выборка из базы или ещё что - если курсор попал внутрь этого текста, то ввод и удаление символов перестают работать, а при выделении действует принцип всё или ничего. Объекты, отображаемые как картинка много проще. И для тех и для других - отдельное окошко редактирования.

6. кластеризация форматирования - группировка похожих способов и создание стилей в (полу)автоматическом режиме.

7. морфология - написать генератор конечного автомата теперь и для JS. Ну и использовать автомат для разных языковых вкусностей.

8. какое-то взаимодействие с сервером. Сохранение/загрузка, поддержка словарей. Неплохо бы подружить это с LOKI.

9. импорт бинарного MSWORDа (как-то писал для него модуль) через сервер - для чего и нужен пункт 6 - в этом редакторе народ стили чаще не использует чем использует. Ещё бы RTF и ODT.
Tags: javascript, wisiwyg, РазборПолётов, ФиксикиПокусали
Subscribe

  • От субботы до субботы!

    Шкафчики красиво подвесил - в точности в той конфигурации, как они висели на прошлой их (не нашей!) кухне. Обнаружил небольшой уклон вбок (заметную…

  • Алдан

    Кажется, я знаю, как назвать своё "произведение" на Z80; про идею я писал несколько раз, а кратко это: 1. "системный" режим,…

  • (no subject)

    В общем, загад (вот гад!) не бывает богат. Из запланированного сделал абсолютный минимум. Эпиграфом субботы был анекдот про лягушку, ходившую по…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 10 comments

  • От субботы до субботы!

    Шкафчики красиво подвесил - в точности в той конфигурации, как они висели на прошлой их (не нашей!) кухне. Обнаружил небольшой уклон вбок (заметную…

  • Алдан

    Кажется, я знаю, как назвать своё "произведение" на Z80; про идею я писал несколько раз, а кратко это: 1. "системный" режим,…

  • (no subject)

    В общем, загад (вот гад!) не бывает богат. Из запланированного сделал абсолютный минимум. Эпиграфом субботы был анекдот про лягушку, ходившую по…