Следующая AppleScript будет принимать содержимое буфера обмена и заменить его URL предварённое:
set the clipboard to "http://bugzilla_server/bugzilla/show_bug.cgi?id=" & (the clipboard)
Вы можете компилировать, что к AppleScript scpt
и сделать его доступным в папке Scripts
или скомпилировать его к app
спускаться на воду:
osacompile -e 'set the clipboard to "http://bugzilla_server/bugzilla/show_bug.cgi?id=" & (the clipboard)' -o replacebug.scpt # or -o replacebug.app
Если основной вариант использования для этого в составлении письма в Mail.app
, это может быть не самый удобный подход, однако. Если вы используете Snow Leopard (10.6), более простым решением является использование новой функции Text Substitution
. Откройте System Preferences -> Language & Text
панели настроек, выберите вкладку Text
и нажмите +
, чтобы добавить новую замену, возможно:
Replace With
(b) http://bugzilla_server/bugzilla/show_bug.cgi?id=
Затем в Mail.app
, начните New Message
и с курсором щелкнул в теле текста, сделать Управляйте щелчком мыши, чтобы вызвать контекстное меню. Из него выберите Substitutions -> Text Replacement
. С этого момента, как вы набираете в текстовом теле письма при вводе:
(b)777
(b)
автоматически изменится текст URL сохранен:
http://bugzilla_server/bugzilla/show_bug.cgi?id=777
Это также будет работать в другие приложения с поддержкой текста Cocoa, такие как Safari.
EDIT:
Когда речь идет о составлении URL ссылки в электронной почте, есть по крайней мере три различных форматов электронной почты, каждый из которых имеет другое решение. Так как вы не говорите, какой тип вы используете, я рассмотрю все три:
Обычного формат текст - Там нет никакого способа, чтобы «скрыть» URL-адрес в составленной по электронной почте, хотя некоторые читатели электронной почты могут представлять кликабельную ссылку для URL с открытым текстом.
Электронная почта в формате HTML - Mail.app
от Apple не поддерживает составление электронной почты в этом формате, хотя он отобразит его. Используя какой-либо другой клиент почтовой записи или вашу собственную программу, достаточно просто составить ссылку, используя стандартный тег HTML <a href=...>
.
Адрес электронной почты формата Rich Text Format - AFAIK, это единственный способ составить ссылку URL с Mail.app
.К сожалению, не существует простого способа прямого создания гиперссылки RTF с помощью команд AppleScript. Основываясь на предложении here, это способ сделать это, создав модифицируемый шаблон RTF через буфер обмена.
- В
TextEdit.app
создайте новое окно документа.
- Вставьте текст, который вы хотите отобразить в электронном письме, то есть
777
.
- Выберите текст (⌘A), затем добавьте ссылку (⌘K). Введите полный URL-адрес также с
777
в поле «Место назначения ссылки»; нажмите «ОК».
- Измените текстовый формат, как требуется, с помощью команд меню «Формат».
- Сохраните файл (⇧⌘S) как
temp.rtf
с File Format
->Rich Text Format
.
- Закройте окно документа.
- Открыть окно документа (⌘O), выбрав файл
temp.rtf
и выбрав Ignore rich text commands
.
Вставьте следующий до первой строки в файле:
#!/bin/sh
sed -e "s/777/$(pbpaste -Prefer txt)/g" <<EOF | pbcopy -Prefer rtf
Append EOF
в виде отдельной строки в конце файла.
Это должно выглядеть примерно так:
#!/bin/sh
sed -e "s/777/$(pbpaste -Prefer txt)/g" <<EOF | pbcopy -Prefer rtf
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf250
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
{\field{\*\fldinst{HYPERLINK "http://bugzilla_server/bugzilla/show_bug.cgi?id=777"}}{\fldrslt
\f0\fs24 \cf0 777}}}
EOF
Сохранить как Plain Text
файл и выполнить непосредственно в качестве сценария оболочки или вызвать его с помощью команды AppleScript do shell script
.
Этот вид решения будет работать с большинством других приложений, поддерживающих формат Rich Text.
Я дам вам баллы за усилия. Но это не совсем то, что мне нужно, потому что это просто просто «http: // материал». Вопрос, который я пытаюсь решить, заключается в том, как Mac понимает элемент html и вставляет соответствующий элемент в качестве действительной ссылки. Что должно быть показано после перевода просто «777», но как элемент ссылки html. – rh0dium
Ничего себе !! Ты сделал это. Это действительно мощный Спасибо за то, что нашли время, чтобы решить эту проблему! – rh0dium