[Mac] どこからでも AppHtml を呼び出す - サービスメニュー版を作ってみたよ♪

このエントリーをはてなブックマークに追加 Pocket

MarsEdit などのブログエディタで記事を書いているときに Web ブラウザが起動していないこともありますよね。そんなときに AppHtml を使いたくなりました。でも、わざわざブラウザを起動するのは面倒です。

ということで、Bookmarklet をサービスメニューとして実装(移植)してみました。

導入手順

  1. サービスワークフローの Zip アーカイブをダウンロードする
  2. こちらからダウンロードしてください。

  3. Zipアーカイブを展開する
  4. Zip アーカイブを展開すると AppHtml.workflow ファイルが作成されます。

  5. (必要に応じて) Linkshare のサイト ID とテンプレ内の書式No.のデフォルト値を設定する
  6. Finder で AppHtml.workflow をダブルクリックしてください。 Automator が起動して、AppHtml.workflow の内容が表示されます。

    Linkshare のサイト ID とテンプレ内の書式 No. を設定する場所は以下の画面の通りです。

    AppHtml.workflow.jpg
  7. ワークフローファイルを /Users/(ログインアカウント)/Library/Services にコピーする
  8. Finder で見ると以下のパスです。

    ServicesPath.jpg
  9. キーボードショートカットを設定する
  10. システム環境設定でキーボードショートカットを設定しましょう。キーボードから AppHtml を呼び出せるようになります。

    AppHtml_Shortcut.jpg

実行例

表示される画面は Bookmarklet 版と基本的には同じです。

AppHtml を起動するとアプリ名の入力画面が表示されます。

InputAppName.jpg

テキストボックスの内容は AppHtml 起動時のクリップボードの内容です。アプリ名をクリップボードにコピーしてから AppHtml を起動すれば OK ボタンをクリック(キーボードの場合は return)するだけです。

次に、テンプレ内の書式No. の入力画面が表示されます。

InputTemplateNumber.jpg

お好みの番号が入力された状態にして OK ボタンをクリック(キーボードの場合は return)してください。

しばらくすると、見つかったアプリ名の画面が表示されますので、結果の HTML に含める場合は OK を、含めない場合は Cancel ボタンを選択してください。

AppResult.jpg

最後に結果画面が表示されます。

AppHtmlResult.jpg

テキストボックスの内容をクリップボードにコピーして、ブログエディタなどにペーストしてください。

あとがき

今回のワークフローの Yahoo! Pipes へのリクエスト以降の処理は Python で実装しました。

