---------------------------------------------------------------------- aDiary Manual by Ahiru Kobayashi / Sat Jun 7 22:18:57 2003 ---------------------------------------------------------------------- <> ■ 1 - aDiaryとは ================= PHPで動く日記帳です。BLOGとか言ってますが実は日記帳なのです:p ■ 2 - 使い方 ============= □ 2.1 設置編 □ 2.1.1 動作環境 - ''必須'' - PHP4.1.0以上(''ただし4.2.3では一部の機能が正常に動作しない'') - ''推奨'' - UNIX系OS - Apache □ 2.1.2 設置方法 - 解凍したファイルすべて(ただし''pack.rb''と''theme_sampleディレクトリ''は除く)を任意のディレクトリへアップロード - '''アップロードしたディレクトリ'''、'''adtpl ディレクトリ'''、'''theme ディレクトリ''' のパーミッションを''0707''以上に設定 - install.php にアクセスし、質問に答えて管理画面のトップに移ったら設置成功 - 完了 '''パスワードとユーザネームに使える文字''' 英数字とハイフン(-)、アンダーライン(_) です。他のを使ったらエラーです。 パスワードには英数字しか使えません。 '''エラーがでちゃったら''' パーミッションを確認してください。すべてのファイルがあるか確認してくだ さい。セーフモードかわからなかったら、セーフモードを on でインストール しても大丈夫ですが、一応調べましょう。 □ 2.1.2.1 注意事項 セーフモードONの場合で設定ファイルやスクリプト、テンプレートなどを再ア ップ(アップデート含む)する場合 - ファイルのUIDがアパッチユーザになってると思うので(install.php実行後)、一度対象ファイルを削除してからアップすること。その後 再度 install.phpを実行すること(CHANGE UID をクリック)。 テーマファイルはただ単に theme ディレクトリにアップしただけでは認識され ない。アップロード後に再度 install.php を実行する必要がある。セーフモー ドには関係なく必要である。 □ 2.1.3 設定方法 - ''CONFIG'' でてきとーに設定;) - ''TEMPLATES'' でテンプレートを書き込む。テンプレートの書式は後述。 - テンプレート編集画面で'''テーマローダ'''の画面でテーマを設定できます。テーマの横のセレクトボックスを選択後、''SELECT''ボタンを押して成功だったら、テンプレート編集画面にも反映されます。 □ 2.2 テンプレート □ 2.2.1 テンプレートエンジンの紹介 [[PHPカイハツ日誌様|http://hoover.ktplan.ne.jp/kaihatsu/php/index.php]] の htmltemplate.inc を改造して使わせてもらっています。ありがとうござい ます。 □ 2.2.2 テンプレートの書式 - ''出力命令'' - '''{val 変数}''' - 変数の内容を表示します。改行は
変換されます。 - '''{rval 変数}''' [重要] - val と同じですが、改行は改行として表示します。aDiaryは下処理で
を挿入していますので、普通はこの出力命令を使います。 - '''{xval 変数}''' - '''{xrval 変数}''' - HTMLにとって意味のある記号をサニタイジングします。aDiaryは下処理でサニタイジングしてあるのでこれは必要ありません。 - ''制御構文'' - '''''' [重要] - '''''' - 変数の内容にしたがってループします。がループ終端です。 - '''''' - '''''' - 変数が存在する場合のみ、そのブロックを実行します。 - '''''' - '''''' - 変数が存在'''しない'''場合のみ、そのブロックを実行します。 '''例''' {rval diary/date/month}月{rval diary/date/day}日 {rval diary/report/title} {rval diary/report/data} 携帯用の日記しかありません。 日記がありません □ 2.2.3 テンプレートに使える変数の説明 テンプレートに使う変数は複数の階層に分かれています。たとえば、 diary └date └year という階層を持つ変数の場合、 {rval diary/date/year} と指定します。ただ し、たとえば diary/report が★の場合、diary/date/* 以下の変数には 内のブロックでしか参照できません。その他 のものについては どこからでも {rval diary/linkname} のように深い階層の 変数を直接参照できます。 ごめんなさい、作者でも忘れている変数があります:P 管理用変数とかは無視し ますが、それ以外でここに載っていないものは、テンプレートを見て意味を理 解してみてください。 ''一覧の見かた'' '''変数名 : 説明''' ★のついているものは each でループさせる変数。他は出力命令で使用可能。ifdef, ifndef はすべての変数について使用可能。 [[[一覧]]] ※ここにあるものは古い情報です。更新されるまで CHANGELOG をご覧下さい。 diary★ : 日記の本体。each でループさせる。日記が無いことは ifndef で確認可能 ├date : 日付に関するカテゴリ | ├year : 表示する記事の年 | ├month : 月 (ex. 5) | ├day : 日 (ex. 9) | ├smonth : 月。一桁の場合0で詰める (ex. 01) | └sday : 日。一桁の場合0で詰める (ex. 06) ├linkname : 日付単位でのリンクアンカー用番号 (ex. 20030310)。year + smonth + sday と等価 ├report★ : 記事本体 | ├data : 本文が格納されている (ex. aDiary is Blog :p.
\nI am 'the' ahiru!!) | ├linkname : 記事単位でのリンクアンカー用番号 (ex. 20030310_00) | ├title : 記事のタイトル | ├number : 記事の番号 (ex. 0) | ├mode : 記事の閲覧モード (normal or mobile or pc) | └user : 記事を投稿したユーザ名 └reply : コメントデータ本体 ├view★ : 表示データカテゴリ | ├name : 名前 | ├data : コメント本文 | ├time : 投稿時間 | ├mail : メールアドレス | └url : URL。ifdef とかとあわせると幸せになれる。 └form : コメント投稿用フォームカテゴリ。これは each で使うのではなく、ifdef で存在するかをチェックするのみ。 ├head : フォームヘッダ。
等フォームに必要なヘッダが含まれている ├foot : フォームフッタ。
└cookie : クッキーカテゴリ ├name : クッキーに保存された投稿者の名前 ├mail : メールアドレス └url : URL calendar : カレンダーの本体。後述 version : aDiaryのバージョン (ex. 0.9.5) script_path : スクリプトの相対パス。common.php の D_SCRIPT_PATH skindir_path : テンプレートファイルが格納されているディレクトリ。(ex. ./skin/user) archives★ : 過去の記事にアクセスするためのインデックス ├year : 過去ログの年 (ex. 2003) └month : 月のカテゴリ(特殊。upto の例参照) ├upto★ : 昇順の月のリスト。これは特殊で each でまわして rval でも使います。古い日付から表示。 └downto★ : 降順の月のリスト。upto と使い方は同じ。新しい日付から表示。  ex.) {rval archives/year}年のリスト {rval archives/month/upto}月 result sample) 2003年のリスト 03月 04月 today : 日付カテゴリ。以降出てくる変数の数字はすべて0で詰められている。さらに ├year ├month └day tomorrow ├year ├month └day yesterday ├year ├month └day nowmonth : 月カテゴリ。数字は0詰め。*注意月* このカテゴリの日付はあなたの世界の「現在の日付」ではなく、 | 表示している記事の月が基準です。表示している記事が5月の記事なら、nowmonth/month は 05 を示し | ます ├year : 今月の年 └month : 今月の今月 :) nextmonth : 表示中の記事の前の月 ├year └month lastmonth : 表示中の記事の次の月 ├year └month □ 2.3 テーマ作成編 テーマファイルは index_pc.html などのファイルをひとつにまとめたバイナリ ファイルになっています。 パッケージング用Rubyスクリプトを添付しました(pack.rb)。 実行方法 $ ruby pack.rb themename infilename [ more infilename... ] 例) $ ruby pack.rb example.theme index_pc.html theme.ini title_pc.html thumbnail.jpg $ ruby pack.rb example.theme workdir/* テーマファイルの拡張子は theme を推奨 添付したテーマファイル(darkgreen.theme)のパッケージング前のファイルをい っしょに添付しました(theme_sample)。設定ファイルの書式などはそれを見て ください。なお、''thumbnail.jpg''(ファイル名固定)というファイルをいっし ょにパックすると、テーマローダでサムネイルとして表示します。 theme.ini は必須です。必ずパックしてください。 theme.ini の comments ではタグは使えませんが、[br] とすると改行をするこ とが出来ます。