Your SlideShare is downloading. ×
0
Offline Hoogleで何処でもはすはす      Kiwamu Okabe
フグってますか?もちろんですよ! 毎日がエブリディ!
でもちょっと不満が。。。☆ インターネット不通でも使いたい☆ 自作ライブラリを検索したい☆ hoogleプロセス起動するのが面倒とかとか
そこでDebian!Offline対応Hoogleパッケージが入るらしい。$ sudo apt-get install apache2$ sudo dpkg -i hoogle_4.2.10-2_amd64.deb以前に未選択のパッケージ ho...
パッケージ入れるだけでフグれちゃう!
ローカルドキュメント読めちゃう!
いやーDebianっていいもんですね!おわり
だとヒドすぎるのでしくみを解説します。まず、Offline対応Hoogleをgit cloneしましょう。$ pwd/home/kiwamu/src$ git clone git://github.com/master-q/hoogle.git...
ちょっと危険なpatchをあてますローカルのファイル群が全部CGI経由で読めちゃう。危険!$ git diffdiff --git a/src/Web/All.hs b/src/Web/All.hsindex 97295bf..d9755d1 ...
Hoogleをビルドしまっしょ$ pwd/home/kiwamu/src/hoogle$ cabal install--snip--$ ls ~/.cabal/bin/hoogle/home/kiwamu/.cabal/bin/hoogle*$...
Hoogle Databaseを生成$ ./misc/update-hoogle--2012-10-13 16:54:50-- http://www.haskell.org/haskellwiki/Keywordswww.haskell.org...
CGIの設定たぶんこんな感じ。$ cd /usr/lib/cgi-bin$ sudo cp ~/.cabal/bin/hoogle ./$ ls -l hoogle-rwxr-xr-x 1 root root 17085624 10月 13 1...
後はブラウザで読みまくるだけさーやったね!
Upcoming SlideShare
Loading in...5
×

Offline Hoogleで何処でもはすはす

1,840

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,840
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Offline Hoogleで何処でもはすはす"

  1. 1. Offline Hoogleで何処でもはすはす Kiwamu Okabe
  2. 2. フグってますか?もちろんですよ! 毎日がエブリディ!
  3. 3. でもちょっと不満が。。。☆ インターネット不通でも使いたい☆ 自作ライブラリを検索したい☆ hoogleプロセス起動するのが面倒とかとか
  4. 4. そこでDebian!Offline対応Hoogleパッケージが入るらしい。$ sudo apt-get install apache2$ sudo dpkg -i hoogle_4.2.10-2_amd64.deb以前に未選択のパッケージ hoogle を選択しています。(データベースを読み込んでいます ... 現在 598057 個のファイルとディレクトリがインストールされています。)(hoogle_4.2.10-2_amd64.deb から) hoogle を展開しています...hoogle (4.2.10-2) を設定しています ...Starting keywordConverting keyword... doneFinished keywordData generation completeConverting databases... doneCombining 3 databasesapache2とhoogleパッケージをインストールするだけで...
  5. 5. パッケージ入れるだけでフグれちゃう!
  6. 6. ローカルドキュメント読めちゃう!
  7. 7. いやーDebianっていいもんですね!おわり
  8. 8. だとヒドすぎるのでしくみを解説します。まず、Offline対応Hoogleをgit cloneしましょう。$ pwd/home/kiwamu/src$ git clone git://github.com/master-q/hoogle.git$ cd hoogle/$ git checkout -b cgi_application origin/feature/cgi_application
  9. 9. ちょっと危険なpatchをあてますローカルのファイル群が全部CGI経由で読めちゃう。危険!$ git diffdiff --git a/src/Web/All.hs b/src/Web/All.hsindex 97295bf..d9755d1 100644--- a/src/Web/All.hs+++ b/src/Web/All.hs@@ -24,7 +24,7 @@ action q = do where go t d p | "/res/" `isPrefixOf` p = serveFile True $ d </> "resources" </> takeFileName p- go t d p | "/file/usr/share/doc/" `isPrefixOf` p =+ go t d p | "/file/" `isPrefixOf` p = let p = if "/" `isSuffixOf` p then p ++ "index.html"else p in rewriteRootLinks =<< serveFile False (fromJust(stripPrefix "/file" p)) go t _ _ = rewriteRootLinks =<< response responseArgs{templates=t} q
  10. 10. Hoogleをビルドしまっしょ$ pwd/home/kiwamu/src/hoogle$ cabal install--snip--$ ls ~/.cabal/bin/hoogle/home/kiwamu/.cabal/bin/hoogle*$ ls ~/.cabal/share/hoogle-4.2.13resources/その後テンプレートをCGI対応させましょう。$ ./misc/template-for-cgi
  11. 11. Hoogle Databaseを生成$ ./misc/update-hoogle--2012-10-13 16:54:50-- http://www.haskell.org/haskellwiki/Keywordswww.haskell.org (www.haskell.org) をDNSに問いあわせています...78.46.100.180www.haskell.org (www.haskell.org)|78.46.100.180|:80 に接続しています... 接続しました。--snip--2012-10-13 16:54:52 (48.8 KB/s) - `download/keyword.txt へ保存終了[81442]Starting keywordConverting keyword... doneFinished keywordData generation completeConverting databases........................................ doneCombining 137 databaseskeyword.txtを取得するのだけネット使う
  12. 12. CGIの設定たぶんこんな感じ。$ cd /usr/lib/cgi-bin$ sudo cp ~/.cabal/bin/hoogle ./$ ls -l hoogle-rwxr-xr-x 1 root root 17085624 10月 13 17:04 hoogle*あと/etc/apache2/apache2.confとかいじらないといけないかもしれない。
  13. 13. 後はブラウザで読みまくるだけさーやったね!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×