最初は AppleScript と Python で実装しようとしていましたが挫折しました。 配布を考えると一つのファイルにしたくて、AppleScript 内に Python スクリプトを書いていたのですが、 引用符のエスケープがどうしてもうまくいかなくて(^^ゞ

まあ、しかし、今回のワークフローの実装を通して、AppleScript や Automator の面白さがわかってきました。(^^♪

最新情報はこちら: Happy-Go-Lucky: MarsEdit

MarsEdit のマークアップマクロで簡単マークアップ

このエントリーをはてなブックマークに追加 Pocket

R-style さんで進行中の 【企画】「あなたのBlog術教えてください!」企画第二回 にエントリしてみようと思います。

こちらの記事と同様、エディタの使い方です。

今回はブログエディタ MarsEdit で HTML マークアップを簡単にしてしまおうというお話です。

マークアップマクロ

MarsEdit にはマークアップマクロという機能があります。マークアップマクロは HTML テキスト編集モードで使用するものです。

エントリ編集画面を選択した状態で、MarsEdit のメニューから Format > Edit を選択すると以下の画面が表示されます。

MarkupMacros.jpg

デフォルトでは、これだけのマクロが定義されています。では、Paragraph マクロの内容を見てみましょう。Paragraph マクロを選択して Edit ボタンをクリックしてください。

ParagraphMacro.jpg

Paragraph マクロは p タグを挿入するだけです。

それなら TextExpander と同じじゃないか!となりますが、マークアップマクロでは、マクロ実行時に選択されているテキストをマクロ内に含めることができるのです。

マクロ編集画面下部の [Insert Placeholder] から「selected text」を選択すると、選択されたテキストを指定するキーワードが挿入されます。

ParagraphMacro2.jpg

では、Paragraph マクロを実行してみましょう。以下のようにテキストが選択された状態で Paragraph マクロを実行すると、

SelectedText.jpg

一瞬で p タグを付けることができるのです。

SelectedText2.jpg

キーボードショートカットを設定する

マークアップマクロにはキーボードショートカットを設定することができます。 やはりマウスよりキーボードの方が早く操作できます。

マークアップマクロの編集画面で [Shortcut] 欄をクリックして、お好みのキーをタイプしてください。

ParagraphMacro3.jpg

なお、テキストの選択もキーボードで行ったほうが断然はやいです。以下のエントリをご覧下さい。

マクロ内に改行を含めたい場合

マクロ内に改行を入れようとして return キーをタイプしても、OK ボタンを押したことになり、マクロ編集画面が閉じてしまいます。

option キーを押しながら return キーを押せば、マクロ内に改行を入れることができます。

OrderedListMacro.jpg

私のマークアップマクロ

こんな感じです。

MarkupMacros2.jpg

まとめ

マークアップマクロを使用することで素早く簡単にマークアップを行うことができます。

お気に入りのテキストエディタで文章を書いた後にマークアップをする、というプロセスに適しているでしょう。

MarsEdit はマクロ以外に、AppleScript で機能拡張ができるようです。こちらは今後ゆっくりと調べていきたいと思います。

bit.ly短縮URLリンク作成ブックマークレット

このエントリーをはてなブックマークに追加 Pocket

@sta7ka さんがつぶやいていたので作ってみました。

bit.ly API による URL の短縮は Yahoo! Pipes で実装しています。bit.ly の API キーは秘密にしておいた方がよさそうだからです。

使用手順

  1. こちらのパイプをコピーしてください。
  2. パイプをコピーしたら、bit.ly のログインIDとAPIキーを Private String モジュールに入力してください。bitly_login+apiKey.jpg
  3. ブックマークレットをブックマークしてください。
  4. ブックマークレット内の「p = 'PIPES’」の部分をコピーしたパイプのURLに置換してください。
  5. ブックマークレットを実行すると、リンクテキストが表示されます。linkResult.jpg

結果はこんな感じになります。→ Happy-Go-Lucky

パイプはこれをコピーして少しだけ弄っただけですけどね( ̄ー ̄)ニヤリ

[Pipes] Yahoo! Pipes講座05受講 - 腑に落ちない些細な点

このエントリーをはてなブックマークに追加 Pocket
[Pipes] Yahoo! Pipes講座05(ItemBuilder) | 普通のサラリーマンのiPhone日記

受講しました。04まではすんなりいったのですが、以下の部分で腑に落ちない点があるのです。

上記がiTunesリンク。ここに以下の変換を噛ませてみる。

「% → %25」「 → %20」「” → %22」「& → %26」「’ → %27」「/ → %2F」「? → %3F」「\ → %5C」「: → %3A」「= → %3D」

そして更にもう一回。

「% → %25」「 → %20」「” → %22」「& → %26」「’ → %27」「/ → %2F」「? → %3F」「\ → %5C」「: → %3A」「= → %3D」

すると…。さっきの赤字の部分になります(゚Д゚ )!

iTunes Link Maker で ' はエンコードされない

以下のように入力して確認しましたが、エンコードされないんですよね。

ITMS Link Maker.jpg

エンコードについては encodeURIComponent() と挙動は同じなのではないかなと。

デコード時は %27 が ' にデコードされるようなので動作上の問題はありませんが、iTunes Link Maker と結果が異なるのは気持ちが悪いのです。

2 回目の変換は冗長では?

1回目の変換で % 以外の置換対象文字は存在しなくなっているので、2回目の変換は % のみを置換すればよいのではないかなと。

ということで私はエンコード処理を 1 つの Regex モジュールにまとめて、以下のようにしてみました。

Pipes_ editing _LinkShareLink_.jpg

まあ、処理結果は変わらないのですが。

hiro45jp さんのオリジナルのパイプは 2 回の encodeURIComponent() を実行しているイメージなのかと推測します。

LinkShare 側は decodeURIComponent() を 2 回実行しているイメージのようですが、なぜ 2 回なのかその理由がわからないんですよね。。。

アドレスブック経由で2ちゃんねる顔文字辞書をiPhoneにインポートする

このエントリーをはてなブックマークに追加 Pocket

顔文字辞書が便利だ

Macに2ch顔文字をインポートする方法 | Last Day. jp
基本的にTwitterはiPhoneでやる事が多い。何故ならiPhone iOSの日本語入力に顔文字が追加されて、とても使い勝手が良いからだ。 しかもMY辞書登録で2ちゃんねる顔文字辞書(100件)を登録してみる | 普通のサラリーマンのiPhone日記この記事のはてな被ブックマーク数でhiroさんがご紹介されている顔文字を使うとTwitterの快適さが増す。 これをMacでもできないかと探していた所、やり方を見つけたので紹介します。

を読んで、Mac に顔文字辞書をインポートしてみました。

便利ですね。これ。iPhoneにも登録したいなぁと思いました。

LastDay.jp さんでも紹介されていますが、hiro45jp さんが「MY辞書登録」でインポートする方法を紹介されています。

MY辞書登録で2ちゃんねる顔文字辞書(100件)を登録してみる | 普通のサラリーマンのiPhone日記
巡回先のAppBankさん、どんぴさん、でんまーく(NASHIKO)さん等々で紹介されてた「MY辞書登録」。なんかすごい便利かも!ってことで(2chは書き込んだこともありませんが)2ch顔文字の辞書をインポートしてみました。

MY辞書登録 2.1(¥115) for iPhone

iPhone、iPod touch および iPad 互換 iOS 2.2.1 以降が必要

MY辞書登録 2.1
カテゴリ: ユーティリティ
価格: ¥115 App
更新: 2010/01/15


imagesimages

「MY辞書登録」は¥115なのでこれを購入してもよいのですが、せっかくなので(?)別の方法を考えてみました。

基本戦略

辞書の項目が iPhone の連絡先に登録されればよいのですから、Mac のアドレスブックにインポートして iPhone と同期する作戦です。

さて、Mac のアドレスブックへのインポートですが、フォーマットは以下の 3 つの選択肢があります。

  • vCard 形式
  • LDIF 形式
  • テキストファイル(CSV or TSV)
アドレスブックのアーカイブは今回は対象外です。アドレスブックのアーカイブがあるならすでにアドレスブックに辞書がインポートできている状況ですから(^o^)

今回は vCard 形式としました。それぞれのフォーマットを調べるのが面倒だったので、アドレスブックから既存のアドレスを vCard 形式でエクスポートして、そのファイルを参考にしました。

2ちゃんねる顔文字辞書を vCard 形式に変換する

さて、Mac のアドレスブックにインポートできるように、辞書を変換する必要があります。

2ちゃんねる顔文字辞書・2chアスキーアート・AAアイコン素材 MatsuCon - 顔文字辞書ダウンロードこの記事のはてな被ブックマーク数

よりダウンロードした辞書はテキスト、vCard もテキストで、単純な構造ですから1000件の変換を行えばよいわけです。

私は以下のような python スクリプトを書いて変換しました。辞書は Google 日本語入力用のものです。

#!/usr/bin/env python

import sys

line = sys.stdin.readline()
while line != "":
    items = line.split("\t")
    sys.stdout.write("BEGIN:VCARD\r\n")
    sys.stdout.write("VERSION:3.0\r\n")
    sys.stdout.write("N:;" + items[1].replace(";", "\\;") + ";;;\r\n")
    sys.stdout.write("X-PHONETIC-FIRST-NAME:" + items[0] + "\r\n")
    sys.stdout.write("END:VCARD\r\n\r\n")
    line = sys.stdin.readline()

詳細な解説は割愛させてくださいね( ´∀`)

python ってヒアドキュメントができなかったかなぁと思いましたが、調べるのが面倒でした。

2011-12-10 ';' が含まれる項目が正しく処理できていなかったので変換スクリプトを修正しました。

変換した vCard ファイルを公開しますね。

google_std.vcf

仕上げ

Mac のアドレスブックを起動し、[ファイル]-[読み込む]-[vCard...] を選択して、google_std.vcf をインポートします。

あとは iPhone に同期して完了です。( ー`дー´)キリッ

IMG_0047.PNG

実は Mac のアドレスブックにインポートした項目はグループに登録されないので、これは手作業で行いました(つд⊂)エーン

Markdown 記法で HTML と疎遠になる

このエントリーをはてなブックマークに追加 Pocket

HTML って書きにくいし読みにくい

想造ノートさんの以下のエントリを読んで、これはイイと思いました。

想造ノート: iPadやiPhoneが発売された今、改めてMarkdown記法について詳しく書いてみる。

最近ブログ記事はもっぱらMarkdown記法でまとめています。
PomeraやiPad、もしくはiPhoneで記事編集をしたいけど、

  • タグ付けが面倒だったり、
  • タグ付けすることであとで確認しにくかったり。

2つとも同感です。

タグ付けに関しては、TextExpander である程度軽減されますがそれでも手間がかかりますし、あまり面白い作業ではないですね。

確認しにくいという点も異論はないでしょう。使用するタグの複雑さにもよるとは思いますが、読みにくいものは読みにくいのです。(^^;

「WYSIWYG エディタを使えばよいのでは?」という声が聞こえてきそうですが、iPhone などでの WYSIWYG 編集は現実的ではないと思いますので(やろうと思ったことがないので知らないけどw)、編集環境が制限されるのがデメリットだと考えています。

Markdown 記法って?

以下を御覧ください。(^^;

2つ目と3つ目のページは想造ノートさんのエントリでも紹介されています。

運用

現時点で私は次のように運用しています(しようと思っています)。

  1. ラフスケッチをノートに書く
  2. Simplenote で下書き(Markdown記法)
  3. MarsEditでプレビューしつつ推敲
  4. Showdown - Markdown in JavascriptでHTMLに変換してポスト

Simplenote を使用するのは iPhone でも編集できるようにするためです。

4 が面倒です。ブログシステム側に Markdown 記法を変換して表示する機能があるとよいのですが、私が使用している Blogger にはそのような機能はありません。何かよい方法はないものか…

ちなみに

Posterous で Markdown 記法を使用する方法

Markdown - Posterous Help

Markdown形式のテキストを<markdown></markdown>で囲むと HTML に変換して表示されます。

メールでポストする場合は、本文を上記の形にして送信します。Simplenote にざざっと書いて、そのまま Posterous にメールでポストというやり方もよさそうですね。

Posterous の Web 上のエディタを使用する場合は、[HTML] ボタンをクリックして HTML モードにして編集します。

実際にやってみたところ、Posterous では Markdown 記法の中に HTML タグを書くとダメみたいです。要注意です。

Tumblr で Markdown 記法を使用する方法

Markdown now supported via email, mobile | Tumblr Staff

メールでポストする場合に、サブジェクトか本文に !m と書くと Markdown 記法が有効になるそうです。

WordPress で Markdown 記法を使用する方法

PHP Markdown というプラグインがあるようです。

まとめ

Markdown 記法を用いることで、以下のメリットが得られると私は考えます。

  • 素早く書ける
  • 編集しているテキストが見やすい

「素早く書ける」というのは単純にタイプ数の違いだと思います。例えば、p タグを打つより enter キーを2回タイプする方が速いですよね?(TextExpander でタイプ数を減らすことはできますが。)

「編集しているテキストが見やすい」のは、出来上がり(HTMLをレンダリングしたもの)とイメージが近いためでしょう。

HTML は文書の各要素に意味を与えるものであり、その意味を解釈するのは計算機です。つまり、機械処理のためのタグ付けなので、人間にとって書きづらくて読みづらくても不思議ではありません。

表現できない要素や細かな調整ができない要素がありますので、HTML を書かずに済むというわけではありませんが、Markdown 記法でちょっぴり HTML と疎遠になれるのではないかと思います。

書きやすくて読みやすい Markdown 記法、おすすめですよ。

--
今日は体調不良で自宅療養していますのでゆっくりとブログを書いてみました。


関連記事:

Happy-Go-Lucky: [MarsEdit] Markdown 記法でブログを書く

Toodledo で「場所」が扱えるようになったよ

このエントリーをはてなブックマークに追加 Pocket

昨日、Toodledo を触っていたら、左側のメニューに見慣れない項目を見つけました。

Toodledo_Locations.jpg

何と!Toodledo で「場所」が扱えるようになったようです。

どうやら Remember The Milk の「場所」と同様、タスクに場所を割り当てることができるようです。

場所を登録してみる

まずは、メニューの [Locations] を選択して場所を登録してみましょう。

ToodledoManageLocations.jpg

場所の名前と住所を入力して [Add] ボタンをクリックしてください。住所は Google マップなどで調べるとよいでしょう。

住所は入力しないで、あとから検索したり、直接ピンを置くことができるようなのですが、検索はうまく動作しませんでしたし、ピンを置いても住所の情報が [Extra Info] 欄に反映されるわけでもないようです。個人的にはデータが見えていないと不安なので(^^;)、面倒ですが住所を調べて入力しています。場所の登録は Remember The Milk の方が使いやすいですね。

タスクに場所を割り当てるには?

まず、[Account Settings] の [Fields/Functions Used] で「Location」を表示するよう設定を変更します。するとタスク一覧に「Location」が表示されるようになりますので、登録済みの場所を選択すれば割り当て完了です。

Toodledo の Webインターフェースに Location のビューも新たに追加されていますので、場所ごとにタスクを確認することができるようになります。

モバイル環境での場所を基点としたタスクの確認

場所の割り当てが役に立つのは出先ではないかと思いますが、現時点で「場所」を扱える iPhone アプリは存在しないようです。近日中に Toodledo for iPhone の新バージョンがリリースされるのではないかと思います。サードパーティの iPhone アプリも追随することでしょう。

それまでの間は(?)、Mobile Safari でこちらにアクセスする方法で凌ぎましょうか(^^;

IMG_0006-1.jpg

URL をホーム画面に保存しておくとよいでしょう。

まとめ

Toodledo で「場所」を扱うことができるようになりました。

将来的には、ある場所に近づくとそこで実施するタスクがあることがアラートされるようになるかもしれませんね。楽しみです。(Omni Focus はすでに実現済みでしたっけ?)

私はこれまで場所を「コンテキスト」として管理してきましたが、今後は「いまどこにいるか」という文脈は「場所」に譲り、それ以外の状況を「コンテキスト」に割り当てることになりそうです。

ただ、場所以外のコンテキストを管理していないのが現状ですので、「場所」だけを利用するか、現状のまま「コンテスト」に場所を割り当てるだけの運用になる可能性もあります。

iPhone アプリが「場所」をサポートするまでにもう少し時間があると思いますので、ボチボチと検討を進めていきたいと思っております。