携帯版Wikipedia
Wikipediaを携帯版にカスタマイズしてみました。
まだpre-αレベルですが、こっそりURLを公開してみます。 現在携帯3キャリアからしかアクセスできませんが、後日Willcomにも対応したいと思います。
http://kpedia.klab.org/
「こんな機能があったらうれしいな」等ありましたら、コメントをお願いします。
以下、中身の話
Wikipediaをコピーする
WikipediaのWikiシステムであるMediawikiは、バックエンドにMySQLやPostgreSQLといったDBを利用しています。 そして、Wikipediaは定期的にDBのバックアップを取り、それを公開しています。(DBダンプあげるからクロールしないでねという意味もあります)
携帯版Wikipediaでは、Wikipedia本家のDBダンプをもらってきて、独自にMediawikiを動かしています。
携帯電話向けのカスタマイズ
携帯電話で見るために行った主な修正は以下のとおりです。
- Shift_JIS対応(出力とGETパラメータ)
- 携帯向けに軽いシンプルなSkinを用意
- 飛んだら新規ページを作る画面に飛ぶリンクの削除
- だいたい1ページ10KB未満に収まるようにページ分割
3. と 4. については、ほとんど 2. で作成したSkinの内部で行っています。
Mediawikiにおいて、Skinは、Parserから呼び出されてHTMLコードを返すという役割と、 HTML化された記事本文を受け取って、ページ全体のHTMLを生成するという役割があります。
3.は、新規作成画面へのリンクを作成する為の関数をオーバーライドして、リンクでは無い ただの文字列だけを出力するようにして実現しました。
4.は、記事本文を受け取ってページを生成する時に、記事本文が大体7KBの範囲に収まるように 分割し、GETパラメータで渡されたページ番号に該当する部分だけをレンダリングすることで実現しました。
このまま完成度を上げていって、日本の携帯用Skinとして公開できたらなと思っています。