AppleScript 获取文本并将其转换为可粘贴的 HTML
我们与 bugzilla 合作。每当您需要查询票证时,您只需要知道 bugid(整数),然后只需将其添加到它前面即可。
http://<bugzilla_server>/bugzilla/show_bug.cgi?id=<bug_id>
假设我有一个错误链接,如下所示 777。如果我选择并复制它,它将保留在粘贴板上,因此当我将其粘贴到邮件中时,它将正确保留链接及其属性。
我正在寻找的是简单地输入“777”,选择它并在其上运行一个 applescript,并将其替换为像上面这样的链接。有人可以帮我吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下 AppleScript 将获取剪贴板的内容并将其替换为预先添加的 URL:
您可以将其编译为 AppleScript
scpt
并使其在Scripts
文件夹中可用或编译它到可启动的应用程序
:如果您的主要用例是在
Mail.app
中撰写邮件,那么这可能不是最用户友好的方法。如果您使用的是 Snow Leopard (10.6),更简单的解决方案是利用新的文本替换
功能。打开系统偏好设置 ->语言与Text
首选项面板,选择Text
选项卡,然后单击+
添加新的替换,也许:然后,在
Mail.app
中>,启动新消息
,然后在文本正文中单击光标,按住 Control 单击鼠标以调出上下文菜单。从中选择替换 ->文本替换
。从现在开始,当您输入电子邮件的文本正文时,(b)
将自动更改为您保存的 URL 文本:这也适用于其他启用 Cocoa 文本的内容Safari 等应用程序。
编辑:
当谈论在电子邮件中编写 URL 链接时,至少有三种不同的电子邮件格式,每种格式都有不同的解决方案。由于您没有说明您使用的是哪种类型,所以我将介绍所有三种格式:
纯文本格式 - 无法在撰写的电子邮件中“隐藏”URL,尽管某些电子邮件阅读器可能会提供可点击的链接纯文本 URL。
HTML 格式的电子邮件 - Apple 的
Mail.app
不支持以这种格式撰写电子邮件,尽管它会显示它。使用其他一些邮件编写器客户端或您自己的程序,可以很容易地使用标准 HTML 锚点标记编写链接。
富文本格式电子邮件 - AFAIK,这是使用
Mail.app
编写 URL 链接的唯一方法。不幸的是,似乎没有一种简单的方法可以使用 AppleScript 命令直接创建 RTF 超链接。基于建议此处,这是一种通过剪贴板创建可修改的 RTF 模板来实现此目的的方法。TextEdit.app
中,创建一个新的文档窗口。777
。777
;单击“确定”。文件格式
将文件(⇧⌘S)另存为temp.rtf
->富文本格式
。temp.rtf
并选择忽略富文本命令
。在文件第一行之前插入以下内容:
<前><代码>#!/bin/sh
sed -e "s/777/$(pbpaste -Prefer txt)/g" <
将
EOF
作为单独的行附加到文件末尾。现在应该看起来像这样:
<前><代码>#!/bin/sh
sed -e "s/777/$(pbpaste -Prefer txt)/g" <
将其保存为
纯文本
文件,并直接作为 shell 脚本执行或通过 AppleScriptdo shell script
命令调用它。< /里>
这种解决方案适用于大多数支持富文本格式的其他应用程序。
The following AppleScript will take the contents of the clipboard and replace it with the URL prepended:
You can compile that to an AppleScript
scpt
and make it available in aScripts
folder or compile it to a launchableapp
:If your primary use case for this is in composing mail in
Mail.app
, this may not be the most user-friendly approach, though. If you are using Snow Leopard (10.6), a simpler solution is to take advantage of the newText Substitution
feature. Open theSystem Preferences -> Language & Text
preference panel, select theText
tab, and click+
to add a new substitution, perhaps:Then, in
Mail.app
, start aNew Message
and, with the cursor clicked within the text body, do a Control click of the mouse to bring up the contextual menu. From it, selectSubstitutions -> Text Replacement
. From now on, as you are typing in the text body of the email when you type:the
(b)
will automatically change to the URL text you saved:This will also work in other Cocoa text-enabled applications like Safari.
EDIT:
When talking about composing URL links in email, there are at least three different formats of email, each with a different solution. Since you don't say which kind you are using, I'll cover all three:
Plain text format - There's no way to "hide" the URL in the composed email although some email readers might present a clickable link for a plain-text URL.
HTML-formatted email - Apple's
Mail.app
does not support composing email in this format although it will display it. Using some other mail writer client or your own program, it's easy enough to compose a link using a standard HTML anchor<a href=...>
tag.Rich Text Format email - AFAIK, this is the only way to compose a URL link with
Mail.app
. Unfortunately, there does not appear to be an easy way to directly create an RTF hyperlink using AppleScript commands. Based on a suggestion here, this is a way to do it by creating a modifiable RTF template via the clipboard.TextEdit.app
, create a new Document window.777
.777
into the "Link destination" field; click OK.temp.rtf
withFile Format
->Rich Text Format
.temp.rtf
and selectingIgnore rich text commands
.Insert the following before the first line in the file:
Append
EOF
as a separate line at the end of the file.It should now look something like this:
Save this as a
Plain Text
file and execute directly as a shell script or call it via the AppleScriptdo shell script
command.This kind of solution will work with most other applications that support Rich Text format.
不确定您正在寻找的功能,但这将从剪贴板中获取一个数字并将其处理为链接,并将该链接作为标准 href URL 放在剪贴板上,该 URL 将以纯文本或富文本形式工作,例如:
错误号 777 链接
更改
到您的工作 URL。Not sure exactly the function you're looking for, but this will take a number from your clipboard and process it into a link and put the link on the clipboard as a standard href URL that will work in plain or rich text, like:
<a href="http://<bugzilla_server>/bugzilla/show_bug.cgi?id=777" title="777">Bug number 777 link</a>
Change
<bugzilla_server>
to your working URL.