2002年、デザインのカスタマイズ性に優れ、月別にログファイルを出力してくれるakiaryは自分のイメージにピッタリだった。
しかし10年以上離れている間に、配布サイトがなくなってしまった。
時を戻すべくakiaryにテコ入れ。v.0.51→v.0.61にバージョンアップする。
全てのファイルのエンコードを変更。Shift_JIS→UTF-8
多言語対応エディタ
akiary.cgiを弄り出力するファイルもUTF-8へ変更。その後、改造している方のサイトを見る。Akiary本体の改造§v.0.61向けの軽い改造こちらの方が良さそうなので、追加する。タイムスタンプ追加。
投稿フォームでの改行にスタイルシートを適応させるため、改造したakiary.cgiの設定
- newline => '<div class="br1"></div>\n',
に変更。
このままだと修正する時に一行で表示されてしまうので。650行辺りを、
- # 更新/削除
- ($date,$title,$body)
- =($date{$FORM{'did'}},$title{$FORM{'did'}},$body{$FORM{'did'}});
- ($syear,$smon,$smday)=($date=~/^(\d{4})(\d{2})(\d{2})/);
- # if ($acfg->{newline} eq '<br>') {
- $body=~tr/\x0D\x0A//d; # 改行コード削除
- $body=~s/<div class="br1"><\/div>/\n/ig;
- # }
上記のマーカーの部分を変更。気をつけなければいけないのは、投稿フォームでの改行イコール、
- <div class="br1"><\/div>
になる。スタイルシートが適応されてしまうので、ソースタグなど物によっては一行にしないといけない。
改造した1476行目付近、a name属性をidに変更。idはアルファベットから始まらないといけないらしいので、力技で変更。RSSフィードの日付参照のために必要なので、$bndate{$_}は残す。
- foreach(@k){
- print FH qq(<a id="d$_"></a>);
- print FH "<!--akiary_diary did=$_ date=$bndate{$_}-->";
同じく1778行目付近も変更。
- foreach(@k){
- $ret .= qq(<a id="d$_"></a>);
- $ret .= qq(<!--akiary_diary did=$_ date=$date{$_}-->);
- $tmp=$match;
- # 日付
akiaryからrdfを出力するaki2rss.cgiは15年前に使っていた。いつのまにか、index.rdfのリンクをクリックするとダウンロードするようになったので、サーバーにある.htaccessファイルに
- AddType application/xml .rdf
一行足すだけでダウンロードされなくなった。時代遅れ?いやこれで最先端。ではなくても最南端の陸の孤島にはなった。
参考記事
改造1693行目 ログページの1月2月とかの数字にスタイルシート。
- $tmp =~ s/%M0/sprintf("%d",$m)/eg; # 月
- $tmp =~ s/%M1/sprintf("%02d",$m)/eg; # 月(0付き)
- $tmp =~ s/%M2/$m2[$m-1]/g; # 月(英語短縮)
- $tmp =~ s/%M3/$m3[$m-1]/g; # 月(英語)
- if (defined($index{$y})){
- $index{$y} .= $CFG{'index_format_between_months'};
- }
- $index{$y} .= "<span class=\"moon23\"><a href=\"$rp$_\">$tmp</a></span>";
- }
- # 各年を入れたり