masterspammer (masterspammer) wrote,
masterspammer
masterspammer

Category:

Так зачем такой рЕДАктор и с чем его едят

HTML, wisywig итд итп

1. CSS причём только в виде классов - дизайнер решает, как всё выглядит, пользователь - использует данное дизайнером, к тому же это ещё и разделение труда. Чувство прекрасного в оформлении текста и умение писать внятный текст редко присутствуют в одном человеке и ещё реже - в один момент времени при том; "отвизуаленный" напрямую текст потом фиг отчистишь от форматирования. Только всё нафиг и/или вручную. Лучше и не давать редактору таких инструментов - ими МОЖНО научить пользоваться, но у нас тут не педагогика, а совсем другой предмет - да и в педагогике как-то, научая ребёнка НЕ играть со спичками, рекомендуют держать спички подальше. Итого, визуальное форматирование должно быть ЗАПРЕЩЕНО, т.к. последствия плохи, а на него почему-то тянет.

Дальше, форматирование может быть по смыслу (и лично я считаю, что так и ДОЛЖНО быть) - навешать на цитату класс "цитата" - несколько лучше, чем сделать отступ, выравнивание, курчив и разрядку. Особенно, если делать много раз. И особенно, если вдруг в готовом тексте "вдруг" потребуется переделать, а цитаты выглядят в точности так же, как (ну например) стихотворные вставки, которые менять не надо.

Визуальное же форматирование может быть разным - для печати, публикации и для редактирования (пусть сейчас у нас в готовом виде сокращения типа НКВД выглядят так же, как строчное цитирования - "о_н_и п_о_в_е_л_е_л_и т_а_к"), но завтра будет по другому, а перелопачивать тысячи страниц не будет никто, так что при редактировании они должны выглядеть по-разному (и делать их должно быть одинаково легко, иначе лень сработает). Да и просто шкурки под разные предпочтения пользователя (с годами острота зрения падает вместе с контрастностью) сделать проще чем одну универсальную.

История с одного форума - там были шкурки и BB-code. Некто написал что-то и обосновал подвернувшимся под руку Васей - "а мы-то знаем, что Вася - не дурак". Причём для придания большего веса "не" было выделено чёрным (весь текст по умолчанию был тёмно-сер). Кто-то увидал обоснование в шкурке с чёрным фоном - "а мы-то знаем, что Вася - дурак", обругал оппонента. И понеслось...

Теперь на форуме нет шкурок (зря кстати, лучше бы цвета прибили, или сделали бы "красный"/"синий"..., а конкретный оттенок зависел бы от шкурки).

Абзацы и __правильные__ списки, кстати, сюда же - попробуйте на досуге сделать для <br/> (который всрался вместо абзаца в кривом редакторе) стилями представление с абзацным отступом или буквицей ну или пропустите через валидатор <ul><li>...</li><ul>....</ul></ul> так, чтобы не заругался.


1.1. Стили должны быть контекстно зависимы - если курсор стоит в таблице, то показывать ему стили заголовков (h1..h6 а нет th) не надо, равно как и наоборот. Запутается и будет работать с меньшей производительностью, проклиная неудобный интерфейс. CSS это позволяет (при экспорте в rtf это придётся эмулировать, увы), нужно пользоваться. В хороших случаях каскадность используется на все 100 и из сотни классов могут быть применимы только 5-10, что вполне обозримо для человека.

2. Удобство. Слепой десятипальцевый и точка! Автозамена, типограф, правильные кавычки. Высокая скорость работы (асинхронно, через setTimeout можно делать много не затормаживая ввод). Отмена и история - версионность.

Это рабочее место живого человека, который самое главное и самое узкое (по быстродействию) звено. Его не надо затормаживать, то, что можно делать автоматически, нужно делать автоматически (типа замены знака дюйма на нормальные кавычки, 3-х точек на многоточие и т.д. если курсор не внутри <code> </code>). Его не надо заставлять перебрасывать руку на мышь если только вообще это возможно.

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

Увы, не всегда оно порождается корректно, приходится править. Вариантом может быть конвертор DOM->[то, что надо]. Так можно порождать XHTML, Wiki, BB-CODE в конце концов. Конвертор можно протестировать и поддерживать, а если где-то что-то падает из-за того, что вроде-бы XHTML, но вдруг не оказался корректным XMLем, то ой.
Tags: javascript, wisiwyg, Эргономика
Subscribe

  • Автотелек (в нарезке)

    Прошлый раз, ковыряя телек, вот, кстати и он, нашёл странное - проволочную соплю от радиоблока до микросхемы 4052 (аналоговый мультиплексор) - вот…

  • Инсинуирую помаленьку

    Когда-то, почти уже в прошлой жизни, пишу поисковый полнотекстовый алгоритм, никого не трогаю. Морфология, индексы, всё как надо. Натыкаюсь на…

  • With a hundred futures cascading...

    На входные были планы и они удались. Так-то я хотел паять, но можно паять оперативно, можно тактически, а можно - стратегически. В данном случае…

  • 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 

  • 0 comments