akiary.cgi

akiaryのインターネットアーカイブ

過去の日記作成支援

2002年、デザインのカスタマイズ性に優れ、月別にログファイルを出力してくれるakiaryは自分のイメージにピッタリだった。

しかし10年以上離れている間に、配布サイトがなくなってしまった。

時を戻すべくakiaryにテコ入れ。v.0.51→v.0.61にバージョンアップする。

全てのファイルのエンコードを変更。Shift_JIS→UTF-8
多言語対応エディタ


akiary.cgiを弄り出力するファイルもUTF-8へ変更。その後、改造している方のサイトを見る。Akiary本体の改造§v.0.61向けの軽い改造こちらの方が良さそうなので、追加する。タイムスタンプ追加。

投稿フォームでの改行にスタイルシートを適応させるため、改造したakiary.cgiの設定

  1. newline => '<div class="br1"></div>\n',

に変更。

このままだと修正する時に一行で表示されてしまうので。650行辺りを、  

  1.    # 更新/削除
  2.     ($date,$title,$body)
  3.     =($date{$FORM{'did'}},$title{$FORM{'did'}},$body{$FORM{'did'}});
  4.     ($syear,$smon,$smday)=($date=~/^(\d{4})(\d{2})(\d{2})/);
  5. # if ($acfg->{newline} eq '<br>') {
  6.      $body=~tr/\x0D\x0A//d; # 改行コード削除
  7.      $body=~s/<div class="br1"><\/div>/\n/ig;
  8. # }

上記のマーカーの部分を変更。気をつけなければいけないのは、投稿フォームでの改行イコール、

  1. <div class="br1"><\/div>

になる。スタイルシートが適応されてしまうので、ソースタグなど物によっては一行にしないといけない。

改造した1476行目付近、a name属性をidに変更。idはアルファベットから始まらないといけないらしいので、力技で変更。RSSフィードの日付参照のために必要なので、$bndate{$_}は残す。    

  1.       foreach(@k){
  2.        print FH qq(<a id="d$_"></a>);
  3.        print FH "<!--akiary_diary did=$_ date=$bndate{$_}-->";

同じく1778行目付近も変更。  

  1.     foreach(@k){
  2.     $ret .= qq(<a id="d$_"></a>);
  3.     $ret .= qq(<!--akiary_diary did=$_ date=$date{$_}-->);
  4.       $tmp=$match;
  5.       # 日付

akiaryからrdfを出力するaki2rss.cgiは15年前に使っていた。いつのまにか、index.rdfのリンクをクリックするとダウンロードするようになったので、サーバーにある.htaccessファイルに

  1. AddType application/xml .rdf

一行足すだけでダウンロードされなくなった。時代遅れ?いやこれで最先端。ではなくても最南端の陸の孤島にはなった。

参考記事

改造1693行目 ログページの1月2月とかの数字にスタイルシート。

  1.   $tmp =~ s/%M0/sprintf("%d",$m)/eg; # 月
  2.        $tmp =~ s/%M1/sprintf("%02d",$m)/eg; # 月(0付き)
  3.        $tmp =~ s/%M2/$m2[$m-1]/g; # 月(英語短縮)
  4.        $tmp =~ s/%M3/$m3[$m-1]/g; # 月(英語)
  5.        if (defined($index{$y})){
  6.             $index{$y} .= $CFG{'index_format_between_months'};
  7.        }
  8.        $index{$y} .= "<span class=\"moon23\"><a href=\"$rp$_\">$tmp</a></span>";
  9.       }
  10.       # 各年を入れたり
最終更新日:2020/12/06