101
AutoPagerize swdyh 2007 9/15 Shibuya.js

AutoPagerize Shibuya.js 2007 9/15

  • Upload
    swdyh

  • View
    1.523

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AutoPagerize Shibuya.js 2007 9/15

AutoPagerizeswdyh

2007 9/15 Shibuya.js

Page 2: AutoPagerize Shibuya.js 2007 9/15

自己紹介

Page 3: AutoPagerize Shibuya.js 2007 9/15

はてなダイアリー SWDYHhttp://d.hatena.ne.jp/swdyh/

Page 4: AutoPagerize Shibuya.js 2007 9/15

ふだんは

Page 5: AutoPagerize Shibuya.js 2007 9/15

フリーランスのような

ニートのような

Page 6: AutoPagerize Shibuya.js 2007 9/15
Page 7: AutoPagerize Shibuya.js 2007 9/15

AutoPagerize

Page 8: AutoPagerize Shibuya.js 2007 9/15

次のページを自動で読み込み、

今のページの下に継ぎ足して表示する

Greasemonkey Script

Page 9: AutoPagerize Shibuya.js 2007 9/15

demo

Page 10: AutoPagerize Shibuya.js 2007 9/15

自動でページを継ぎ足す仕組みは

GoogleAutoPagerとだいたい同じ

Page 11: AutoPagerize Shibuya.js 2007 9/15

対応しているサイト

Page 12: AutoPagerize Shibuya.js 2007 9/15

Google, Flickr,

del.icio.us, Yahoo,

YouTube, Twitter,

Tumblr...

Page 13: AutoPagerize Shibuya.js 2007 9/15

どうやって複数の

サイトに対応しているのか

Page 14: AutoPagerize Shibuya.js 2007 9/15

SITEINFO

Page 15: AutoPagerize Shibuya.js 2007 9/15

AutoPagerizeを動かすのに

必要な情報のうち

サイトごとに違う部分をまとめたもの

Page 16: AutoPagerize Shibuya.js 2007 9/15

url: http://(.*).google.*/(search|custom)*nextLink: id("navbar")/table/tbody/tr/td[last()]/ainsertBefore: id("res")/*[last()-1]pageElement: id("res")/div[child::div[@class="g"]]

SITEINFO sample

Page 17: AutoPagerize Shibuya.js 2007 9/15

url

適用するURL

(正規表現)例:http://(.*).google.*/(search¦custom)*

Page 18: AutoPagerize Shibuya.js 2007 9/15

nextLink

次ページのリンク

(XPath式)例:id("navbar")/table/tbody/tr/td

[last()]/a

Page 19: AutoPagerize Shibuya.js 2007 9/15

insertBefore

どこに挿入するか

