<?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>橋本商会 &#187; Firefox</title>
	<atom:link href="http://shokai.org/blog/archives/tag/firefox/feed" rel="self" type="application/rss+xml" />
	<link>http://shokai.org/blog</link>
	<description>なんか作ったりした記録を忘れないうちに書くblog</description>
	<lastBuildDate>Tue, 07 Sep 2010 13:08:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com/" />
			<item>
		<title>エディタ保存したらブラウザリロードするsinatra/auto-reloadを作った</title>
		<link>http://shokai.org/blog/archives/5155</link>
		<comments>http://shokai.org/blog/archives/5155#comments</comments>
		<pubDate>Sun, 23 May 2010 18:03:51 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sinatra]]></category>
		<category><![CDATA[sinatra-auto-reload]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=5155</guid>
		<description><![CDATA[
エディタを保存したらブラウザを自動リロードするsinatraプラグインを作った。
これでサブモニタにchromeとJavaScriptコンソール置いておくと幸せになれる。
ソースはgithubに。

Google Ch [...]]]></description>
			<content:encoded><![CDATA[<p>
エディタを保存したらブラウザを自動リロードするsinatraプラグインを作った。<br />
これでサブモニタにchromeとJavaScriptコンソール置いておくと幸せになれる。<br />
ソースは<a href="http://github.com/shokai/sinatra-auto-reload">github</a>に。<br />
<br />
Google ChromeもしくはFirefox+Greasemonkeyで動作する。エディタには依存しない。<br />
sinatraアプリをローカルではなくサーバーで実行していてもリロードできる。<br />
<br />
<br />
<br />
■インストール<br />
<pre>sudo gem install sinatra-auto-reload</pre>
<a href="http://rubygems.org/gems/sinatra-auto-reload">rubygems.orgに置いた</a>ので、gemコマンドでインストールできる<br />
<br />
<br />
<br />
■使う<br />
sinatraアプリ内で読み込む<br />
<pre class="prettyprint">
require&nbsp;'sinatra/auto-reloader'&nbsp;if&nbsp;development?<br />
</pre>
if development? すると、shotgunか -e development オプションを付けて起動した時だけ有効になる。production環境には影響を与えない。<br />
<br />
<br />
<br />
■ブラウザ拡張をインストール<br />
localhost:4567 でアプリを起動しているとして、<br />
<a href="http://localhost:4567/sinatra_auto_reload.user.js">http://localhost:4567/sinatra_auto_reload.user.js</a> にgreasemonkeyスクリプトが生成される。<br />
Firefox 3.5+Greasemonkey、もしくはChrome 5.0のuserscriptとしてインストールできる。<br />
<br />
<br />
スクリーンショット<br />
<a href="http://www.flickr.com/photos/shokai/4632061741/" title="sinatra-auto-reload Firefox userscript by shokai, on Flickr"><img src="http://farm5.static.flickr.com/4001/4632061741_23e4e4a5a7_o.png" width="445" height="346" alt="sinatra-auto-reload Firefox userscript" /></a><br />
<br />
<br />
ホスト名ごとに違うuserscriptとしてインストールされるので、調べ物して同じブラウザで他のページを開いても大丈夫<br />
<a href="http://www.flickr.com/photos/shokai/4632048509/" title="sinatra-auto-reload Chrome userscript by shokai, on Flickr"><img src="http://farm5.static.flickr.com/4029/4632048509_957aed8c97_o.png" width="634" height="197" alt="sinatra-auto-reload Chrome userscript" /></a><br />
<br />
<br />
<br />
■監視しないファイルを定義<br />
sinatraアプリ内でauto_reload_ignoresという関数を定義しておく<br />
<pre class="prettyprint">
def&nbsp;auto_reload_ignores<br />
&nbsp;&nbsp;[/db.*/,&nbsp;/config.yaml/,&nbsp;/log.*/,&nbsp;/pid.*/]<br />
end<br />
</pre>
配列内に正規表現で書いたファイルは、更新されてもリロードしない。logとかpidに反応しても困るので。<br />
<br />
<br />
ところでプラグインに変数を渡すのは、こういう方法でいいんですかね？もっとまともなやり方がある気がするんだけど。<br />
<br />
<br />
<br />
■しくみ<br />
sinatra/baseに新しくgetでアクセスできるページを追加し、 http://hostname:port/sinatra_auto_reload にファイルの最終更新日時が出るようにした。<br />
これをuserscriptからsetIntervalで監視して、更新があればリロードする。<br />
<br />
<br />
<br />
■参考<br />
JavaScript部分はこれを参考にした<br />
<a href="http://la.ma.la/blog/diary_200601201204.htm">最速インターフェース研究会 :: Firefoxでの開発を高速化する自動リロードスクリプト</a><br />
<br />
<br />
<br />
■オススメ<br />
sinatra-reloader か shotgun と一緒に使うのをおすすめします<br />
sinatraはサーバーを再起動しないとrubyのコードの変更を読み込んでくれないんだけど、こいつらを使うと毎回読み込み直してくれるようになる。<br />
<br />
<br />
■今後<br />
よく考えたらSub URIで動かしている場合に動かなそうだ。あとで修正する。<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/5155/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPressの投稿画面のアクセスキーがMacのemacsキーバインドとバッティングするのを無効化</title>
		<link>http://shokai.org/blog/archives/2359</link>
		<comments>http://shokai.org/blog/archives/2359#comments</comments>
		<pubDate>Thu, 11 Dec 2008 05:13:22 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=2359</guid>
		<description><![CDATA[
素のwordpressだと、ctrl+dで文字を消そうとするとdelタグが挿入されたり、ctrl+aでアンカータグが入ったりする。

wp-includes/js/quicktags.jsとかをいじってうまくいったと思 [...]]]></description>
			<content:encoded><![CDATA[<p>
素のwordpressだと、ctrl+dで文字を消そうとするとdelタグが挿入されたり、ctrl+aでアンカータグが入ったりする。<br />
<br />
wp-includes/js/quicktags.jsとかをいじってうまくいったと思ったら、ctrl+Pはquicktags.jsと別の所で定義されていた。カーソル上に移動させようとしたら「公開」されてしまった。<br />
<br />
Firefoxの設定でやる方が良い<br />
<a href="http://retlet.net/log/2008/04/vimperator-accesskey-off.html">retlet.net &#8211; VimperatorのキーバインドとバッティングするのでFirefoxのaccesskeyを無効化</a><br />
about:configでui.key.generalAccessKey = 0にする。</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/2359/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Firefox3にした あとtumblrとか</title>
		<link>http://shokai.org/blog/archives/1550</link>
		<comments>http://shokai.org/blog/archives/1550#comments</comments>
		<pubDate>Fri, 20 Jun 2008 14:28:36 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[tumblr]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=1550</guid>
		<description><![CDATA[
macのfirefoxはFlash上で日本語入力できないみたいだけどWindowsの方をFirefox3にした。2よりページ開く速度が速い。アドレスバーでのURLの履歴も前方一致だけでなくなって、例えばhate sho [...]]]></description>
			<content:encoded><![CDATA[<p>
<p>macのfirefoxはFlash上で日本語入力できないみたいだけどWindowsの方をFirefox3にした。2よりページ開く速度が速い。アドレスバーでのURLの履歴も前方一致だけでなくなって、例えばhate sho とか打てば自分のはてな関係のアカウントが全部でて良い。<br /><br />
<a href="http://www.flickr.com/photos/shokai/2595600778/" title="url history of firefox by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3215/2595600778_309e5fd7c2_o.png" width="306" height="259" alt="url history of firefox" /></a>というかページタイトルでひっかかるので橋本とかうつとだいたい出てくる</p>
<p>■入れた<br /><br />
<a href="http://www.flickr.com/photos/shokai/2595525258/" title="add-ons firefox3 by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3293/2595525258_d8d457f587.jpg" width="326" height="500" alt="add-ons firefox3" /></a></p>
<p>tabmixplusのfirefox3対応版 <a href="http://tmp.garyr.net/forum/viewtopic.php?t=7031">Tab Mix Plus Dev-Build 0.3.6.X-Tab Mix Plus</a></p>
<p>■reblogまわり<br /><br />
ようやく<a href="http://code.google.com/p/tombloo/">tombloo</a>入れた。どこからでもreblogをキメれる</p>
<p><a href="http://code.google.com/p/tombloo/wiki/TomblooUsage">tombloo on LDR</a>（下の方にある）</p>
<p>AutoPagerize+LDRize+Minibuffer+<a href="http://coderepos.org/share/browser/lang/javascript/userscripts/reblogcommand.user.js?rev=11618">ReblogCommand</a> これはdashboard用</p>
<p><a href="http://d.hatena.ne.jp/brazil/20080514/1210759974">tombloo+socialブックマーククロスポスト</a></p>
<p><a href="https://addons.mozilla.org/ja/firefox/addon/2108">stylish</a>まわり<br /><br />
<a href="http://www.flickr.com/photos/shokai/2595553086/" title="styles on firefox3 by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3043/2595553086_de84ab9677.jpg" width="500" height="351" alt="styles on firefox3" /></a></p>
<p>greasemonkey userscripts<br /><br />
<a href="http://www.flickr.com/photos/shokai/2595608738/" title="userscripts of firefox by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3001/2595608738_a2a2a1bb97_o.png" width="205" height="558" alt="userscripts of firefox" /></a><a href="http://www.flickr.com/photos/shokai/2594775215/" title="userscripts of firefox by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3129/2594775215_777e925880_o.png" width="210" height="565" alt="userscripts of firefox" /></a></p>
<p>他になんかあったら教えてれ</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1550/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
