ようこそゲストさん

mitc - 日記

2007/06/18(月) adiary1.392を試してみた

はてブ 2007/06/18 20:00 雑記miff
adiaryにwiki拡張をほどこした新バージョンがMLで配布されていたので入れてみました.
以下雑記(ほとんど新バージョンに関係ないです)

設置パスの検知が賢くなった

以前のようにごにょごにょする必要がありません.
これは楽です.
(Xrea Plusの場合でのみ見てるので,無料版の広告表示設定に対応するにはやっぱり必要かもしれません)

wiki的拡張

単にサイドバーに新着記事が出るだけ?よくわかりません.
正式版が出ると共にある程度のドキュメントが公開されることを期待.

トップページ

マルチユーザモードでは複数ユーザの日記を選択するためのトップページを表示できます.
それで,せっかくのwiki的拡張ならそれをトップページに表示したらいいやってことで.

adiary.conf.cgiの設定

設定用の値は例です
マルチユーザ時のtop画面に、特定ユーザーの特定記事を表示します。
<$v.multiuser_top_id="miff">
<$v.multiuser_top_key="index">

<$v.template_dir        = "<@theme_dir>hatena/">
<$v.theme               = 'hatena_water'>		デフォルトのテーマ
<$v.system_template_dir = "<@theme_dir>hatena/">
<$v.system_template     = 'hatena_water'>
<$v.system_theme        = 'hatena_water'>		システムテーマ
日記の場合はkeyに日記番号もしくはwiki用のkeyを設定.
トップページがsatsukiだと味気ないのでここを他のに変更.

トップページのカスタマイズ

テーマの設定を変えただけだと,日記一覧が妙に長いせいでデザインが崩れたりします.
そこで,この部分を小さくするとだいたい奇麗に見えるようになります.
変更すべきは,/diary.skel/daybook_list.htmlです.
ただし,直接変えてしまうと後で戻すのに困るし,バージョンアップ時にも戻ってしまいます.
そこで,同じディレクトリにdaybook_list2.htmlとでも名前を変えてコピーし,それを編集します.
編集箇所は,次の部分.
	<table style="width: 70%;">
	<tr>
		<th><a href="<@thisurl>/id">ID</a></th>
		<!-- <th><a href="<@thisurl>/diaries">記事数</a></th> -->
		<!-- <th><a href="<@thisurl>/comments">コメント数</a></th> -->
		<!-- <th><a href="<@thisurl>/tbs">TB数</a></th> -->
		<th><a href="<@thisurl>/diary_tm">最終記事</a></th>
		<th><a href="<@thisurl>/comment_tm">最終コメント</a></th>
		<th><a href="<@thisurl>/tb_tm">最終TB</a></th>
		<!-- <th>この情報の生成日時</th> -->
		<@if(admin, "<th>設定</th>")>
	</tr>
	<@forexec(t, v.load_daybook_list(v.query_ary#1), begin)>
	<tr>
		<td><a href="<@t.url>"><@t.id></a></td>
		<!-- <td align="right"><span class="large"><@t.diaries></span></td> -->
		<!-- <td align="right"><span class="large"><@t.comments></span></td> -->
		<!-- <td align="right"><span class="large"><@t.tbs></span></td> -->
		<td align="center"><@if(t.diary_tm,   tm_printf('%n/%e %H:%M', t.diary_tm, 0),   '-')></td>
		<td align="center"><@if(t.comment_tm, tm_printf('%n/%e %H:%M', t.comment_tm, 0), '-')></td>
		<td align="center"><@if(t.tb_tm,      tm_printf('%n/%e %H:%M', t.tb_tm, 0),      '-')></td>
		<!-- <td align="center"><@if(t.all_tm,     tm_printf('%n/%e %H:%M', t.all_tm, 0),     '-')></td> -->
		<@if(admin, #'<td><a href="<@t.url>?menu">管理</a></td>')>
	</tr>
	<$end>
	</table>
変えた部分は,コメントアウトにしている部分と,tableタグにstyleでwidthを指定している部分です.
これで,小さな日記一覧表ができたわけですが,トップページのテンプレートを修正しないと反映されません.*1
それが/diary.skel/_multiuser_top.htmlの次の部分です
<@><!--=====================================================================-->
<@>日記帳リストの呼び出し
<$ifjump(! v.multiuser_top_nolist, 'daybook_list')>
daybook_listとなっている部分をdaybook_list2に変えればOK.
ちなみにこの_multiuser_top.htmlも_multiuser_top3.htmlとでも名前を変えてadiary.conf.cgiからそっちを呼び出すようにしておけばバージョンアップ時に気にする必要が無くなって楽ちんです.

*1 : ファイル名を変えずに作業した場合は,このファイルをアップロードするだけで反映されます

不具合?

トップページのスケルトンは,次の項目を編集すれば変えられます.
このスケルトンは,/diary.skel/_multiuser_top.htmlと_multiuser_top2.htmlを参照しています.
勝手に_multiuser_top3.htmlを作って_multiuser_top3を指定するとそれが反映されるようになる……はずでした.
マルチユーザ時のトップスケルトン(どちらか選択式)
<$v.multiuser_top_skelton = "_multiuser_top">
#<$v.multiuser_top_skelton = "_multiuser_top2">
しかし,反映されません.
それは,もっと下の方で
マルチユーザー時のトップスケルトン
<$v.multiuser_top_skelton = "_multiuser_top">
同じ記述が載っていて上書きされているからです.
ここをコメントアウトすればOK.
書いて思いましたが別にバグじゃないですね.


名前:  非公開コメント   

E-Mail(任意/非公開):
URL(任意):
  • TB-URL  http://mitc.s279.xrea.com/diary/043/tb/