Хабрахакер 2.2



    Вышла версия 2.3. Просто обновите скрипт по ссылкам, указанным ниже в этом посте.

    Спасибо @MrProRunnerу за этот скриншот моего расширения, которое прокачает вашу форму комментирования по полной =)

    Расширение (юзерскрипт) к браузерам фаерфокс, опера и сафари, добавляющее полоску кнопок жирный-курсив-подчеркнутый-итд, как в редакторе топиков, над полем комментирования, а также авторесайз по мере ввода текста ;)

    Тестировалось в фоксе (2 и 3), опере, сафари.

    Установка в фоксе:
    Ставим Greasemonkey, если он по какой-то причине у вас не стоит

    Ставим скрипт. Ссылка ведет на userscripts.org, там — после установки обезьяны! — жмем инсталл (справа)

    Перезапускать браузер не понадобится, только обновить все открытые странички с топиками. Нажмите «ответить» или «написать комментарий», и увидите кнопку.

    В опере:
    Задаём папку для пользовательских JavaScript файлов: Инструменты (Tools) → Настройки (Preferences) → Дополнительно (Advanced) → Содержимое (Content) → Параметры JavaScript (JavaScript options) → «Файлы пользователя JavaScript» (User JavaScript files)

    Скачиваем скрипт в эту папку. После обновления страницы скрипт заработает.

    В сафари:
    Инструкция — поставить SIMBL, потом залить в папку /Library/Application Support/SIMBL/Plugins/ GreaseKit.bundle.



    P.S. Спасибо @MrProRunnerу и fearoutу за рассказ как устанавливать в опере и сафари, тестинг, фидбак и советы (тафтологии нет?) :)
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 125

      0
      Здорово, спасибо.
      Под сафари еще никто не проверял? :)
        0
        я, честно, понятия не имею как и куда это в сафари запихивать =)
        про оперу мне посмотреть профиль MrProRunner обьяснил :) если расскажете как в сафари - впихну описание
          +1
          Для маковского сафари есть некий GreaseKit (бывший CreamMonkey), который ставится с помощью SIMBL, но с ним не все скрипты работают (сам писал юзерскрипты для фф, однако только пару из них заработало без адаптации для сафари). Там есть много специфических условий чтоб заработало, честно говоря всего не знаю :)

          Помню где-то читал про более соответствующие greasemonkey версии запускалок юзер-скриптов, но сам особо не натыкался, да и не искал.
            0
            у меня сафари падает, стоит его только запустить, поэтому ничего проверять не получиться =)
            если кто другой проверит и расскажет, будет круто. подождем :)
              0
              Так, проверил :) Вобщем все как я и думал…
              Панелька появилась, но ничего не нажимается (не срабатывает), кроме закачки картинок, которая ведет на va1en0k.habrahabr.ru/misc/pictures_addict…и т.д. :(((

              Надо будет на днях разобраться как затачивать юзер-скрипты для кросс-браузерности :)
                0
                О! Все заработало!
                  0
                  в опере та же беда была :))
                    0
                    теперь давай инструкцию, как в сафари ставить
                      0
                      Если не секрет — что исправили?

                      Инструкция — поставить SIMBL, потом залить в папку /Library/Application Support/SIMBL/Plugins/ GreaseKit.bundle.
                        0
                        у хабра уже есть реализованная заливка фаилов в комменты, тока кнопку воткнуть надо было.
                        я хитро решил ей воспользоваться, а из-за особенностей грейсманки это можно было сделать лишь через innerHTML. вкупе с остальным dom-based кодом это работало странно :)
                          0
                          Ааа :) Вот иннерХТМЛ — как раз одно из того что не работает :)
                            0
                            Если что — в сафари заливка картинок как и в опере не работает. :)
                              0
                              в опере уже работает ;)
                                0
                                В сафари уже тоже :)
                            0
                            А как в GreaseKit скрипт добавить? Что-то я капитально туплю..
                              0
                              Сохранить на диск и открыть с помощью сафари. ГризКит сам его увидит и предложит установить :)
                                0
                                Класс, спасибо!
                • UFO just landed and posted this here
                    0
                    Блин спасибо, уже давно мечтал об этом, а то тэгами все время влом писать! +карма
                      0
                      Присоединяюсь, действительно удобная вещь, огромное спасибо автору
                        0
                        Еще было бы неплохо если этот сктипт делал возможность скрытия ветвей в древовидной системе комментариев, "под плюс"
                    0
                    Спасибо. В FF3b3 при нажатии "Написать комментарий"(а не ответить) немного уползает по надпись "Вы - %username%".
                      0
                      *под надпись, извините
                        0
                        опа, вижу. в FF2 тоже самое =)
                        поправлю в релизе, там еще много что с дизайном править (ширину полоски, реакцию на наведение мышки, etc...)
                      0
                      В опере кнопки появляются, но нажимается только картинка, причём ведёт в 404 страницу (этот адрес пытается открыть)
                        0
                        так... проверяй теперь :)
                          0
                          поправил
                          во что бывает, когда хочешь схалявить на чем-нибудь. грязный хак не удался :)
                            0
                            Ура. Теперь работает.
                              0
                              Хотя не совсем. Кнопка открывает форму загрузки картинки, но после нажатия на Загрузить, ничего не вставляет в форму и само окошко остаётся - пустое.
                                0
                                message: Security error: attempted to read protected variable
                                короче... легче поставить старое, если оно у тебя по какой-то причине работало
                                буду пытаться править, конечно
                                остальное хоть пашет? у меня - да
                                  0
                                  Остальное пашет. А старая кнопка неудобная. Она становится перед предпросмотром и я постоянно на неё нажимаю. Там нельзя как-то старый код от кнопки навесить на картинку?
                                    0
                                    http://habrahabr.ru/blog/i_am_clever/364…
                                    пробовал
                                    могу переставить кнопку :)
                                    вообще, думаю что скоро все аккуратно сделаю и проблема уйдет
                                      0
                                      Переставь на место картинки.
                                      Хотя я, конечно, могу и подождать.
                                        0
                                        Хотя оно почему-то заработало :) Отбой.
                                          +1
                                          Похоже, это мои личные глюки с хабром.
                                            0
                                            Да похоже что это у всех… У меня тоже минуту назад не работало, а щас заработало…
                                              0
                                              у меня и у товарища (у товарища, правда, в сафари) тоже не пашет (не пахало?)
                                                0
                                                Но почему-то host-tracker.com в это время хабр пингует нормально. А у меня: «Превышен интервал ожидания для запроса». Хотя с картинкой, конечно, со стороны сервера глюк был, раз у обоих заработало.
                                                0
                                                А я то на своего провайдера грешил...
                                                  0
                                                  Может, ты тоже на робота похож? :)
                                                    0
                                                    А у тебя какое подключение? Я например выхожу через локальную сеть. И айпишник у нас общий. Так что если нас несколько челевек на хабр заходит, думаю излишне восприимчивая циска может на нас реагировать неадекватно...
                                                      0
                                                      Я через adsl, но **** провайдер тоже через NAT всех наружу выпускает. Правда, не знаю, через один ли адрес или несколько.
                                                        0
                                                        Ну это легко проверить. Достаточно попытаться что-то с рапиды скачать :)
                                                0
                                                супер! обожаю когда так бывает :))
                                                может и в сафари заработает само собой? ;) а то тоже жалуются
                                                  0
                                                  Ага, заработало!
                              • UFO just landed and posted this here
                                  0
                                  Через 1,5-2 месяца думаю будет не актуально =)
                                    +2
                                    знаем мы эти полтора-два месяца ;))
                                      0
                                      Тоже верно =)
                                    0
                                    ++
                                    Спасибо
                                      0
                                      Спасибо!
                                      Все отлично работает!
                                      Проверено в файрфоксе 2.0.0.12
                                        +2
                                        Кстати, для полного счастья нельзя сюда же запихнуть такую фичу от формы для публикации, что на картинке, только такую, что автоматом размер изменяет в зависимости от написанного (потому что ручная у меня уже есть).



                                        На ilovecinema.ru например, такой скрипт есть на форме для добавления нового фильма. Он на многих сайтах есть, но сейчас только этот на ум приходит.
                                          0
                                          ага, была такая идея. пихнул в туду лист)
                                            0
                                            Отрази в топике — со скрином. Killer-feature. Сейчас попробую скрин сделать.
                                              0
                                              сделай =) у тебя лучше получается
                                                0
                                                Можно картинку вот этой заменить :)
                                                  0
                                                  спасибо))) пихнул
                                          0

                                          Проблемка с кодировкой....у меня у вас?!
                                            +1
                                            Это у вас старый скрипт (это же от него эта кнопка?) одновременно с новым? Зачем вам старый? Снесите его.
                                            0
                                            Ну и в еще большем идеале для людей с отрицательной кармой, чтобы кнопочки были как бы не активные. Все равно запрещено теги использовать. Спросите зачем тогда его устанавливать, но а вдруг после катаклизма карма уйдет в плюс., можно сказать что на кнопочки можно тупо не нажимать, но.. хочется что бы все было прям по-красивому и правильно.
                                              0
                                              представляте, тогда придется парсить страничку на предмет ника, а потом идти запрашивать апи (через грейсманки это - то еще щастье, подозреваю)...
                                              может сделаю, но потом ;)
                                                0
                                                Канечно представляю) Зато какое эстетическое удовольствие потом) Особенно если (вдруг!) к этому моменту сделают новый хабр и там все это будет) Но все равно) В данном деле процесс не менее интересен результата.
                                                  0
                                                  когда (вдруг!) сделают новый хабр, уже не понадобится мое расширение))
                                                    0
                                                    Не факт, можно сделать такие фичи чего не будет там, да и вообще набрать фрик фанатов которые низачто не перейдут на нативный интерфейс)
                                                      0
                                                      а это будет возможно?:)
                                                      а что до фичей - делать всегда проще и легче, чем придумывать идеи
                                                        0
                                                        Конечно возможно) А идеи будут, надо просто следить за блогом "Идеи для сайта" или как он там называется.
                                                    0
                                                    а что до процесса... ну не знаю ;) я вообще расчитывал этот день провести гуляя. не сложилось :((
                                                0
                                                исправь!
                                                  0
                                                  пасибо)
                                                  0

                                                  у всех так?
                                                    0
                                                    browser Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                                                      –1
                                                      Ну сделай отступ больше :) Вставь там див, к примеру, невидимый.
                                                        0
                                                        действительно, фатальная бага. поправил, будьте счастливы (убейте скрипт и поставьте заново)
                                                        • UFO just landed and posted this here
                                                            0
                                                            говорила мне мама, умей и знай css. но я был непослушным сыном :(
                                                            давайте вы, или кто-то другой, скажет мне, какие стили куда применить, а я их применю =)
                                                            • UFO just landed and posted this here
                                                                +2
                                                                а я везде валенок )
                                                                эх...
                                                        –7
                                                        Поставлено, написано.
                                                        А вот - картинко:
                                                          +1
                                                          Да, за эксперимент прошу прощения, с картинкой - лажа вышла... :(
                                                            +1
                                                            извините за минус, просто хочу ваш комент под "кат" убрать)
                                                              +1
                                                              Да-да, и подальше... :)
                                                            +1
                                                            У вас опечатка: в последнем @exclude hhttp:// вместо http://
                                                              +1
                                                              странно, в первой версии тоже такая опечатка получилась, я ее убрал вроде %)
                                                              спасибо!
                                                                0
                                                                Это вам спасибо за такой юзфул скрипт!
                                                              0
                                                              нука-нука...
                                                              работает!
                                                                0
                                                                спасибо огромное!
                                                                0
                                                                Наверное я неизлечимый кодер, но привычка вводить тэги с клавиатуры уже неискоренима. Наверное потому, что за мышкой тянуться не надо, а выделяю слова я сразу :)

                                                                Но если уже написал комментарий, а поом хочешь оформить, то кнопки конечно удобнее (курсор-то в текст мышей вставляется в произвольные места).
                                                                  0
                                                                  Вам памятник ставить надо!

                                                                  Свершилось! :)
                                                                    0
                                                                    памятники - это я люблю;)
                                                                    вот только доживет это до суперхабра (осталось ведь месяца 2?), а там и умрет за ненадобностью:(
                                                                      0
                                                                      Где ты раньше был? Год уже мучаемся :)
                                                                        0
                                                                        пьянствовал по кальянным -)
                                                                        мне и в голову не приходило что это кому-то понадобится
                                                                          0
                                                                          Я мечтал, чтобы панельку от хабратопика прикрутили к комментам сразу после появления дивного хабра. Сделал бы уже давно сам, да не умею.
                                                                            0
                                                                            А до этого мечтал об этой панельке в форме для нового хабратопика. В итоге уже два года :)
                                                                              0
                                                                              полно ж расширений, которые такие куда хошь приделают =)
                                                                    0
                                                                    raquo laquo это хорошо, но blockquote был бы лучше ;)
                                                                      0
                                                                      полностью с вами согласен, поэтому сделал и то и то
                                                                        +1
                                                                        не читайте этот коммент, он глуп и скоропалителен =(
                                                                        0
                                                                        Мои благодарности :)
                                                                          0
                                                                          Тест скрипта прошел удачноспасибо. »И такое работает.«
                                                                          посмотреть профиль Xobb
                                                                          Я
                                                                            0
                                                                            Проверка скрипта в опере.
                                                                            ЛОЛ
                                                                            Типа ссылка
                                                                            -O rly?
                                                                            -ya rly

                                                                            «Сильвер» — посмотреть профиль SilverTH
                                                                            Йаблочко.
                                                                              0
                                                                              хорошая штука!
                                                                              0
                                                                              Хм, что-ж, в Опере 9.25 всё, по-моему, работает отлично хорошо.

                                                                              Вот только при нажатии на кнопку «вставить линк» получилась маленькая заморочка с кодировкой, но всё сработало:

                                                                              Пишет посмотреть профиль Pure_BY.


                                                                              Пара мелких замечаний:

                                                                              — при вставке никнейма в конце тега между " и / есть пробел: user="Pure_BY" /> Функционально в этом никаких проблем нет, но выглядит неаккуратно.
                                                                              — при вставке кавычек или тире курсор оказывается перед вставленным символом, т.е. чтобы продолжить печатать нужно переместить курсор в конец кода символа. Для меня в этом проблемы нет, потому что я пользуюсь типографской раскладкой клавиатуры, но для других это будет неудобно.
                                                                              — добавьте, пожалуйста, ещё кнопку для <code></code> :)

                                                                              ОГРОМНОЕ СПАСИБО ЗА СКРИПТ!!!
                                                                                0
                                                                                СПАСИБО-спасибо-СПАСИБО! ;)
                                                                                класс )
                                                                                greasmonkey и раньше стоял, но пока был пуст, а теперь я его буду юзать по полной! ;)
                                                                                  0
                                                                                  однако.. молодец =). Opera 9.25/Linux - perfect.
                                                                                    0
                                                                                    Великолепный скрипт, спасибо! Единственное, под Оперой он почему-то не дружит с русским языком. Кто знает как пофиксить, какая кодировка нужна для Оперы?

                                                                                    А пока что переведу на всякий случай на английский :)
                                                                                      0
                                                                                      Опера 9.5 win — с русским всё нормально
                                                                                        0
                                                                                        Повод проапгрейдиться :)
                                                                                        0
                                                                                        я в утф-8 "без BOM" (не знаю, что бы это значило) сохранял
                                                                                        0
                                                                                        Прекрасно работает в опере. Спасибо большое.
                                                                                        Кармировал Вас.
                                                                                          0
                                                                                          Что-то я не понял, как в сафари это ставить? GreaseKit поставил, а куда скрипт кидать?
                                                                                            0
                                                                                            тест тесттесттесттест
                                                                                            тест
                                                                                            «»—посмотреть профиль Kogol
                                                                                              0
                                                                                              Отлично, + вам!
                                                                                              0
                                                                                              Спасибо. Есть один вопрос — можно ли как-то адаптировать скрипт, чтобы он работал в блогах и форумах?
                                                                                                0
                                                                                                конечно, можно. но зачем? для того, чтобы пихать такую форму везде, существуют сотни других, куда более быстрых, крутых и удобных расширений
                                                                                                +1
                                                                                                К сожалению, "авторесайз" работает некорректно если размер абзаца длинней одной строки — что не удивительно, т.к. resize_textarea() кол-во строк в TEXTAREA устанавливает в кол-во символов \n.

                                                                                                Вот более корректная реализация этой функции. JavaScript я практически не знаю, так что линч с улучшениями только приветствуется. Тестировалось только в Opera. К сожалению, я так и не понял, как можно получить текущий размер шрифта в TEXTAREA (чтобы выставить его для создаваемого DIV-а), и прописал 17px — что корректно для моих настроек и может потребовать тюнинга на ваших. Константы -20 и +20 тоже подобраны эмпирически, во что их было бы правильно выставить я не разбирался - сегодня у меня ещё много другой работы. :)

                                                                                                resize_textarea = function(event) {
                                                                                                  var t = event.currentTarget;
                                                                                                  var d = document.getElementById(t.id+'_tmp');
                                                                                                  if (!d) {
                                                                                                    d = document.createElement('div');
                                                                                                    document.body.appendChild(d);
                                                                                                    d.id = t.id + '_tmp';
                                                                                                    d.setAttribute('style',
                                                                                                       'font-family: monospace;'
                                                                                                     + 'font-size: 17px;'
                                                                                                     + 'width: ' + (t.scrollWidth-20) + 'px;'
                                                                                                     + 'visibility: hidden;'
                                                                                                     + 'position: absolute;'
                                                                                                     + 'top: 0;'
                                                                                                    );
                                                                                                  }
                                                                                                  d.innerHTML = t.value.replace(/\n/g,'<br/>');
                                                                                                  t.style.height = (d.offsetHeight+20) + 'px';
                                                                                                }
                                                                                                  0
                                                                                                  кстати да, спасибо за баг. будем думать
                                                                                                  у вас решение, я так понимаю, подходит только для тех, у кого ширина поля и шрифта такая же, как у вас?
                                                                                                    0
                                                                                                    Принцип с использованием отдельного DIV-а для расчёта требуемой высоты судя по всему самый адекватный. А вот размер шрифта надо безусловно вычислять на лету. Проблема в том, что свойства style в этой TEXTAREA пустые, и надо вычисленные браузером шрифт/размер взять откуда-то ещё. Насколько я понимаю, хабр в CSS не меняет этот шрифт/размер, т.е. используется тот, который выставлен в настройках браузера.

                                                                                                    Его стопудово можно узнать, но я специализируюсь на программировании серверной части, с JavaScript и DOM практически не сталкиваюсь, и искать это буду значительно дольше, чем специалисты по программированию клиентской части, которых на хабре хватает. Так что я решил у них кусок хлеба работы не отбирать. :)
                                                                                                      0
                                                                                                      посмотреть профиль SpirITzzz исправил, спасибо ему :)
                                                                                                    0
                                                                                                    ага, тесты показали что именно так.
                                                                                                    я не могу себе позволить сделать так ;) так что буду думать - в 3ей версии, я надеюсь, что-нибудь придумаю
                                                                                                      0
                                                                                                      Я бы еще linу-height проконтролировал.
                                                                                                        0
                                                                                                        Сорри, line-height.
                                                                                                      0
                                                                                                      Спасибо
                                                                                                        0
                                                                                                        hjkhjkghkhgkghjk фів
                                                                                                          0
                                                                                                          тест)—»
                                                                                                          • UFO just landed and posted this here

                                                                                                            Only users with full accounts can post comments. Log in, please.