[Akiary/Weblog Like Style With Akiary]
テンプレート§「全タイトル一覧」を用意する

isnot.jp/wiki [Permalink] [編集] [差分]

最終更新:2004-08-30 05:02:05

「全タイトル一覧」を用意する

第1稿 2004-02-03

きっかけ

やーとさんのサイトからリンクされている、ナナコさんの「主婦、日常を振り返る。」という日記があります。自慢でもないけど私はAkiaryの初期のバージョンから利用させていただいていますが、「主婦、日常を振り返る。」はもっともっと先輩にあたるサイトです。しかも、お手本になるよな見事な日記です。内容は勿論ですが、デザインやスクリプトの使いこなしも目を見張るものです。

その過去ログで目にとまるのが、月別の「目次」です。見出しにリンクが張ってあって、ページ内の各記事に移動(スクロール)できるのです。どうやって実現しているのだろう?と、ずっと謎に思っていました。同じように感じた人は他にもいらっしゃるようで、たびたびやーとぼーどでもこの件が話題になります。

これを私のところでもやりたいと思って結構格闘したのですが、今に至るまで謎は解明できていません。究極的にはCGI本体をゴリゴリいじり回せば出来なくないのですが、私としては、誰にでもできる方法で何とかしたかったので、素の状態のAkiaryからかけ離れるようにはしたくないと考えました(言い訳?)

でもやっぱり悔しかったので、かわりになるものを工夫しました。それが「全タイトル一覧」(私の場合)です。

テンプレート解説

主要部分

便宜上行番号をつけました。

 01: <div class="day">
 02: <span class="title">過去ログ</span><br />
 03: <!-- akiary_index -->
 04: <br />
 05: </div>
 06: <div class="day">
 07: <span class="title">記事 (<!-- akiary_latest_times -->)</span><br />
 08: <table border="0" cellspacing="1" cellpadding="2">
 09: <!-- akiary_diary reverse latest_times="999" -->
 10: <tr><td valign="top" class="adate"><!-- akiary_date --></td><td valign="top" class="atitle"><!--akiary_title--></td></tr>
 11: <!--/akiary_diary-->
 12: </table>
 13: </div>

詳細

3行
<!-- akiary_index -->は、Akiary全体の「目次(過去ログ一覧)」に置き換わります。標準の設定では「index.html」と同じ内容です。なくても構いません。
7行
<!-- akiary_latest_times -->が、このテンプレートに差し込まれる記事の数と置き換わります。下記の9行に書いた工夫と組み合わせるとこにより、「全記事数」を表すようになります
9行
<!-- akiary_diary reverse latest_times="999" -->は、記事ひとつ分のまとまりの「開始」を表します。ココでのポイントが2つ。reverseというのが、「新しいほうが上に」という指定で、latest_times="999"というのが、記事を何件差し込むかという指定です。件数は最新から順に数えて何件目まで、なのですが、実際に存在する記事の数よりも大きい場合は、最古の記事までになります。
10行
<!-- akiary_date -->が日付、<!--akiary_title-->がタイトルに置き換わります。
11行
<!--/akiary_diary-->は記事ひとつ分のまとまりの「終了」の合図です。ここまでが、オプショナル日記のテンプレート置換の対象範囲になります。

実は他に、<!-- akiary_body -->というタグも使えるのですが、これは記事の本文に置き換わるものです。タイトル一覧だけほしいので、使いません

以上が要点になります。あとはテーブル組むなり、Divで囲んでCSSで料理するなりは、各自のお好みでどうぞ。

最新日記用のテンプレートに追加

あとは、「最新日記」からリンクするように、そちらのテンプレートも書き換えます。

 <a href="archive.html">全タイトル一覧</a>

設定解説

設定ファイル

 # オプショナル日記3のテンプレートファイル
 opt_diary_tmp_file_3="./tmpindex.html"
 # オプショナル日記3の出力ファイル
 opt_diary_file_3="./archive.html"

詳細

ファイル名は適宜調整してください。
"./tmpindex.html"というテンプレートを元にして、"./archive.html"というファイルをつくるという設定です。

リンクは……

実は上記のカスタマイズだけでは、一覧はできても、それぞれにリンクは貼られません。ちょっとトリッキーですが、設定ファイルの中にある「日付表示フォーマット」の項目を工夫すると、日付と一緒にリンクも表示させることができます。
解説⇒TIPS(応用利用法)§日付単位のアンカーとその顕在化

[FrontPage]

いしだなおと it@isnot.jp