(XPath式)例: id("res")/*[last()-1]

Page 20: AutoPagerize Shibuya.js 2007 9/15

pageElement次ページのうちの挿入する部分

(XPath式)例: id("res")/div[child::div[@class="g"]]

Page 21: AutoPagerize Shibuya.js 2007 9/15

手順

Page 22: AutoPagerize Shibuya.js 2007 9/15

nextLinkを使って

次のページのURLを

取得

Page 23: AutoPagerize Shibuya.js 2007 9/15

XMLHttpRequest

で次のページを取得

Page 24: AutoPagerize Shibuya.js 2007 9/15

pageElementを

使って、必要な部分

を切り出す

Page 25: AutoPagerize Shibuya.js 2007 9/15

insertBeforeの位置

に切り出したものを

挿入

Page 26: AutoPagerize Shibuya.js 2007 9/15
Page 27: AutoPagerize Shibuya.js 2007 9/15

SITEINFO

2007 9/14

193個

Page 28: AutoPagerize Shibuya.js 2007 9/15

どうやってこれだけの数

を作ったのか

Page 29: AutoPagerize Shibuya.js 2007 9/15

一番重要なポイント

Page 30: AutoPagerize Shibuya.js 2007 9/15

Wiki

Page 31: AutoPagerize Shibuya.js 2007 9/15

だれでも追加や変更

が可能

Page 32: AutoPagerize Shibuya.js 2007 9/15

ユーザー自身が

SITEINFOを作る

Page 33: AutoPagerize Shibuya.js 2007 9/15

最初のころ

Page 34: AutoPagerize Shibuya.js 2007 9/15

対応サイトは自分で

SITEINFOを作ったと

ころだけ

Page 35: AutoPagerize Shibuya.js 2007 9/15

ある日、SITEINFOを

作っていないサイト

で動いた

Page 36: AutoPagerize Shibuya.js 2007 9/15

別のユーザー(brさん)が

WikiにSITEINFOを

追加していた

Page 37: AutoPagerize Shibuya.js 2007 9/15

Wikiの効果が

初めて現われた

Page 38: AutoPagerize Shibuya.js 2007 9/15

その後

徐々にSITEINFOは

増えていった

Page 39: AutoPagerize Shibuya.js 2007 9/15
Page 40: AutoPagerize Shibuya.js 2007 9/15

またあるとき

Page 41: AutoPagerize Shibuya.js 2007 9/15

「YouTubeで動かないよ」

Page 42: AutoPagerize Shibuya.js 2007 9/15

英語版YouTubeの

HTMLが変わってた

Page 43: AutoPagerize Shibuya.js 2007 9/15

SITEINFOを修正

Page 44: AutoPagerize Shibuya.js 2007 9/15

「youtube.com.br

で動かないよ」

Page 45: AutoPagerize Shibuya.js 2007 9/15

えー、もう知らない

Page 46: AutoPagerize Shibuya.js 2007 9/15

ダメ開発者

Page 47: AutoPagerize Shibuya.js 2007 9/15

でもしばらくしたら

解決してた

Page 48: AutoPagerize Shibuya.js 2007 9/15

ユーザーのひと(kuさん)

が直してくれていた

Page 49: AutoPagerize Shibuya.js 2007 9/15

これもWikiを使った

ことの重要な効果

Page 50: AutoPagerize Shibuya.js 2007 9/15

AutoPagerizeは

Page 51: AutoPagerize Shibuya.js 2007 9/15

Wikiで管理している

情報をもとにして

Page 52: AutoPagerize Shibuya.js 2007 9/15

GoogleAutoPagerを

いろんなサイトで使える

ようにしたもの

Page 53: AutoPagerize Shibuya.js 2007 9/15
Page 54: AutoPagerize Shibuya.js 2007 9/15

作ろうと思った

きっかけの話

Page 55: AutoPagerize Shibuya.js 2007 9/15

GoogleAutoPager

by malahttp://la.ma.la/blog/diary_200506231749.htm

Page 56: AutoPagerize Shibuya.js 2007 9/15

なんとかAutoPager

がいくつかでてきた

Page 57: AutoPagerize Shibuya.js 2007 9/15

サイト独自の部分を切り

出せば、いろんなサイト

で使えるはず

Page 58: AutoPagerize Shibuya.js 2007 9/15

でもそのときは

作らなかった

Page 59: AutoPagerize Shibuya.js 2007 9/15

しばらく経ってから

Page 60: AutoPagerize Shibuya.js 2007 9/15

Japanize

by Kazuho Okuhttp://japanize.31tools.com/

Page 61: AutoPagerize Shibuya.js 2007 9/15

翻訳情報をWikiで

管理している

Page 62: AutoPagerize Shibuya.js 2007 9/15

その仕組み

すごくいい!

Page 63: AutoPagerize Shibuya.js 2007 9/15

そして考えたこと

Page 64: AutoPagerize Shibuya.js 2007 9/15

機械には難しい、

人なら割と簡単な

もの、こと

Page 65: AutoPagerize Shibuya.js 2007 9/15

そういう人の知識を

Wikiを使って集める

(集合知)

Page 66: AutoPagerize Shibuya.js 2007 9/15

そしてそれを、

機械(プログラム)か

ら使う

Page 67: AutoPagerize Shibuya.js 2007 9/15

プログラム + Wiki

(機械 + 集合知)

Page 68: AutoPagerize Shibuya.js 2007 9/15

もっとこういうもの

があっていいはず

Page 69: AutoPagerize Shibuya.js 2007 9/15

プログラム + Wiki

(機械 + 集合知)

というパターン

Page 70: AutoPagerize Shibuya.js 2007 9/15

このパターンの何か

を作りたい!

Page 71: AutoPagerize Shibuya.js 2007 9/15

何かないかなあ

Page 72: AutoPagerize Shibuya.js 2007 9/15

あ、AutoPagerで

できるかも

Page 73: AutoPagerize Shibuya.js 2007 9/15

というのが作ろうと

思ったきっかけの話

Page 74: AutoPagerize Shibuya.js 2007 9/15

その後、

どう開発してきたか

Page 75: AutoPagerize Shibuya.js 2007 9/15

ブログの [autopagerize]

を見てくださいhttp://d.hatena.ne.jp/swdyh/archive?word=%2a%5bautopagerize%5d

Page 76: AutoPagerize Shibuya.js 2007 9/15

今後

Page 77: AutoPagerize Shibuya.js 2007 9/15

AutoPagerizeの

スクリプトよりも

Page 78: AutoPagerize Shibuya.js 2007 9/15

Wikiをなんとかする

Page 79: AutoPagerize Shibuya.js 2007 9/15

AutoPagerizeで

使うためのWiki

Page 80: AutoPagerize Shibuya.js 2007 9/15

もう少し広げて

Page 81: AutoPagerize Shibuya.js 2007 9/15

プログラム + Wiki

というパターンを実装する

ためのWiki、WikiFarm

Page 82: AutoPagerize Shibuya.js 2007 9/15

作る予定

Page 83: AutoPagerize Shibuya.js 2007 9/15
Page 84: AutoPagerize Shibuya.js 2007 9/15

関連するものの紹介

Page 85: AutoPagerize Shibuya.js 2007 9/15

Pagerization

by ofkhttp://userscripts.org/scripts/show/7623

Page 86: AutoPagerize Shibuya.js 2007 9/15

GoogleAutoPagerを

いろんなサイトで使えるようにした

Greasemonkey Script

Page 87: AutoPagerize Shibuya.js 2007 9/15

AutoPagerizeよりやや高機能

外人に人気

Wikiを前提にしてない

Page 88: AutoPagerize Shibuya.js 2007 9/15

AutoPagerizeとほぼ同時期に開発

相互に良い影響

Page 89: AutoPagerize Shibuya.js 2007 9/15

AutoPager

(Firefox Add-on)

by Wind Lihttps://addons.mozilla.org/en-US/firefox/addon/4925

Page 90: AutoPagerize Shibuya.js 2007 9/15

Firefoxの拡張機能にしたもの

XULのユーザーインタフェース

Page 92: AutoPagerize Shibuya.js 2007 9/15

SITEINFOを作りやすくする

ブックマークレット

Page 93: AutoPagerize Shibuya.js 2007 9/15

Firefox以外への移植

Page 94: AutoPagerize Shibuya.js 2007 9/15

Opera

fub

Sleipnir(SeaHorse)

Page 95: AutoPagerize Shibuya.js 2007 9/15

LDRize

by snj14http://userscripts.org/scripts/show/11562

Page 96: AutoPagerize Shibuya.js 2007 9/15

LDRのような操作感を実現する

Greasemonkey Script

SITEINFOとWikiという仕組みを

使っている

Page 97: AutoPagerize Shibuya.js 2007 9/15
Page 98: AutoPagerize Shibuya.js 2007 9/15

お礼

Page 99: AutoPagerize Shibuya.js 2007 9/15

mala, Kazuho Oku,

br, ofk, youpy, koyachi, ku ...

SITEINFOを書いてくれたひと、

AutoPagerizeのユーザー

Page 100: AutoPagerize Shibuya.js 2007 9/15

とても感謝してます

ありがとうございます

Page 101: AutoPagerize Shibuya.js 2007 9/15

ご静聴ありがとうございました