Pull to refresh

Comments 26

Поискал сразу альтернативу на addons.mozilla.org — «Типограф 1.14».
Набрали текст в поле — нажали ПКМ и выбрали «Оттипографить» — получили результат.

Удобно, просто, полезно!
UPD
Искал для Firefox 3.6.14, т.к. собранный аддон в статье, работает только под Firefox v4.
Поэтому мой addon лежит на народе, а не на addons.mozilla.org/ru/firefox/

Я не про Типограф писал, я писал про «Добавляем нужное в Firefox за час» — Типограф тут только для примера.
Извините за беглое прочтение статьи. Я увидел для себя полезное, нашел это и опубликовал в комментариях. Надеюсь, что информация из 1-го комментария будет полезной для других участников сообщества.
Меня больше заинтересовала совместимость описанного аддона под Firefox v3.6.14
Поэтому нашел и опубликовал информацию в комментариях. Комментарии для того и существуют, чтобы они были полезным, пускай не совсем имеющие прямое отношение к топику.

Спасибо.
Да нет, ну что вы, я совершенно не сужу, тем более — строго; комментарий ваш полезен.

Я просто хотел объяснить, почему я не добавил всех плюшек, наподобие правого щелчка мыши и/или еще чего-нибудь полезного.

Кстати, мой умеет типографить выделенную часть текста и буфер обмена, а тот — нет ;-)
Так дело в том, что я поставил Ваш аддон в свой Firefox v4.0b12, но он то у меня не работает.
Кнопки нигде нет для активации, с текстом из буфера игрался разными способами — безрезультатно.

Что я делал не так?
Рекомендуемая Mozilla политика добавления кнопок на тулбар — ненавязчивая. В смысле, после установки кнопка появляется в диалоге «Настроить тулбар» и ее оттуда нужно перетащить на тулбар вручную.
Я просто следовал гайдлайнам.
Вот именно этого поста мне не хватало. :)

В Firefox нажал ПКМ на «Панель навигации» → «Настроить» → перетянул кнопку для работы с расширением в удобное место. Теперь у меня Типограф в двух браузерах, а за описанный мануал — спасибо!
Прошу отнестись с пониманием. Второй пост почему-то сразу не опубликовался (даже после обновления страницы), решил переписать мысль, а как опубликовал — увидел два комментария.

Не судите строго.
Чёрт, за один топик сразу два аддона для типографа. А я пару месяцев назад писал его сам…
Если кому-то будет интересно поковыряться, то вот еще и мой вариант: narod.ru/disk/6656847001/typographer.xpi.html
Работает на 3.6, с 4 «несовместим», но тоже работает.
Да, я тогда тоже посмеялся, но написать им поленился :)
Я, как автор упомянутого выше типографского плагина, написал им. В ответ тишина.
Ой, а вы зачем блокирующий вызов к стороннему сервису делаете? Чтобы когда он ляжет — повесить браузер?
И да, согласно MDN, XHTML вернет не TEXTAREA, но textarea, поэтому если завтра ребята перейдут в зуле на XHTML (я знаю, что вероятность этого отрицательна, но все же) — у вас поломается showTypifySelectionItem.
Молодец. Вот молодец (с) Наумыч
Печаль :) Меня оправдывает, что для расширения я делал всё ВООБЩЕ с нуля, да и с клиентским программированием знаком слабо.
А что касается блокирующего вызова, то так проще, чем вешать коллбэки и ждать. Кроме того иначе может получиться ситуация, когда я нажимаю «типографировать», инет тормозит, я начинаю уже что-то в поле ввода править, и тут оно внезапно заменяется на оттипографированный текст.
В общем, Ваши замечания безусловно правильные, по уму-то там допилить еще много что можно — и способ типографирования, и disable поля в процессе запроса, и какой-нибудь крутящийся индикатор работы…
Я просто точно так же делал эту фигню за час, чтобы облегчить труд человеку, который весь день по работе типограф использует. Если типограф или интернет ляжет, то подвисший на пару минут браузер (потом скорее всего будет либо таймаут, либо ФФ просто предложит остановить скрипт) окажется наименьшей возникшей проблемой :)
Не оправдывает ;-)

Я писал [почти] этот код более года назад, тоже с нуля — тогда еще не было этой чудо-тулзы (или я ее тогда не отыскал).
Вешать коллбэки — в js совсем не проблема, тут вам не ассемблер. Загляните в мой код — он на две строки длиннее вашего (да, мой код длиннее! ;-)). Мой пример застрахован и от «я нажимаю „типографировать“, инет тормозит, я начинаю уже что-то в поле ввода править, и тут оно внезапно заменяется на оттипографированный текст»:
var insertText = function (s, fe) {
  if (fe && s && s != '') {
    var text = fe.value;
    var startPos = fe.selectionStart;
    var endPos = fe.selectionEnd;
    var beforeSelection = text.substring(0, startPos);
    var afterSelection = text.substring(endPos, text.length);
    fe.value = beforeSelection + s + afterSelection;
    var pos = startPos + s.length;
    fe.setSelectionRange(pos, pos);
  }
}


Иными словами, если я не дождался и начал писать что-то новое — оттипографленный текст будет вставлен после курсора. Не особо удобно, но ничего не испортит.

А троббер я просто выбросил из примера, чтобы не перегружать.

Хотя вы правы, на самом деле. Это тот случай, когда быстро — лучше, чем идеально.
Тулзы?) Я делал исключительно по обрывкам с MDN :P

Ну, в целом у нас немножко разный подход оказался. Мой похуже, но побыстрее, да :)
Да у меня подхода-то никакого особенного нет. Я и не типограф, в общем-то, писал.
Я просто неожиданно понял, что написать расширение — плевое дело, но очень сложно найти способ перепрыгнуть точку входа.
Я такое же, например, для маркдауна — набросал за полчаса и теперь ужасно рад этому. А у каждого человека ведь свои какие-то тараканы (кому-то типографику подавай, кому-то — маркдаун, а особенным — вообще — википарсер ;-)).
А с чего скриншотик? Не с «эклипса»? Если да — то что у вас там для писания аддонов стоит?
Нет, это NetBeans безо всяких плюшек для аддонов. Тут три с половиной строчки кода, зачем мне помощники?
Мой плагин уже выше упомянули, спасибо, about. Замечу, что написание клиентской части к сервисам artlebedev.ru и typograf.ru заняло действительно мало времени. С чем пришлось попариться, так это с написанием редактора настроек. Кроме того, много проблем было с RichText редакторами — изначально я делал свой плагин для того, чтобы можно было типографить ЖЖ-посты.
Я вашему плагину совсем не конкурент и именно поэтому не стал повышать энтропию заливкой его на addons@mozilla.

Просто я писал не о клиенте для Типографа, а о том, как быстро добавить какую-нибудь плюшку к FF. Если заменить поход к Лебедеву на вот такой код:
this.insertText(this.getClipboard("text/html"));

— получится копипаст в любую textarea — HTML с форматированием.

И так далее.
Ага, я понимаю. Но мой комментарий про то, что написать основную функциональность действительно легко и удобно, а вот довести плагин до продакшен качества тяжело. В отличие от плагинов для Хрома, например, где почему-то это получается легче.

Я еще забыл сказать про addons.mozilla.org. Это же адский ад. Процесс добавления туда новых плагинов и версий через песочницу очень некомфортный.

Исходники моего плагина живут на sourceforge.net.
Sign up to leave a comment.

Articles