[Firefox] Googleリーダーで全文表示+α

このエントリーをはてなブックマークに追加 Pocket
google-reader-logo.png

1月に Mac OS を Snow Leopard にアップグレードしてから、Reeder for Mac を使い始めました。 記事の表示スピードが速く、表示もキレイで気に入っています。

特に Readabifirefox-256.pnglity は便利です。 全文配信をしていない RSS フィードを全文表示してくれますから。 元記事を表示するよりも早いらしいですよ。 ただし、すべてのフィード(サイト)で Readability が使用できるわけではないようです。

Mac では Reeder を愛用していますが、Windows で RSS を読むこともあります。 Windows では Firefox で Google リーダーにアクセスするのですが、全文配信していない記事が気になった場合は元サイトを開くことになり、それが面倒で読まないこともあるのです。

Google Reader Full Feed Mod

何とかならないものかと探してみたところ、 Google Reader Full Feed Mod という Greasemonkey スクリプトを発見しました。

Googleリーダーでアイテムの全文を表示します。 また、そのアイテムの元記事に次のページがある場合、次ページの全文を継ぎ足し表示できます。 Firefox 3.5以降に対応。

まさに探し求めていたものです。 しかも複数ページの場合に継ぎ足しまでしてくれます。 さらに、その記事の被ツイート数、はてブ数、delicious ブックマーク数も表示してくれます。

スクリプトのページから引用しつつ画面イメージと共にご紹介します。

基本

Googleリーダーの「リスト表示」モードでアイテムを開いたとき、もしくは「全文表示」モードでアイテムを選択したとき、アイテム名の右隣に表示されるアイコンをクリックするかキー(デフォルト:Zキー)を押すと、そのアイテムの全文を表示します。
GoogleReaderFullMod1.jpgGoogleReaderFullMod2.jpg

継ぎ足し

次のページがある場合、再びアイコンをクリックするかキーを押す、もしくは下のほうへアイテムをスクロールすると、次ページの全文を継ぎ足し表示します。
GoogleReaderFullMod3.jpgGoogleReaderFullMod4.jpg

注意点

初回利用時にwedataのLDRFullFeedデータベースとAutoPagerizeデータベースの全アイテムをJSON形式で取得して、キャッシュとして保存します。
このキャッシュがないと全文表示や継ぎ足し表示ができないため、初めて利用するときサーバーからキャッシュを読み込めなかった場合、wedataについてなどのページを一度開いてみて、wedataのサーバーが落ちていないか確認してください。
キャッシュを保持していればwedataのサーバーが落ちていても問題ありません。
about:configの「dom.storage.enabled」がfalseになっている場合はtrueにしてください。

残念ながら Google Chrome では動作しない

Works with Firefox 3.5+ with Greasemonkey.
とのことです。

まとめ

Readability と同様、すべてのページで全文表示ができるわけではありませんが、Firefox での RSS 閲覧が快適になると思います。

Firefox ユーザの方はぜひお試し下さい。

MarsEdit のプレビューにブログの CSS を適用する

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

MarsEdit のプレビューにブログの CSS を適用すると、記事を書きながらブログ上での表示を確認することができますよ、というお話です。

Preview Template を編集する

プレビュー画面の [Edit Template] ボタンを押すと、Preview Template の編集画面が表示されます。

MarsEdit_Preview.jpg

内容は HTML ですので、ブログの CSS を反映させましょう。

MarsEdit_PreviewTemplate.jpg

このブログの CSS は単独のファイルになっていませんので、Blogger のテンプレート内から CSS を抜き出して Preview Template に反映させました。

あとがき

単純な話ですが、記事をアップする前にアップ後のイメージが確認できた方がよいですよね。

今回はそれだけの話です。

[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 のアドレスブックにインポートした項目はグループに登録されないので、これは手作業で行いました(つд⊂)エーン