スニペット展開アプリのTextExpanderの代替アプリとしてDashを使用する

  1. 公開日:
  2. Mac,WordPress
  3. ,
  4. 0
4
SHARES
B!

Macにおけるブログ執筆時には、文字入力の補助としてスニペット展開アプリであるTextExpanderを使用してきましたが、そろそろ最新版以外のサポートの打ち切りが見えてきたため、将来性を鑑みスニペットを移行することとしました。弊サイトにおいても、ブログ執筆時に便利!TextExpanderでSafari、Google ChromeからURL、タイトルを瞬時に取得する方法 – OTTAN.XYZでご紹介したように、TextExpanderによる作業効率化の恩恵は多々受けていたのですが、月額制に移行するほどのものではないと思い、今更ですがDashに移行しました。

ドキュメント検索からスニペット展開までを補う開発者必携アプリ「Dash」

「Dash」は、WordPressでも使用されているPHPやMySQL、JavaScript、jQuery、HTML、CSSといった多種多様な言語のドキュメント参照用アプリであるとともに、文字入力の補助として使用できるスニペット展開アプリでもあります。

https://kapeli.com/dash

基本的に無償で使用することが可能ですが、無償版においてはドキュメント参照時に瞬時に表示されず一定時間(数秒間)待つ必要があります。たまに参照するぶんには全くもって問題ありませんが、頻繁に利用するには有償版を購入することをオススメします。

スニペット展開は無償で使用可能

ドキュメント参照は、上記のように無償版、有償版で機能に差異がありますが、スニペット展開においては機能差異はありません。単純に文字列を展開するだけであれば、「Dash」は有用なスニペット展開アプリです。「TextExpander」がスニペット展開に特化したアプリであり、例えばAppleScriptやJavaScriptと連携してスニペットを展開したり、特定のアプリケーション内のみでスニペットを展開するなど融通がきいたりするのですが、逆にそこまで融通を利かす必要のない場面においては、「Dash」でも十分にスニペット展開を補うことができます。

スニペットは、「Dash」を起動し、メニューから新規作成(+N)で登録可能です。スニペットはグループ化(タグ付け)することが可能であり、用途によってタグを使い分けることで整理することが可能です。

例えば、MarsEditでブログを執筆する上で、以下のようなスニペットを登録しておくと便利でしょう。「Abbreviation」とは、スニペットを登録するためのキーワードです。文字列入力中に、「Abbreviation」を入力することで即スニペットが展開されます。注意点としては、例えば、Safariなどスニペットを展開したくないアプリにおいてもスニペット展開は有効であるため、「Abbreviation」の先頭に通常使用しない(使用頻度の低い)文字列を登録しておくと良いでしょう。

AbbreviationSnippet
;pp<p>@cursor</p>
;<<&lt;
;href<a href="@clipboard" target="_blank">__placeholder__</a>
;twitter<a href="https://twitter.com/ottanxyz" target="_blank">@ottanxyz</a>

例えば、上記のようなスニペットを登録することができます。「@」から始まる文字列は特殊文字列(プレースホルダー)です。

Placeholders内容
@clipboardスニペット展開時にクリップボードの内容に置換されます。例えば、URLをコピーしておいて、スニペットを展開すると、展開後にそのURLに置換されます。<a>タグと相性が良いです。
@cursorスニペット展開後にカーソル位置を移動します。<p>タグ等で多用します。
@dateスニペット展開後に、現在日付に置換されます。日付のフォーマットは任意に変更可能です。私は使用していません。
@timeスニペット展開後に、現在時刻に置換されます。時刻のフォーマットは任意に変更可能です。私は使用していません。
__placeholder__スニペット展開後、ダイアログが表示され、ダイアログで入力した文字列に置換されます。長文には向きません。

__placeholder__の使用方法がイメージしづらいですが、スニペット展開後に下記のダイアログが表示されます。下記では、参照先としてURLをクリップボードから展開し、タグの内容を自分で入力して補完するようにしています。

また、全てのスニペットの先頭に同様の文字列(今回は「;」)を使用することで、スニペット検索時、スニペット展開時に統一感を持たせることができ快適に使用できますのでオススメです。前述のように日常的に使用しない文字列にしておきましょう。

このように、Dashは、TextExpanderのスニペット展開を補って余りある機能を持ち合わせています。AppleScriptやJavaScriptなどを使用して複雑なことはできませんが、MarsEditのスクリプトで十分代替可能です。例えば、私はMarsEditのスクリプトに以下のスクリプトを登録しています。

global pageURL
global pageTitle

tell application "Safari"
	set pageTitle to get name of current tab of window 1
	set pageURL to get URL of current tab of window 1
end tell

set the clipboard to "<a href=\"" & pageURL & "\" target=\"_blank\">" & pageTitle & "</a>"

Safariの現在のタブのURLとタイトルを取得して、<a>タグの内容に整形してクリップボードにコピーする文字列です。コピーした文字列はそのまま+Vでペースとしています。

まとめ

スニペット展開用のアプリとして「Dash」をご紹介しました。有名なアプリですのでご存知の方も多いかと思いますが、ブログを執筆されている方の参考になればと思います。

https://kapeli.com/dash
この記事が気に入ったらいいねしよう!
こちらの記事も読まれています
ご意見ボード
匿名で管理人に送信されます。※送信専用です。返信はできません。
ご指摘・ご意見
Top