Мне нередко приходится вставлять длиннющие веб-адреса, например, в подписи к картинкам на Фейсбуке* или в сообщения друзьям по Скайпу. Хотя ограничений по количеству символов в этих случаях у меня нет, длинные ссылки некрасиво выглядят и могут «ломать» внешний вид всего текста. Лучше такие «сосиски» сокращать: выделил длинную ссылку, щелкнул по ней правой кнопкой мыши, в контекстном меню выбрал команду Сократить ссылку — и заменил длинный адрес коротким. И для этого не нужны никакие специальные утилиты — с помощью «Автоматора» сделать такую сокращалку самостоятельно проще простого.
Как это должно работать
На вход службы «Автоматора» подается текстовый фрагмент — выделенная в тексте длинная веб-ссылка. Первым действием отправляем эту ссылку службе сокращения ссылок Google (goo.gl) — для этого используется специальная консольная команда, описанная в руководстве для разработчиков Google (см. пример с командой curl). В ответ на отправленный запрос получаем набор из трех строковых пар-значений. Во второй паре хранится уже готовая короткая ссылка.
После этого из полученного массива данных отсеиваем все лишнее, оставив только две ссылки — короткую и исходную длинную. Воспользуемся коротким AppleScript-сценарием, чтобы на выходе у нас была только короткая ссылка, которая автоматически и будет вставлена в исходный текст вместо выделенного ранее длинного веб-адреса.
Как это выглядит на деле
Создайте в «Автоматоре» новую службу. В заголовке установите параметры так, чтобы служба получала «выбранные текст (text) в любой программе (any application)». Очень важно, чтобы был включен параметр Выходные данные заменяют выделенный текст (Output replaces selected text) — только так служба сможет заменить выделенную вами ссылку на сокращенный URL.
Под заголовок перетащите из библиотеки действие Запустить AppleScript (Run AppleScript) и введите внутри него следующий код (именно он будет отправлять запрос на goo.gl и получать от него ответ):
on run {input, parameters}
set result to (do shell script "curl https://www.googleapis.com/urlshortener/v1/url -H 'Content-Type: application/json' -d '{"longUrl": "" & input & ""}'") --Подробности по адресу: http://goo.gl/KDQv1
return result
end run
Вторым перетащите из библиотеки действие Извлечь данные из текста (Extract Data from Text) и в выпадающем списке Извлечь выберите пункт URL-адреса (URLs).
Последнее действие — еще один AppleScript-сценарий с таким кодом:
on run {input, parameters}
repeat with i in input
set shortened to (i as text)
exit repeat
end repeat
return shortened
end run
Именно оператор return shortened
передаст на выход сокращенную ссылку, которая служба вставит в ваш текст вместо выделенного ранее длинного веб-адреса.
Сохраните службу, задав ей имя, например, Сократить ссылку (Shorten URL), и сразу проверьте ее работоспособность: введите в любое текстовое поле какой-угодно веб-адрес, выделите его, щелкните на нем правой кнопкой мыши и в контекстном меню выберите команду Сократить ссылку (Shorten URL) — через мгновение должен произойти требуемый фокус-покус. :)
Обновление
Отличную подсказку дал в комментариях DmitriyLyalyuev, посоветовав использовать службу shrt.org.ua. Благодаря тому, что она сразу возвращает готовый результат (сокращенную ссылку) без лишних для нашего случая данных, созданную службу «Автоматора» можно значительно упростить — убрать второе и третье действия, а в первое ввести следующий код:
on run {input, parameters}
set result to (do shell script "curl 'http://shrt.org.ua/--?url=" & input & "&s=goo.gl'") --Подробности по адресу: http://shrt.org.ua
return result
end run
Здесь также выполняется обращение к Goo.gl (хотя можно использовать любую другую сокращалку, указанную в списке поддерживаемых), но через Shrt.org.ua в качестве посредника. Если вам такой вариант также подходит, то в итоге у вас должна получиться вот такая служба:
*Деятельность Meta Platforms Inc. и принадлежащих ей социальных сетей Facebook и Instagram запрещена на территории РФ.
Лучшие предложения
15 интересных товаров дешевле 500 рублей
7 товаров, которые помогут питомцам пережить жару
Лучшие предложения недели: скидки от AliExpress, Krona, Sela и других магазинов
10 компактных сумок-слингов, которые заменят повседневный рюкзак
10 автомобильных подушек, которые сделают поездки комфортнее
14 чёрных футболок, которые просто обязаны быть в базовом гардеробе
Выгодно: наушники Baseus Bowie MA10 за 2 476 рублей
Находки AliExpress: нагрудная сумка, портативный вентилятор и светящиеся джибитсы
Приключения Алисы в Лайфхакере. Редакция тестирует умного помощника
3 категории полезных товаров, которые удобно (и выгодно!) искать через «Яндекс Поиск»
РекламаГде искать деньги и поддержку, если открываете своё дело: 6 советов для спокойного старта
Как выбрать ну очень мощный ноутбук: 5 параметров, которые стоит оценить в первую очередь