PHPで動く日記帳です。BLOGとか言ってますが実は日記帳なのです:p
パスワードとユーザネームに使える文字
英数字とハイフン(-)、アンダーライン(_) です。他のを使ったらエラーです。パスワードには英数字しか使えません。
エラーがでちゃったら
パーミッションを確認してください。すべてのファイルがあるか確認してください。セーフモードかわからなかったら、セーフモードを on でインストールしても大丈夫ですが、一応調べましょう。
セーフモードONの場合で設定ファイルやスクリプト、テンプレートなどを再アップ(アップデート含む)する場合
テーマファイルはただ単に theme ディレクトリにアップしただけでは認識されない。アップロード後に再度 install.php を実行する必要がある。セーフモードには関係なく必要である。
PHPカイハツ日誌様の htmltemplate.inc を改造して使わせてもらっています。ありがとうございます。
例
<!--{each diary}-->
{rval diary/date/month}月{rval diary/date/day}日
<!--{each diary/report}-->
{rval diary/report/title}
{rval diary/report/data}
<!--{/each}-->
<!--{ifndef diary/report}-->
携帯用の日記しかありません。
<!--{/ifndef}-->
<!--{/each}-->
<!--{ifndef diary}-->
日記がありません
<!--{/ifndef}-->
テンプレートに使う変数は複数の階層に分かれています。たとえば、
diary
└date
└year
という階層を持つ変数の場合、 {rval diary/date/year} と指定します。ただし、たとえば diary/report が★の場合、diary/date/* 以下の変数には <!--{each diary/report}--><!--{/each}--> 内のブロックでしか参照できません。その他のものについては どこからでも {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.<br />\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 : フォームヘッダ。<form action="">等フォームに必要なヘッダが含まれている
├foot : フォームフッタ。</form>
└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.)
<!--{each archives}-->
{rval archives/year}年のリスト
<!--{each archives/month/upto}-->
{rval archives/month/upto}月
<!--{/each}-->
<!--{/each}-->
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
テーマファイルは 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] とすると改行をすることが出来ます。
Ahiru Kobayashi / ahiru@moephp.org