TextExpander, Shell Script, Вставить изображение
Я создаю фрагмент текста расширения, чтобы получить информацию о запасах с веб-сайта. Я хотел бы, чтобы он посмотрел тикер, находящийся в данный момент в буфере обмена, зашел на указанный веб-сайт, вытащил требуемый график акций и вставил его в документ, над которым я работаю. Я могу скачать изображение следующим образом:
curl -s -o ticker.png http://example.com/ticker-chart.aspx?t=%clipboard
Я не уверен, как использовать расширитель текста /bash, чтобы скопировать сохраненное изображение в мой документ. Кажется, что pbcopy/pbpaste работают только с текстом. Любая помощь будет оценена.
1 ответ
После того, как я возился с этим, лучшее, что я мог сделать, - это создать скрипт, который копировал изображение в буфер обмена. После ввода команды вам все равно нужно нажать сочетание клавиш +v, чтобы вставить ее в документ, с которым вы работаете.
Сначала нужно что-то скопировать файл изображения в буфер обмена. Я нашел здесь некоторый код: http://www.alecjacobson.com/weblog/?p=3816 который, похоже, сработал. Я помещаю это в сущность, чтобы облегчить потребление. Откройте новый терминал и выполните следующие команды:
curl -L -o 'impbcopy2.m' 'https://gist.githubusercontent.com/russorat/2635e2904caadaa12825/raw/aefb2239ea98e56a1cfa55c3ae4c7a84c8aa7d78/impbcopy.m'
gcc -Wall -g -O3 -ObjC -framework Foundation -framework AppKit -o impbcopy impbcopy.m
Если вам не хватает gcc, следуйте приведенным здесь инструкциям, чтобы сначала установить его: Как использовать / установить gcc в Mac OS X 10.8 / Xcode 4.4
Теперь скопируйте только что созданный файл impbcopy в системный путь, чтобы сделать его доступным для Text Expander:
sudo mv impbcopy /usr/bin/
Теперь в Text Expander создайте новый новый фрагмент, убедитесь, что для Content установлено значение "Shell Script", и введите следующий код:
#!/bin/bash
filePath='/tmp/stock.png'
stockTicker="$(pbpaste)"
curl -L -o "$filePath" "http://chart.finance.yahoo.com/z?s=$stockTicker&t=1d&q=l&l=on&z=l&a=v&p=s&lang=en-US®ion=US#.png"
/usr/bin/impbcopy "$filePath"
Я использую свою собственную ссылку на акции здесь. Для того, который вы предоставили, измените линию скручивания на:
curl -L -o "$filePath" "http://example.com/ticker-chart.aspx?t=$stockTicker"
Теперь в документе введите AMZN, скопируйте его в буфер обмена и введите свое сокращение. После звука "swoosh" вы сможете нажать сочетание клавиш +v и вставить в ваш документ красивое изображение.