ついこの前2.03Rにバージョンアップしたばかりのような気がするんですが、sb開発研究所を覗いてみたら2.04Rが公開されていたのでバージョンアップしました。
lib/,doc/の中身とsbTextFormat.pmを差し替えて、いつも修正する./lib/sb/Data/Trackback.pmと./lib/sb/Data/Message.pmを。target属性を削除、それとtrackbackの方はアンカーにrel属性を付加。
今日の更新はバージョンアップに伴う投稿テストです。あとメモ書き。
sbTextFormat.pmって何?
今まで存在すら気付かなかったんですが、今回のバージョンアップで差し替えになっていたので、どんな物だろうと思って試しに使ってみました。
これってアレですね。Wiki記法っぽい記述が可能になるプラグインだったようで。便利と言えば便利なんだけど、普段はマークアップを記述しながら日記書いてるし。p要素を書いておいて行間空けるとp要素が二重になったりするので慣れるまでは混乱しそうだなーと言うことで使用は止めました。
リストマークアップのネストなんかは楽になるだろうけど、それだって今でもやたらネストして面倒な時はwikiで書いておいてソースを修正して持ってきたりやってるし。今のところあまり使うメリットはないかなーと。
コメントのフォーム 微妙に修正
投稿者名の部分は強調した方が見易いかもーと思ってstrong要素で括ってみた。けど、よくよく考えたら名前のない人がいた場合strong要素の中身が空になっちゃうんだよな。あんまり美しくない。どーしよう。
はてブのコメントを表示させてみたくなった
普段はあまりクリップされることもないんだけど、何となくやってみたくなったのでローカルでテスト中。フィードの解釈まで自分でやるのは能力的に無理があるのでMagpie RSSで。dc:subjectが複数あると個別に解釈出来ないような感じなのでタグの表示とそのリンクまでは無理かも。つかボクには出来ません。
Magpie RSS
以前書いたメモ書き、Magpie RSSの覚え書き参照。
- dc:subject要素の表示は諦めた。表示されるのは日時、ユーザ、コメントのみ。
- タグが表示出来ません。
- description要素内はhtmlspecialcharsでHTMLエンティティ変換。
- 表示件数は"&n=20"みたいな感じで。
- RSSがない時はエラー表示。
- はてブの場合、クリップされていなくてもRSSのヘッダーだけは用意されているので、channelのtitleが空だった場合に「このエントリはまだクリップされてないかも。」表示。
- かなりヘタレっぽいことしてる。$site_title == ""
<?php
require_once 'rss_fetch.inc';
include_once 'rss_utils.inc';
$url = $_GET['u'];
$rss = fetch_rss($url);
$num = $_GET['n'];
if ( $rss and !$rss->ERROR) {
$site_title = $rss->channel['title'];
$site_title = mb_convert_encoding($site_title, "UTF-8", "auto");
$site_link = $rss->channel['link'];
if ($site_title == "") {
echo "<p>このエントリはまだクリップされてないかも。</p>";
exit;
}
else {
echo "<h2><a href=\"$site_link\" title=\"$site_title\">$site_title</a></h2>\n";
echo "<ul>\n";
}
$rss->items = array_slice($rss->items, 0, $num);
foreach ($rss->items as $item) {
$title = $item['title'];
$url = $item['link'];
$date = date('Y-m-d H:i', parse_w3cdtf($item['dc']['date']));
$desc = $item['description'];
$desc = htmlspecialchars("$desc");
$desc = mb_convert_encoding($desc, "UTF-8", "auto");
echo "<li>$date <a href=\"$url\" title=\"$title\">$title</a> $desc</li>\n";
}
echo "</ul>\n";
}
else {
echo "<p>エラー</p>" . $rss->ERROR;
}
?>
.htaccess
- 拡張子がhtmlのファイルでもSSI解析させる。
- 全体で行うと無駄にサーバ資源を消費するので過去ログファイルがあるディレクトリに対してのみ。
AddHandler server-parsed html
自前のサーバならためらいなくやっちゃうんだけど、共用レンタルサーバだからなぁ。あんまりやりたくない。
Serene Bachのテンプレート
- sequelブロックで個別ページでのみ表示。
- {permalink}タグを使用しているのでentryブロック内に含める必要有り。
<!-- BEGIN sequel -->
<div class="article">
<!--#include virtual="../../rss/rss.php?u=http://b.hatena.ne.jp/entry/rss/{permalink}&n=20" -->
</div>
<!-- END sequel -->
まだ自鯖でお試し中
認証掛けてあるディレクトリだからtitle要素が取得出来なかったみたいだけど、自分でブクマして試したらだいたいこんな感じ。あ、しまった。ブクマを削除しても残滓が残るんだ。
もっとスマートで簡単な方法ってないでしょうか。