Safari用MakeLink代替AppleScriptを改良した

  • 投稿日:
  • by
  • カテゴリ:

Safari用MakeLink代替AppleScriptをいじってみた で、Safariで動くMakeLinkっぽいAppleScriptを作った。

こいつはかなり便利で私は満足に使っているのだが、
一つだけ気になる点があった。
<a>タグの方は満足なのだが、<blockquote>タグで囲む方が、
引用した文章の改行を反映せずに、全部一行で表示してしまうのだ。

例えば、上の段落に対してScriptを発動させると、

こいつはかなり便利で私は満足に使っているのだが、 一つだけ気になる点があった。 <a>タグの方は満足なのだが、<blockquote>タグで囲む方が、 引用した文章の改行を反映せずに、全部一行で表示してしまうのだ。

みたいになってしまって読みにくいというわけだ。ので、改良した。
ファイルはこちら→MakeLink_for_Safari(bq)2.app.zip

ダブルクリックで解凍して ホーム/Library/Scripts に放り込んで使う。
Butlerなどを使ってショートカットキーを設定するとなお便利。
やり方はこちらで説明した。→Safari用MakeLink代替AppleScriptをいじってみた

ソースは以下の通り。

tell application "Safari"
set theURL to URL of document 1 as Unicode text
set theTitle to name of document 1 as Unicode text
set theSelection to do JavaScript "unescape(escape(getSelection()));" in document 1
end tell

set unixLF to ASCII character 10
set theResult to ""


-- titleタグ除去 、「'」→「"」、<p>→<div>
if theSelection is "" then
set theText to "<blockquote cite=\"" & theURL & "\">" & return & "<div>" & return & "<cite><a href=\"" & theURL & "\">" & theTitle & "</a></cite></div>" & return & "</blockquote>" & return

else

-- paragraphの数
set numOfPara to count paragraphs of theSelection

repeat with paraIndex from 1 to numOfPara
--text形式にすると改行コード取れる
set theContent to paragraph paraIndex of theSelection
set theLine to tab & theContent & "<br />" & unixLF
set theResult to theResult & theLine
end repeat


set theText to "<blockquote cite=\"" & theURL & "\">" & return & "<div>" & return & theResult & "<cite><a href=\"" & theURL & "\">" & theTitle & "</a></cite>" & return & "</div>" & return & "</blockquote>" & return


end if

set the clipboard to theText as Unicode text

さて、実際に使ってみよう。

3.
Safari用MakeLink代替AppleScriptをいじってみたが便利なのだが、
人間は欲深いもので、改行ごとに<br />とか入れてみたくなってきた。
なんとかしなくちゃー(棒読み)

気になっていること '09 12月 (うむらうす)

理想通り!ブラボー!