<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Screw-Axis &#187; Jetpack</title>
	<atom:link href="http://screw-axis.com/category/tips/jetpack/feed/" rel="self" type="application/rss+xml" />
	<link>http://screw-axis.com</link>
	<description>flexible, elastic and principled.</description>
	<lastBuildDate>Fri, 04 May 2012 16:52:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>[Jetpack] 表示中ページのブックマーク数を自動表示</title>
		<link>http://screw-axis.com/2009/06/20/jetpack-social-screw/</link>
		<comments>http://screw-axis.com/2009/06/20/jetpack-social-screw/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 20:37:52 +0000</pubDate>
		<dc:creator>nao58</dc:creator>
				<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[開発]]></category>

		<guid isPermaLink="false">http://screw-axis.com/?p=602</guid>
		<description><![CDATA[まだまだテスト段階のJetpackですが、折角なので遊ぶだけでなく、何か役に立つものを作りたいなと思いやってみました。 使ったのは、v.2から実装されたスライドバー。ここに、現在表示中のページに付けられているブックマーク [...]
Related posts:<ol>
<li><a href='http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/' rel='bookmark' title='[Jetpack] v.2リリース：スライドバー搭載'>[Jetpack] v.2リリース：スライドバー搭載</a></li>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/' rel='bookmark' title='[Jetpack] インストールと開発環境構築準備'>[Jetpack] インストールと開発環境構築準備</a></li>
<li><a href='http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/' rel='bookmark' title='[Jetpack] Screw!ボタンをつけてみる'>[Jetpack] Screw!ボタンをつけてみる</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm1.static.flickr.com/175/424031605_819c16cfd9_m.jpg" alt="bookmark" title="bookmark" width="240" height="161" class="alignright size-full" style="margin-left: 5px;" />まだまだテスト段階の<a href="/jetpack/">Jetpack</a>ですが、折角なので<a href="/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/">遊ぶ</a>だけでなく、何か役に立つものを作りたいなと思いやってみました。</p>
<p>使ったのは、<a href="/2009/06/18/jetpack-v2-slidebar/">v.2から実装されたスライドバー</a>。ここに、現在表示中のページに付けられているブックマークを表示します。<br />
「このページ、どのくらい注目されてるのかな？」と思った時に、割と手っ取り早く分かって便利なんじゃないかと。<br />
現時点で対応しているのは「<a href="http://b.hatena.ne.jp/">はてなブックマーク</a>」と「<a href="http://clip.livedoor.com/">livedoorクリップ</a>」だけです。<br />
<span id="more-602"></span></p>
<h5>概要</h5>
<p>Mozillaが開発中のFirefoxプラグイン、Jetpackを用いて作ってみたブックマーク表示ツールです。<br />
<a href="http://screw-axis.com/wp-content/uploads/2009/06/jetpack-ss-snap.png"><img src="http://screw-axis.com/wp-content/uploads/2009/06/jetpack-ss-snap-300x225.png" alt="jetpack social-screw" title="jetpack social-screw" width="300" height="225" class="aligncenter size-medium wp-image-606" /></a><br />
左側に開いているのグレーのエリアが、今回作ったFeature。ここに、現在のページのブックマーク数が表示されます。</p>
<p>自由に開け閉めできますが、開きっぱなしにもできます。タブの移動やページ遷移でもチェックに行くので、鬱陶しかったら閉じてしまうのが良いかと。</p>
<h5>インストール方法</h5>
<p>まず、なにはともあれ<a href="/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/">Jetpackをインストール</a>してください。</p>
<p>次に、<a href="http://dev.screw-axis.com/jetpack-social-screw/">Social-Screwをインストール</a>します。<br />
上記リンクを辿った先のページにFirefoxでアクセスすると、ページ上部にインストールを促すバーが表示されます。ここで&#8221;Install&#8230;&#8221;ボタンを押すだけです。<br />
しかし何分非公式のサイトなので、非常に危なそうな警告ページが表示されてしまいます。しかしここは気にせず、ページ下部の&#8221;I know what I&#8217;m doing. Install it!&#8221;をクリックしてください。</p>
<p>これで完了のはずです。<br />
プラグインの設定やタブの表示位置によって若干異なるのですが、概ね左上あたりに青い矢印が表示されているでしょうか？これがスライドバーの開閉スイッチになっています。<br />
マウスを近づけるかクリックすると、左端が少し開いてネジの頭が表示されると思います。(先ほどのスナップショットでも見えます)<br />
これをクリックすると、表示領域が開きます。閉じるには、先ほどの青い矢印をもう一度クリックします。</p>
<h5>コード</h5>
<p><a href="http://github.com/nao58/jetpack-social-screw/tree/master">githubにホスティング</a>しておいたので、興味のある人は見てみてください。<br />
試行錯誤しながらだったので綺麗なコードとは言いがたいですが、100行ちょっとの短いコードです。<br />
<a href="/jetpack/jetpack-api-referencejetpack-api-reference/">Jetpack APIリファレンス</a>や<a href="http://semooh.jp/jquery/">jQuery日本語リファレンス</a>などと併せて見れば、簡単に読めると思います。</p>
<h5>今後の展開</h5>
<p>本当はtomblooのような、ここから投稿まで出来るツールを作りたかったのですが、ID/PWDをセキュアに保存する良い方法が無かったので、断念しました。<br />
自分個人用ならjetpack.storage.simpleで保存してしまっても良いのですが、公開するとなるとさすがに&#8230;<br />
それこそtomblooのようにAPIを認証させて使うのではなくPostをエミュレートするような形で実装するのが良いのかもしれませんが、そこまでやるパワーは無く。</p>
<p>結局、単純にブックマーク数を表示するだけのものですが、これはこれでと思います。<br />
# これを作ってみて、<a href="http://b.hatena.ne.jp/entry/about:blank">世の中変な人が多い</a>ことに気づきました :-p</p>
<p>本当は<a href="http://delicious.com/">delicious</a>を入れたかったのですが、URLをJavascriptでMD5にするのがメンドウで、今回はパスしました。Y!は基本的にはAPI公開してないし。もし要望があれば考えます。</p>
<h5>注意事項</h5>
<p>冒頭でも書きましたが、Jetpackは未だ実験段階の機能です。<br />
動作の怪しい部分は多々ありますので、導入する場合はあくまで自己責任でお願いいたします。</p>
<p>Related posts:<ol>
<li><a href='http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/' rel='bookmark' title='[Jetpack] v.2リリース：スライドバー搭載'>[Jetpack] v.2リリース：スライドバー搭載</a></li>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/' rel='bookmark' title='[Jetpack] インストールと開発環境構築準備'>[Jetpack] インストールと開発環境構築準備</a></li>
<li><a href='http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/' rel='bookmark' title='[Jetpack] Screw!ボタンをつけてみる'>[Jetpack] Screw!ボタンをつけてみる</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://screw-axis.com/2009/06/20/jetpack-social-screw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Jetpack] v.2リリース：スライドバー搭載</title>
		<link>http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/</link>
		<comments>http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 15:26:26 +0000</pubDate>
		<dc:creator>nao58</dc:creator>
				<category><![CDATA[Jetpack]]></category>

		<guid isPermaLink="false">http://screw-axis.com/?p=589</guid>
		<description><![CDATA[Jetpackのバージョン.2がリリースされたので、遅ればせながらAPIリファレンスを更新しました。 今回目に付いた変更は、スライドバー機能が搭載されたことです。 これによって、選択した文字列のWikipediaでの検索 [...]
Related posts:<ol>
<li><a href='http://screw-axis.com/2009/06/20/jetpack-social-screw/' rel='bookmark' title='[Jetpack] 表示中ページのブックマーク数を自動表示'>[Jetpack] 表示中ページのブックマーク数を自動表示</a></li>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/' rel='bookmark' title='[Jetpack] インストールと開発環境構築準備'>[Jetpack] インストールと開発環境構築準備</a></li>
<li><a href='http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/' rel='bookmark' title='[Jetpack] Screw!ボタンをつけてみる'>[Jetpack] Screw!ボタンをつけてみる</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm1.static.flickr.com/45/275890177_cf22f2bf5e_m.jpg" alt="jetpack" title="jetpack" width="240" height="196" class="alignright size-full" style="margin-left: 5px;" /><a href="/jetpack/">Jetpack</a>のバージョン.2がリリースされたので、遅ればせながら<a href="/jetpack/jetpack-api-referencejetpack-api-reference/">APIリファレンス</a>を更新しました。</p>
<p>今回目に付いた変更は、スライドバー機能が搭載されたことです。<br />
これによって、選択した文字列のWikipediaでの検索結果をサイドバーに表示したり、フラッシュムービーを横で流したまま他のページをナビゲートしたりといった、<a href="http://grabjuice.com/">Juice</a>のような機能を簡単に作ることが出来たりします。（続きに動画を載せました）</p>
<p>他にもXMLHttpRequestの追加やストレージ機能の実装など、本当に使える機能へ着々と進んでいると思わせます。<br />
<span id="more-589"></span></p>
<h5>XMLHttpRequestの追加</h5>
<p>これでAjax通信も可能になります。しかも、クロスドメインOK。<br />
確かにプラグインという性質上、現在表示されているページと同じドメインとしか通信できないというのはナンセンスです。しかしContent Documentに直接アクセスできる以上、セキュリティポリシーとして本当に良いのかなと疑問には思わせます。<br />
JSONPなどで幾らでも抜け道がある今、黎明期に作られたポリシーに縛られ続ける必要は無いとの判断なのかもしれませんが。</p>
<h5>スライドバー</h5>
<p>下手な文章で説明するより、以下の動画参照。<br />
<object width="400" height="248"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5102695&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5102695&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="248"></embed></object>
<p><a href="http://vimeo.com/5102695">Jetpack: Slidebar</a> from <a href="http://vimeo.com/user532161">Aza Raskin</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<h5>ストレージ</h5>
<p>jetpack.storage.liveおよびjetpack.storage.simpleが追加されました。<br />
ページ遷移してもオブジェクトを保持できるliveも便利ですが、Featureごとの設定を名前の衝突を心配する必要なしに使えるSimple Persistent Storage JEPの実装が大きいかと思います。</p>
<h5>Tabオブジェクトのドキュメント整理および機能追加</h5>
<p>最も重要なオブジェクトのひとつであるjetpack.tabsについてのドキュメントがリファレンス上で強化されました。<br />
それにあわせてrawなどの新たなプロパティも紹介されていますが、これが以前からあったのか、今回はじめて実装されたのかは未確認です。</p>
<p>詳しくは、<a href="/jetpack/jetpack-api-referencejetpack-api-reference/">Jetpack APIリファレンス</a>を参照してください。</p>
<p>Related posts:<ol>
<li><a href='http://screw-axis.com/2009/06/20/jetpack-social-screw/' rel='bookmark' title='[Jetpack] 表示中ページのブックマーク数を自動表示'>[Jetpack] 表示中ページのブックマーク数を自動表示</a></li>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/' rel='bookmark' title='[Jetpack] インストールと開発環境構築準備'>[Jetpack] インストールと開発環境構築準備</a></li>
<li><a href='http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/' rel='bookmark' title='[Jetpack] Screw!ボタンをつけてみる'>[Jetpack] Screw!ボタンをつけてみる</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Jetpack] Screw!ボタンをつけてみる</title>
		<link>http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Sun, 31 May 2009 03:43:20 +0000</pubDate>
		<dc:creator>nao58</dc:creator>
				<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://screw-axis.com/?p=334</guid>
		<description><![CDATA[先週、とりあえず開発環境を整えました。早速&#8230;でもないですが、何か作ってみましょう。 最初の一歩なので、カンタンなものから。 チュートリアルとAPIリファレンスを見ながら、以前用意した画像がスクリューするボタン [...]
Related posts:<ol>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/' rel='bookmark' title='[Jetpack] インストールと開発環境構築準備'>[Jetpack] インストールと開発環境構築準備</a></li>
<li><a href='http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/' rel='bookmark' title='[Jetpack] v.2リリース：スライドバー搭載'>[Jetpack] v.2リリース：スライドバー搭載</a></li>
<li><a href='http://screw-axis.com/2009/06/20/jetpack-social-screw/' rel='bookmark' title='[Jetpack] 表示中ページのブックマーク数を自動表示'>[Jetpack] 表示中ページのブックマーク数を自動表示</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>先週、とりあえず開発環境を整えました。早速&#8230;でもないですが、何か作ってみましょう。</p>
<p>最初の一歩なので、カンタンなものから。<br />
<a href="/jetpack/tutorial/">チュートリアル</a>と<a href="/jetpack/jetpack-api-referencejetpack-api-reference/">APIリファレンス</a>を見ながら、以前用意した画像がスクリューするボタンを付けてみます。</p>
<h5>とりあえず、ボタンを表示</h5>
<p>まずはアドレスバーに about:jetpack と入力して&#8221;I am Jetpack.&#8221;のページを表示します。<br />
ここの&#8221;Develop&#8221;タブで開発するのが、手っ取り早い。<br />
ページ中ほどの黒い矩形をクリックすると、Bespinのように編集可能な状態になります。<br />
ここに、次のようなコードを入れてみましょう。</p>
<pre name="code" class="javascript">
jetpack.statusBar.append({
  html: 'Screw!',
  width: 50
});
</pre>
<p>そして&#8221;try out this code&#8221;をクリック（以下、実行時には常にこの手順）<br />
ステータスバーに&#8221;Screw!&#8221;と表示されたかと。<br />
<span id="more-334"></span></p>
<h5>クリックしたらイベントが走るようにする</h5>
<p>次に、クリックイベントが拾えるかを確かめます。</p>
<pre name="code" class="javascript">
jetpack.statusBar.append({
  html: '<span style="cursor: pointer;">Screw!</span>',
  width: 50,
  onReady: function(widget){
    $(widget).click(function(){
      jetpack.tabs.focused.contentWindow.alert("!");
    });
  }
});
</pre>
<p>Screw!表示は、なんとなく押せそうなマウスカーソルに。<br />
クリックしたら&#8221;!&#8221;が表示されれば、ここまでは成功。</p>
<h5>スクリューさせる</h5>
<p>あとは実行時のコードを書くだけ。<br />
画像を舞わせるスクリプトについては基本的には説明しませんが、以前コッソリ書いたBookmarkletと違うのは、jQueryっぽく書き直してみたこと。<br />
その辺だけ少し。</p>
<pre name="code" class="javascript">
jetpack.statusBar.append({
  html: '<span style="cursor: pointer;">Screw!</span>',
  width: 50,
  onReady: function(widget){
    $(widget).click(function(){
      var doc = jetpack.tabs.focused.contentDocument;
      var R=0;
      var x1=.1;
      var y1=.05;
      var x2=.25;
      var y2=.24;
      var x3=1.6;
      var y3=.24;
      var x4=300;
      var y4=200;
      var x5=300;
      var y5=200;
      var DI=$(doc).find('img').css('position', 'absolute');
      setInterval(function(){
        var i=0;
        DI.each(function(){
          $(this).css({
            left: Math.sin(R*x1+i*x2+x3)*x4+x5,
            top: Math.cos(R*y1+i*y2+y3)*y4+y5
          });
          i++;
        });
        R++;
      },5);
    });
  }
});
</pre>
<p>注意が必要なのは1点だけ、18行目のDOM Selectorです。<br />
通常、ページ内でのセレクター指定は、findではなくjQuery関数を直接呼び出します。<br />
例えばここでの「img要素を全て取得」というものであれば、次のように記述するのが普通かと思います。</p>
<pre>
var DI = $('img');
</pre>
<p>しかし、これではJetpack内では対象となるDocumentオブジェクトがどれなのかハッキリしません。<br />
今回は「現在アクティブになっているタブのDocument」が対象なので、次のように明示的にしてやる必要があります。</p>
<pre>
var DI = $(jetpack.tabs.focused.contentDocument).find('img');
</pre>
<p>慣れだと思いますが、注意して下さい。</p>
<p>あとはsetIntervalなどは通常と同じく使えます。</p>
<p>早速Screw!してみましょう。<a href="http://www.flickr.com/search/?q=allblacks">Flickr</a>なんかで試すと、いい感じです。</p>
<h5>インストール画面を作る</h5>
<p>せっかく作ったので、Firefoxを再起動しても、いつでもScrew!したいところです。<br />
ここでインストール画面を作ってみましょう。</p>
<p>まずはJetpack Featureを単体のjsファイルに。<br />
ここでは<a href="http://dev.screw-axis.com/sandbox/jetpack/screw.js">適当に</a>置きました。</p>
<p>そして、インストール用のページを作成します。<br />
これは恐らく、link要素で指定してやれば良いだけ。</p>
<pre name="code" class="html">
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;head&gt;
  &lt;meta http-equiv="content-type" content="text/html; charset=utf-8" /&gt;
  &lt;title&gt;Screw! - Sample of Jetpack&lt;/title&gt;
  &lt;link rel="jetpack" href="screw.js"&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1&gt;Screw! - Sample of Jetpack&lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>8行目さえきちんと記述されていれば、あとはどうでもいいのだと思います。</p>
<p><a href="http://dev.screw-axis.com/sandbox/jetpack/screw.html">アクセスしてみる</a>と、インストールを確認するバーがページ上部に出てくるようになります。</p>
<p>ここで&#8221;Install&#8221;を選ぶと、「信頼されていないページです」的な警告画面になります。<br />
今回は自作物なので安心して &#8220;I know what I&#8217;m doing. Install it!&#8221; を選んで大丈夫ですが、実はJetpackは現時点でも結構危ない関数にもアクセス可能です。<br />
他所でこの画面に遭遇したら、信頼しても良いスクリプトかどうかをしっかり判断して、自己責任で入れるようにして下さい。</p>
<p>これで完了。<br />
確認のために、&#8221;about:jetpack&#8221;から &#8220;Installed Features&#8221; を見てみましょう。<br />
ちゃんと、Screw!が入っていると思います。</p>
<p>極めて簡単でした。</p>
<p>Related posts:<ol>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/' rel='bookmark' title='[Jetpack] インストールと開発環境構築準備'>[Jetpack] インストールと開発環境構築準備</a></li>
<li><a href='http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/' rel='bookmark' title='[Jetpack] v.2リリース：スライドバー搭載'>[Jetpack] v.2リリース：スライドバー搭載</a></li>
<li><a href='http://screw-axis.com/2009/06/20/jetpack-social-screw/' rel='bookmark' title='[Jetpack] 表示中ページのブックマーク数を自動表示'>[Jetpack] 表示中ページのブックマーク数を自動表示</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Jetpack] 開発環境構築</title>
		<link>http://screw-axis.com/2009/05/24/jetpack-%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89/</link>
		<comments>http://screw-axis.com/2009/05/24/jetpack-%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89/#comments</comments>
		<pubDate>Sun, 24 May 2009 07:18:02 +0000</pubDate>
		<dc:creator>nao58</dc:creator>
				<category><![CDATA[Jetpack]]></category>

		<guid isPermaLink="false">http://screw-axis.com/?p=293</guid>
		<description><![CDATA[というわけで、早速Jetpack Featureの開発環境を作ってみます。 目標としては、次のような感じ。 既存のFirefox 3.0系は、そのまま使えるように残す それとは別に、Firefox 3.5 Betaをイン [...]
Related posts:<ol>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/' rel='bookmark' title='[Jetpack] インストールと開発環境構築準備'>[Jetpack] インストールと開発環境構築準備</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://screw-axis.com/wp-content/uploads/2009/05/lego-150x150.jpg" alt="lego" title="lego" width="150" height="150" class="alignright size-thumbnail wp-image-294" /><a href="/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/">というわけ</a>で、早速Jetpack Featureの開発環境を作ってみます。</p>
<p>目標としては、次のような感じ。</p>
<ul>
<li>既存のFirefox 3.0系は、そのまま使えるように残す</li>
<li>それとは別に、Firefox 3.5 Betaをインストールする</li>
<li>Firebug 1.4 Alphaも入れる</li>
</ul>
<p><span id="more-293"></span></p>
<h5>Firefox 3.5 Betaのインストール</h5>
<p><a href="http://www.mozilla.com/en-US/firefox/all-beta.html">こちら</a>から。日本語にローカライズされたものが良ければ、LanguageがJapaneseのものを選びます。<br />
その際、インストール先のフォルダを現在のものと異なる場所に入れるようにします。<br />
自分はあくまでFF3.0が本線で、これは開発用のブランチという位置づけ。なのでフォルダ名にはこだわらず、次のような場所にインストールしてしまいます。</p>
<pre>
C:\Program Files\Mozilla Firefox 3.5 Beta 4
</pre>
<p>ちなみに、本線の方のインストールパスは次の通り。</p>
<pre>
C:\Program Files\Mozilla Firefox
</pre>
<p>以後、コマンドの類はこのパスで記述します。自身の環境に適当に読み替えてください。</p>
<h5>プロファイルの作成</h5>
<p>次に、開発用のプロファイルを作成します。<br />
Firefoxが起動していない状態で、Windowsの[スタート]→[ファイル名を指定して実行]から次のコマンドを実行。</p>
<pre>
"C:\Program Files\Mozilla Firefox 3.5 Beta 4\firefox.exe" -p
</pre>
<p>そして「新しいプロファイルを作成」で、開発用プロファイルを作成します。<br />
<img src="http://screw-axis.com/wp-content/uploads/2009/05/ff_profile-300x182.png" alt="Firefox Profile" title="Firefox Profile" width="300" height="182" class="aligncenter size-medium wp-image-295" /><br />
追加したら、とりあえず「終了」。</p>
<h5>起動用ショートカットを作成</h5>
<p>本線起動用</p>
<pre>
"C:\Program Files\Mozilla Firefox\firefox.exe" -no-remote -p "default"
</pre>
<p>開発環境起動用</p>
<pre>
"C:\Program Files\Mozilla Firefox 3.5 Beta 4\firefox.exe" -no-remote -p "Dev Firefox3.5"
</pre>
<p>これでFirefoxはおしまい。</p>
<h5>Firebug 1.4のインストール</h5>
<p>Firebugの1.4は未だalpha版ですが、インストールは<a href="http://getfirebug.com/releases/firebug/1.4/">こちら</a>から。</p>
<p>2009.05.24現在の最新版はa29ですが、ここで注意が必要です。<a href="http://code.google.com/p/fbug/source/browse/branches/firebug1.4/docs/ReleaseNotes_1.4.txt">リリースノート</a>によると実は、現時点での最新バージョンは<strong>Net Monitorが一時的に削除</strong>されています。そのためFirebug.NetMonitorオブジェクトが生成されず、consoleを扱おうとするとエラーが表示されたり、処理が異様に重くなったりしてしまうようです。</p>
<p>Jetpackの開発用と割り切れば、NetMonitorが含まれているa27以前を入れておくのが良いと思います。</p>
<h5>Jetpackのインストール</h5>
<p>前回書いた通りで、何も難しいことはありません。<br />
Firefox再起動後、about:jetpackのタブが出ていると思います。<br />
<a href="http://screw-axis.com/jetpack/tutorial/">チュートリアルをまとめてみました</a>ので、よかったら参照してください。</p>
<p>Related posts:<ol>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/' rel='bookmark' title='[Jetpack] インストールと開発環境構築準備'>[Jetpack] インストールと開発環境構築準備</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://screw-axis.com/2009/05/24/jetpack-%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Jetpack] インストールと開発環境構築準備</title>
		<link>http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/</link>
		<comments>http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/#comments</comments>
		<pubDate>Sun, 24 May 2009 06:01:03 +0000</pubDate>
		<dc:creator>nao58</dc:creator>
				<category><![CDATA[Jetpack]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://screw-axis.com/?p=208</guid>
		<description><![CDATA[mozilla labsから公開された、jQueryでFirefoxのExtensionを作れる拡張機能 &#8220;Jetpack&#8221; をいじってみる。 今まで、ちょっとしたExtensionを作るのもxu [...]
Related posts:<ol>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89/' rel='bookmark' title='[Jetpack] 開発環境構築'>[Jetpack] 開発環境構築</a></li>
<li><a href='http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/' rel='bookmark' title='[Jetpack] Screw!ボタンをつけてみる'>[Jetpack] Screw!ボタンをつけてみる</a></li>
<li><a href='http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/' rel='bookmark' title='[Jetpack] v.2リリース：スライドバー搭載'>[Jetpack] v.2リリース：スライドバー搭載</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>mozilla labsから公開された、jQueryでFirefoxのExtensionを作れる拡張機能 &#8220;Jetpack&#8221; をいじってみる。<br />
<a href="https://jetpack.mozillalabs.com/"><img src="http://screw-axis.com/wp-content/uploads/2009/05/jetpack.png" alt="Jetpack" title="Jetpack" width="288" height="138" class="aligncenter size-full wp-image-232" /></a><br />
今まで、ちょっとしたExtensionを作るのもxulでやるのは良いとして、debugが非常にやりにくいのが難点でした。<br />
その点、Jetpackは</p>
<ul>
<li>書きなれたJavascript+jQueryで記述できる</li>
<li>インラインで実行確認できるツールがある</li>
<li>Firebugとの組み合わせでデバッグしやすい</li>
</ul>
<p>ということで、ちょっと覚えておこうという気に。<br />
まずは開発準備に環境を整えましょう。<br />
<span id="more-208"></span></p>
<h5>インストール</h5>
<p>jQueryでプラグインが作れると言っても、ネイティブなExtensionが生成されるわけではなく。あくまでJetpack上で動作させるものなので、現時点ではJetpackエクステンションをインストールしないといけません。</p>
<p><a href="https://jetpack.mozillalabs.com/">公式サイト</a>のページ中ほどにある &#8220;Get Started! Install the Jetpack Prototype &#038; API&#8221; をクリックし、いつも通りの手順でインストールを実行します。<br />
<img src="http://screw-axis.com/wp-content/uploads/2009/05/jetpack_install1-300x32.png" alt="Jetpack Install button" title="Jetpack Install button" width="300" height="32" class="aligncenter size-medium wp-image-212" /></p>
<p>拡張機能を有効にするため、Firefoxを再起動。すると &#8220;about:jetpack&#8221; タブが表示されています。<br />
<img src="http://screw-axis.com/wp-content/uploads/2009/05/about_jetpack-300x202.png" alt="about:jetpack" title="about:jetpack" width="300" height="202" class="aligncenter size-medium wp-image-214" /></p>
<p>これで完了と非常に簡単なのですが、これから開発をしようと思うと、気になる注意が表示されています。<br />
<img src="http://screw-axis.com/wp-content/uploads/2009/05/jetpack_caution-300x109.png" alt="Jetpack Caution" title="Jetpack Caution" width="300" height="109" class="aligncenter size-medium wp-image-216" /></p>
<p>2つ出ていますが、まずは上の方。</p>
<blockquote><p>
You appear to be running Firefox 3 or earlier, which means that any logging messages or errors produced by your Jetpacks will reference the wrong line numbers. This makes debugging Jetpacks difficult; please consider using Firefox 3.5 Beta.
</p></blockquote>
<p>要約すると、「Firefox3もしくはそれ以前のバージョンを使っているようですが、その場合はJetpackのエラー発生行が間違って報告されちゃいます。これはデバッグを非常に困難にするので、Firefox 3.5 Betaを使うことを検討してください」と。</p>
<p>確かにそれは困ります。現在レギュラーで使っているのは、Firefox 3.0.1。<br />
しかし、安易に3.5にしてしまうと、他の拡張機能が使えなくなったりして日常が不便。<br />
ここはプロファイルを分けて、あくまで3.5はJetpack開発用のものとして起動させるようにします。これならば開発には余計なエクステンションも入らずサクサク動くし、そういった拡張機能が干渉して悪さをするようなことも無いので快適。<br />
プロファイルの切り分けは -p パラメータをつけて操作するだけなので、それほど難しくありません。</p>
<p>ちなみに、2つめの注意文は次のようなもの。</p>
<blockquote><p>
You either don&#8217;t have the latest version of Firebug installed, or you don&#8217;t have it enabled for this page, so all logging messages will appear in the JS Error Console. If you get Firebug 1.4 Alpha  and enable it for this page, and then reload this page, all logging messages will be logged to the Firebug Console, where it&#8217;s much easier to debug problems and inspect live objects.
</p></blockquote>
<p>こちらも簡単に約しておくと、こんな感じ。</p>
<p>「最新のFirebugがインストールされていないか、このページに対して有効になっていません。そのため、全てのエラーメッセージはJS Error Consoleに出力されます。Firebug 1.4 Alphaを入手して有効にしてからこのページをリロードすればメッセージは全て、よりデバッグや生成されたオブジェクトの調査がしやすいFirebugのコンソールに出力されるようになります。」</p>
<p>ここで書いている JS Error Console とは標準で入っている[ツール]→[エラーコンソール]のことだと思います。確かにこれは使いにくい。<br />
やはり前記の通り、Jetpackの開発用に Firefox3.5 + Firebug1.4 環境を別プロファイルで作るのが良さそうです。</p>
<p>というわけで、開発環境の構築を具体的に。少し長くなったので<a href="/2009/05/24/jetpack-%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89/">次</a>で。</p>
<p>Related posts:<ol>
<li><a href='http://screw-axis.com/2009/05/24/jetpack-%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89/' rel='bookmark' title='[Jetpack] 開発環境構築'>[Jetpack] 開発環境構築</a></li>
<li><a href='http://screw-axis.com/2009/05/31/jetpack-screw%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e3%81%a4%e3%81%91%e3%81%a6%e3%81%bf%e3%82%8b/' rel='bookmark' title='[Jetpack] Screw!ボタンをつけてみる'>[Jetpack] Screw!ボタンをつけてみる</a></li>
<li><a href='http://screw-axis.com/2009/06/18/jetpack-v2-slidebar/' rel='bookmark' title='[Jetpack] v.2リリース：スライドバー搭載'>[Jetpack] v.2リリース：スライドバー搭載</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://screw-axis.com/2009/05/24/jetpack-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e6%ba%96%e5%82%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

