Hatena::ブログ(Diary)

”><xmp>TokuLog 改メ tokuhirom’s blog このページをアンテナに追加 RSSフィード

[]最速な JavaScriptリファレンスマニュアルサイトをつくった

http://jsref.64p.org/

jQAPI - Alternative jQuery Documentation - Array.forEach

JavaScriptリファレンスマニュアルといえば MDN(Mozilla Developers Network) が有名ですが、MDN の資料は探索がめんどくさいし、表示が遅いということで使い勝手がわるいという問題がありました。

そこで、jQueryリファレンスマニュアルサイトとして有名な jqapi.com とおなじよような使い勝手サイトがあったらいいのになーとおもいました。

なので、つくりました。

サイト自体はすべて static なデータで構成されているので、github からデータを取得すれば、イントラや自分マシン内で閲覧することも可能となっています。

なお IE での動作確認はしていないので、うまくうごかない場合は pull-req してください。

Internals

https://github.com/tokuhirom/jsref コードはこちらにあるので、ご利用ください。

データの生成部分(crawler.js)

データの生成はすべて node.js でやっています。スクレイピング処理は当初 wget でやっていたのですが、wget で処理すると、ディレクトリの処理が微妙なので、手でscraping することにしました。取得したデータは gdbm に保存しています。

HTMLデータの変換(convert.js)

取得したHTML をそのまま利用するのはむずかしいので script タグの除去などをおこない、HTML を整形します。

libxmlext というライブラリを利用して処理をしています。当初は jsdom を利用していたのですが、速度面にだいぶ難があったのでのりかえました( see http://d.hatena.ne.jp/tokuhirom/20111226/1324856715 )

目次 JSON の生成 (mkindex.js)

index.json という目次データの生成をします。ここでも libxmlext を利用しています。とくにむずかしい処理はおこなっていません。

navigation.html の生成(mknavigation.js)

サイドバーHTMLindex.json から生成します。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証