PageBute Movable type用ページ分割プラグインを導入(google sitemap対応)
記事数が少し増えてきたのでMovable type用静的ページをページ分割するプラグイン「PageBute」を導入してみる。
また少し改造してみる。
- ページナビゲーションはflickr風にしてみる。
- ページ分割の1ページ目へのリンクがindex.html付きになっているのでaタグから「index.html」を削除
- google sitemapに分割したページのURLを書き出す。
静的ページ用ページ分割プラグイン:PageBute
http://www.skyarc.co.jp/engineerblog/entry/2642.html
小粋空間: PageBute プラグインによるページ分割
http://www.koikikukan.com/archives/2008/11/07-005555.php
導入は上記サイトに詳細があるので割愛。
flickr風ページナビゲーションもPageButeとcssいじるだけなので割愛。
2.ページ分割の1ページ目へのリンクがindex.html付きになっているのでaタグから「index.html」を削除
PageBute.plのaタグ成形部分に追記。
PageBute.diff
--- PageBute.pl.org 2009-07-31 16:56:35.000000000 +0900
+++ PageBute.pl 2009-07-31 16:57:28.000000000 +0900
@@ -320,6 +320,7 @@
my ($page, $file, $extension, $name, $class_name) = @_;
my $url = $file . ( $page == 1 ? '' : "_${page}" ) . ".${extension}";
$url =~ s|\\|\/|g; # for windows
+ $url =~ s|index\.html$||; # for delete index.html
return "<a href=\"$url\" class=\"$class_name\">$name</a>";
}
3.google sitemapに分割したページのURLを書き出す。
mt:setvarやmt:ifを多数設定しないといけないので無駄な改行を削除するため
MTRemoveBlank プラグイン
http://bizcaz.com/archives/2007/09/09-174534.php
を導入。
google sitemap用テンプレートはすでにあるので下記を追記。
<MTRemoveBlank> <mt:setvar name="PBCNT" value="10"> <mt:BlogEntryCount setvar="p_cnt"> <mt:setvar name="p_ceil" value="$p_cnt"> <mt:setvar name="p_ceil" value="$PBCNT" op="%"> <mt:setvar name="p_cnt" value="$PBCNT" op="/"> <mt:getvar name="p_cnt" regex_replace="/(\d*)\.(\d*)/","$1" setvar="p_cnt"> <mt:setvar name="p_max" value="$p_cnt"> <mt:if name="p_ceil" gt="0"> <mt:setvar name="p_max" value="1" op="+"> </mt:if> <mt:for var="i" from="2" to="$p_max"> <mt:setvar name="PB[$i]" value="$i"> <url> <loc><$MTBlogURL encode_xml="1"$>index_<mt:getvar name="PB[$i]">.html</loc> <lastmod><$MTDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod> </url> </mt:for> <mt:setvar name="PBCNT" value="10"> <MTCategories> <mt:if tag="CategoryCount" gt="$PBCNT"> <mt:categoryCount setvar="p_cnt"> <mt:setvar name="p_ceil" value="$p_cnt"> <mt:setvar name="p_ceil" value="$PBCNT" op="%"> <mt:setvar name="p_cnt" value="$PBCNT" op="/"> <mt:getvar name="p_cnt" regex_replace="/(\d*)\.(\d*)/","$1" setvar="p_cnt"> <mt:setvar name="p_max" value="$p_cnt"> <mt:if name="p_ceil" gt="0"> <mt:setvar name="p_max" value="1" op="+"> </mt:if> <mt:for var="i" from="2" to="$p_max"> <mt:setvar name="PB[$i]" value="$i"> <url> <loc><$MTCategoryArchiveLink encode_xml="1"$>index_<mt:getvar name="PB[$i]">.html</loc> <lastmod><$MTDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod> </url> </mt:for> </mt:if> </MTCategories> <mt:setvar name="PBCNT" value="10"> <MTArchiveList archive_type="Monthly"> <mt:if tag="archiveCount" gt="$PBCNT"> <mt:archiveCount setvar="p_cnt"> <mt:setvar name="p_ceil" value="$p_cnt"> <mt:setvar name="p_ceil" value="$PBCNT" op="%"> <mt:setvar name="p_cnt" value="$PBCNT" op="/"> <mt:getvar name="p_cnt" regex_replace="/(\d*)\.(\d*)/","$1" setvar="p_cnt"> <mt:setvar name="p_max" value="$p_cnt"> <mt:if name="p_ceil" gt="0"> <mt:setvar name="p_max" value="1" op="+"> </mt:if> <mt:for var="i" from="2" to="$p_max"> <mt:setvar name="PB[$i]" value="$i"> <url> <loc><$MTArchiveLink encode_xml="1"$>index_<mt:getvar name="PB[$i]">.html</loc> <lastmod><$MTDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod> </url> </mt:for> </mt:if> </MTArchiveList> </MTRemoveBlank>
これで少し再構築が遅くなったがちょっと様子を見よう。




コメントする