top

QG : Akiary Labo

バックナンバー

[Akiary v.0.51での改造]  [前月] [目次] [次月] [最新版] [QG]

2009年11月15日(日)  フィードの記事へのリンク修正

先日、記事のアンカー名を「date」+DIDの、「date20091115_1234567890」のような形式に変更しました。全記事中の記事へのリンクとカテゴリーリストなどの修正を終え、すっかり片付いた気分でいましたが、フィードのことをすっかり忘れていました。なんというか、「aki2rss.cgiでDIDへのリンク」の二の舞です(笑)。

Akiaryオプショナル日記からRSSを生成してくれる、aki2rss.cgiに再び手を入れることに。「-」が頭についているのが削除した行、「+」が追加した行です。

「aki2rss.cgiでDIDへのリンク」の時は直接拡張子もリンク先に書き込みましたが、この際なので、日記の拡張子を選べるように設定項目を増やしました。v0.92オリジナル版115目あたり。

 # TimeZone。サーバーの時計がJSTなら'+09:00'で、UTCなら'+00:00'もしくは'Z'
'tz' => '+09:00',
+# 日記の拡張子
+'ext' => 'php',

結局変わらずphpなのですが(笑)。

それから、記事へのリンクを作る404行目あたり。

 sub date2uri {
my $date = shift;
my($ym, $d) = $date =~ /(\d{6})(\d{2})/;
- return join('', ($ym, '.html#', $ym, $d));
+ return join('', ($ym, '.'.$conf->{ext}.'#date', $ym, $d));
}

sub did2uri {
my($did, $date) = @_;
my $ym = substr($date, 0, 4);
- return join('', ($ym, '.html#', $did));
+ return join('', ($ym, '.'.$conf->{ext}.'#date', $did));
}

それから、430行目あたり。

        # uriを探す。
- if ($$refchunk =~ m|href\s*=\s*[\"\']?(\d{6}\.html#\d{8})(_\d{9,10})[\"\']?|) {
- $uri = $1 . $2;
+ $$refanchor =~ m/(\d{6})(\d{2})_(\d{10})/;
+ $uri = $1 . '.'.$conf->{ext}.'#date' . $1 . $2 . '_' . $3;

こいつがごっそり変わっているのは、「aki2rss.cgiでDIDへのリンク」の時に思うところがあって修正したものに今回手を入れたからでありまして。オリジナル版の以上の箇所だけを変えてもうまくいかないかもしれません。当時修正した経緯をじっくり読んでシンプルな変更で済みそうなら、またレポートしようと思います。


[Akiary v.0.51での改造]  [前月] [目次] [次月] [最新版] [QG]