Мне нередко приходится вставлять длиннющие веб-адреса, например, в подписи к картинкам на Фейсбуке* или в сообщения друзьям по Скайпу. Хотя ограничений по количеству символов в этих случаях у меня нет, длинные ссылки некрасиво выглядят и могут «ломать» внешний вид всего текста. Лучше такие «сосиски» сокращать: выделил длинную ссылку, щелкнул по ней правой кнопкой мыши, в контекстном меню выбрал команду Сократить ссылку — и заменил длинный адрес коротким. И для этого не нужны никакие специальные утилиты — с помощью «Автоматора» сделать такую сокращалку самостоятельно проще простого.
Как это должно работать
На вход службы «Автоматора» подается текстовый фрагмент — выделенная в тексте длинная веб-ссылка. Первым действием отправляем эту ссылку службе сокращения ссылок 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 запрещена на территории РФ.
Лучшие предложения
12 недорогих осенних аксессуаров, которые не дадут замёрзнуть
10 отличных шампуней, которые можно найти на «Яндекс Маркете»
Отборные скидки: выгодные предложения от AliExpress, «Яндекс Маркета», Lamoda и других магазинов
10 средств, с которыми будет проще ухаживать за секс-игрушками
10 вещей с тыквами и в виде тыквы, чтобы уютно «затыквиться» на всю осень
Выгодно: кроссовки adidas Originals со скидкой 54%
Список покупок: 10 товаров с AliExpress для стильного оформления детской
10 товаров с AliExpress для приготовления и подачи вареников
Как отличить подделку духов от оригинала: 7 заблуждений, которые могут помешать сделать правильный выбор
Год Fashion на Ozon. Как зарабатывать на моде
Розовый йети и ванная будущего: как прошёл конкурс для молодых дизайнеров Outstanding Design Talent Call
Как семье с детьми купить квартиру: 5 мер поддержки, на которые вы можете рассчитывать