yaotti's diary

Software is Eating the World

Kanasan.JS Jetpack workshop

Kanasan.JSJetpack workshopに参加してきました.
Jetpackワークショップ ( Kanasan.JS : JavaScript Workshop in Kansai)
今日はいつもの読書会やコードリーディングと違い,参加者でペアになってJetpackアプリを作成するワークショップ形式でした.
ぼくはkmdsbngさん(blog:カメログ(2009-11-18))とペアになって,今開いているページのURLを後で読む用にストックする拡張を作りました.
レポジトリkmdsbng/stockit · GitHub
こんなの

I am Jetpack. - Firefox
Uploaded with plasq's Skitch!

ステータスバーにあるボタンをクリックするか,右クリックして出るメニューを選択すると今開いているタブが左のサイドバーに追加される,という拡張です.
ローカルストレージ*1に保存するので,Firefoxを閉じても消えたりはしません.


コーディングする時間は3時間程度しかなかったのですが,最低限の機能は実装できました.
他のチームはW3C validatorとかtwitter検索スライドバー(使っていなかったけれど,jetpackにはtwitterライブラリがあるらしい)などを作っていました


Jetpackは結構グリモンに似ているのですが,面白い所は

  • jQueryが何もしなくても使える
  • インターフェースをいじれる
    • 自分でメニューをコンテキストメニューやツールメニューに追加できる
    • ステータスバーにボタンなどを設置できる
    • スライドメニューを作れる
  • ローカルストレージを使えるので,拡張用情報を保存できる
    • 使い方も簡単で,オブジェクトのプロパティに代入するだけ
  • 拡張と違って再起動が必要ない,気軽に入れたり外したりできる


拡張と違ってJSだけ書けばいいので,敷居はかなり低いです.jQueryも使えるし.
ただJetpackはまだ開発途中なのでドキュメントがない*2とかそういう大変さはあるかもしれません.


グリモンでできないことをやりたいけど,拡張を作るのはちょっと…という人はJetpackを試してみるとどうでしょうか.

懇親会にて

zsh

id:mollifierさんにzshについていろいろ教えてもらいました.

ls ^*.txt  # *.txtにマッチしないファイル一覧
ls *~*.txt # 同上

コマンドを打ってから,そのwhereを実行したいことがたまにあったんですが,以下のように書くとEsc(C-[) w と打てば表示してくれる!

function exec_where() {
    POSTDISPLAY="
$(where ${BUFFER})"
}

zle -N exec_where
bindkey '^[w' exec_where

shellにはいろいろありますねー.

MozRepl

以前ちょっとさわったけど,その時はあまりJSを書かなかったので忘れてた.
改めて今見るとかなり便利に使えそうな気がする.
最速インターフェース研究会 :: Firefoxの拡張MozLabの中に含まれるMozReplがヤバすぎる件について
Firefox 拡張機能 mozlab 面白れー - とりあえず暇だったし何となく始めたブログ

*1:jetpackは専用のsqliteを持ってるぽい

*2:参考になるのはコード