top

QG : Akiary Labo

バックナンバー

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

2005年9月21日(水)  複数日記作成

00multi.txtの「一人で複数の日記を書く」を参考に、Akiaryに関したコンテンツ「Akiary Labo」を作成。Akiaryらしく、php化以外はデフォルトに近い形にしました。

ついでにQGトップのエンコードを以前のようにUTF-8にしようとしましたが、失敗しました。記憶にある方法としては、使用するファイルのエンコードを変換して保存したものをアップすれば良かったはずなのですが。
テンプレートファイルは、ソースのエンコードを修正。
実行ファイル(.cgi)及びコンフィグファイル(.cfg)は、テキストエディタで開いた後、エンコードを選択して保存。
ところが変換した実行ファイルをアップすると、日付・題名・内容が文字化けしてしまいました。Macのエディタであるmiを使って変換してアップすると、今度はInterval Server Error。
他のファイルもあれこれ書き直したりアップしたりを繰り返しているうちに、どんどん深みにはまっていってしまったので、UTF-8化は諦めて再び最初から作り直しました。
特殊文字が表示できて便利なので、いつかはUTF-8にしたいところです。

2005年9月20日(火)  Akiary v.0.61設置とphp化

まずは、基本設定のままでアップロードして成功。
次にphp化ですが、diary.cfgのテンプレートファイルと出力ファイルの拡張子を.phpに変更してみると、予想通り日記ページが開きません。
そこで、akiary.cgiにて.htmlで指定されている箇所を.phpに書き直していきます。

読み込むファイル。

482行目 @files=sort(grep(/^\d{6}(\d{2})?\.php$/,readdir(DIR)));
611行目 @files=sort(grep(/^\d{6}(\d{2})?\.php$/,readdir(DIR)));
1461行目 @files=sort(grep(/^\d{6}(\d{2})?\.php$/,readdir(DIR)));
1553行目 @files=sort(grep(/^\d{6}(\d{2})?\.php$/,readdir(DIR)));
1574行目 $thismonth=sprintf("%04d%02d.php",$y,$m);
1666行目 @files=sort(grep(/^\d{6}(\d{2})?\.php$/,readdir(DIR)));

出力されるファイル。

1768行目 (@div_date=split(' ',$CFG{'dfile_div_mday'})) ||
return("$y$m.php");
1773行目 return( sprintf("%04d%02d%02d.php",$y,$m,$_) );
1776行目 return("$y${m}01.php");


日記作成画面の「日記」リンクをクリックすると、トップページには日記がありません。
これは、テンプレートファイルがデフォルトのままなので、リンク先のファイル拡張子が.htmlになっているためです。
続いてテンプレートファイル中の拡張子を.htmlから.phpへ書き換えていきます。

バックナンバー用テンプレートファイル(tmpl_bn.php)。

53行目 [<a href="index.php">目次</a>]
55行目 [<a href="new.php">最新版</a>]
56行目 [<a href="../index.php">トップ</a>]
72行目 [<a href="index.php">目次</a>]
74行目 [<a href="new.php">最新版</a>]
75行目 [<a href="../index.php">トップ</a>]

目次用ファイル(tmpl_index.php)。

53行目 [<a href="../index.php">トップ</a>]
57行目 <h2><a href="new.php">最新版</a></h2>
70行目 [<a href="../index.php">トップ</a>]

最新版用ファイル(tmpl_new.php)。

51行目 [<a href="index.php">目次</a>]
52行目 [<a href="../index.php">トップ</a>]
68行目 [<a href="index.php">目次</a>]
69行目 [<a href="../index.php">トップ</a>]

これで晴れてphp化に成功しました。
あとは必要に応じてカスタマイズをしていきます。


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