あまりにも AutoPagerize が便利なので、自分のブログでもAutoPagerizeできるようにしてみた。
AutoPagerizeに対応させる方法は二つあって、一つはuser.jsに直接SITEINFOを書き込んで対応させる方法。もう一つはAutoPagerizeのMicroformatsをサイト自体に埋め込んで対応させる方法。Web Serviceなど、自分が中身をいじれないサイトはSITEINFOを書いて対応させるしかないけど、自分のブログだったらXHTMLにMicroformatsをちょこちょこっと書き加えることで、閲覧者全員にAutoPagerizeしてもらえるようになる。/index.php
と /search.php
でAutoPagerizeするようにMicroformatsを埋め込んでみた。AutoPagerizeのMicrofarmatsは配布元に記述があるので参照されたし。
いじるのは /include/fnc_base.inc.php
。 586行目付近の
. '&f=' . $topic_id . '">';
の末尾の部分を削って
. '&f=' . $topic_id;
とし、594行目と604行目をそれぞれ以下のように書き換える。
$flip_link .= '<span class="prev">'.$page_array[$array_key-1]["tag"].'" rel="prev">'.
$flip_link .= '<span class="next">'.$page_array[$array_key+1]["tag"].'" rel="next">'.
さらに、670行目の <a>
タグ内に rel="next" を埋め込んで以下のようにする。
'<a href="./search.php?k=&p='.$cfg['pagemax'].'&c=0&pn=2&d=all" rel="next">'.
これで fnc_base.inc.php
のモディファイは終了。最後に /include/user_include/base_xhtml.inc.php
の #content
部分を以下のように書き換えれば完了。
<-- Begin #content -->
<div id="content">
{$contents_top}
<div class="autopagerize_page_element">
{$contents}
</div>
<div class="autopagerize_insert_before"></div>
</div>
<!-- End #content -->
ちなみに、FirefoxじゃなくてSafariでAutoPagerizeしたい人は、 GreaseKit を入れて oAutoPagerize をインストールすると幸せになれます。
加筆修正
このハックを適用すると、サイト検索をしたときなどに表示されるFlip Linkの表示がおかしくなっていました。587行目の
$tag_array["anchor"] = $pagenumber. '</a>';
を
$tag_array["anchor"] = '>' .$pagenumber. '</a>';
と書き換えて下さい。