Ne v kontakte Asocial programmer's blog

Pastemark: перестаем печатать одно и то же!

Feature image

Вот и пришло время анонсировать мини-проект, над которым я работал последнее время.

Предыстория

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

Следующим витком поиска стал поиск десктопной проги, но я быстро отказался от этой затеи, поскольку на десктопе и нетбуке у меня используются разные среды и не хочется ни терпеть белую ворону на одном из них, ни привыкать к двум разным прогам. Да и опять же, на нетбуке не так уж и много оперативки, чтобы вешать туда еще что-то.

Третий шаг был типичен для любого программиста — написать свою мини-тулзу. Расширение для FireFox мне писать не захотелось, я уже когда-то связывался с этим и мне совершенно не понравилось: муторно, документация разрозненная, неудобно отлаживать и долго тестировать. И тогда я вспомнил про букмарклеты.

Идея

Сделать набор букмарклетов, которые будут при активации на нужной станице искать поле по заданному критерию и вставлять туда заготовленный текст.

Для удобства использования я на коленке набросал простенький генератор «для себя». Он принимал id поля и текст, выдавал — ссылку-букмарклет. Потом пришли мысли о том, что не всегда можно найти поле по id и была добавлена поддержка атрибута name, а потом еще и выбор по клику. О генераторе, кстати, будет отдельный пост.

Чем дальше я совершенствовал инструмент, тем больше мне хотелось сделать из него что-то общеполезное, и в итоге я решил сделать из него микро-вебсервис и заодно поупражняться в свистелках и перделках верстке и JavaScript.

Pastemark.

Название сервиса было образовано из двух слов ­— «paste» и «bookmark» (и тут же было переведено моей девушкой на русский как «пастомарка» (-: ).

Вот что в итоге этот сервис умеет:

  1. Автоматическая генерация букмарклета с заданным названием и вставляемым текстом.
  2. Возможность выбора целевого поля по id, name или кликом мыши.
  3. Простой инструмент для автонастройки генератора на нужное поле, тоже выполненный в виде букмарклета. (Бета-тестирование показало, что люди, далекие от веб-разработки совершенно теряются в том, как задать целевое поле).

За кулисами

Поскольку в своей работе я занимаюсь сервер-сайд программированием, этот проект стал для меня хорошим шансом разнообразить дела и поупражняться в верстке и клиентских финтифлюшках. Поэтому в итоге получилось, что основу сервиса я написал за два неполных вечера, а потом еще неделю оттачивал дизайн и лепил маленькие, но удобные плюшки. Например, сайт умеет подсказывать пользователю, что есть более удобная ему локализация, основываясь на содержимом заголовка Accept-Language. И таких мелочей получилось довольно много, что доставило мне массу удовольствия в процессе написания и тестирования :-)

Разместил я новый сервис, кстати на vps от eomy.netреферралкаво имя вселенской жадности). Правда о vps я сказал не просто ради пиара, а чтобы поделиться своей находкой. Недавно я открыл для себя очень интересный веб-сервер cherokee, просто подкупившим меня своею легковесностью и изумительным веб-интерфейсом для его настройки. Уверен, будущее именно за таким софтом - свободным, быстрым и юзабельным.

P.S. Ayreon — Age of Shadows.