我们与bugzilla合作。每当你需要查询一个票证时,你只需要知道bugid(整数),然后你就可以将它添加到它中。
http://<bugzilla_server>/bugzilla/show_bug.cgi?id=<bug_id>
假设我有一个类似于777的错误链接。如果我选择并复制它,它将保留在粘贴板上,因此当我将其粘贴到邮件中时,它将正确保留链接及其属性。
我正在寻找的是简单类型'777'选择它并在其上运行一个applescript并用上面的链接替换它。任何人都可以帮助我吗?
答案 0 :(得分:3)
以下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)
会自动更改为您保存的网址文字:
http://bugzilla_server/bugzilla/show_bug.cgi?id=777
这也适用于其他支持Cocoa文本的应用程序,如Safari。
编辑:
在谈论在电子邮件中撰写URL链接时,至少有三种不同格式的电子邮件,每种格式都有不同的解决方案。既然你没有说你正在使用哪种,我将涵盖所有三种:
纯文本格式 - 虽然某些电子邮件阅读器可能会为纯文本网址提供可点击的链接,但无法在撰写的电子邮件中“隐藏”该网址。
HTML格式的电子邮件 - Apple的Mail.app
不支持以此格式撰写电子邮件,尽管它会显示它。使用其他邮件编写客户端或您自己的程序,使用标准HTML锚点<a href=...>
标记撰写链接非常容易。
富文本格式电子邮件 - AFAIK,这是使用Mail.app
撰写网址链接的唯一方法。不幸的是,似乎没有一种简单的方法可以使用AppleScript命令直接创建RTF超链接。基于建议here,这是通过剪贴板创建可修改的RTF模板来实现的。
TextEdit.app
中,创建一个新的文档窗口。777
。777
的完整URL;单击“确定”。temp.rtf
- &gt;将文件(⇧⌘S)保存为File Format
Rich Text Format
。temp.rtf
并选择Ignore rich text commands
。在文件的第一行之前插入以下内容:
#!/bin/sh
sed -e "s/777/$(pbpaste -Prefer txt)/g" <<EOF | pbcopy -Prefer rtf
在文件末尾附加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
文件并直接作为shell脚本执行,或通过AppleScript do shell script
命令调用它。
此类解决方案适用于支持RTF格式的大多数其他应用程序。
答案 1 :(得分:1)
不确定您正在寻找的功能,但是这将从剪贴板中取出一个数字并将其处理为链接,并将链接作为标准href URL放在剪贴板上,该URL将用于纯文本或富文本格式,喜欢:
<a href="http://<bugzilla_server>/bugzilla/show_bug.cgi?id=777" title="777">Bug number 777 link</a>
将<bugzilla_server>
更改为您的工作网址。
set bug_number to the clipboard
set the_text to "<a href=\"http://<bugzilla_server>/bugzilla/show_bug.cgi?id=" & bug_number & "\" title=\"" & bug_number & "\">Bug number " & bug_number & " link</a>"
set the clipboard to the_text