SSブログ

サイトのメニューページを自動的に作る [オンライン・サイト編集]

 これはやっかいな仕事だ。いろいろ考えてみているのだが、どうもうまくいかない。各ページを作るのはいいとして、その都度、トップページのメニューに追加していくのは大変な面倒な作業である。それをできるだけ自動化できるといい、というのが、このオンライン・サイト編集システムの目的の一つだった。

 しかし、どこまで自動化し、どこまで手動でやるのか、その境目が決まらない。全自動にすれば、もちろん人間は楽だが、メニューとしての細かい制御ができない。それを個々のファイルのどこかに、たとえば特定のタグをつけたコメントととして記入しておくとするというの一つの解決策だが、そういう小手先のつじつま合わせをすると、段々、身動きがとれなくなっていくことが多い。

 一方、ほとんどを自分で編集し、どうしても面倒な部分のみをツールに任せる、というのも一つの手だ。今はどちらかというとこの方向に傾いている。いつも手動でメニューを更新するのが面倒だと思っているが、いざ、ツールのプログラムを考えようとすると、それはそれで面倒なので、日頃の面倒の方に逃げてしまいたくなる、ということなのかもしれない。

 取り敢えず、できるだけ人間が書いておき、頭を使わない部分だけプログラムに任せる、としたら、どうなるだろうか。

 まず、サイト全体のメニューを一ページにおしこむか、トップページは表紙と各章へのメニューだけにし、各章ごとのメニューページを別に作るか、という選択肢がある。おそらく、後者の方がサイトはきれいになるだろう。また、この場合、トップページには、最新の更新履歴をたとえば5件ほど載せる。ついでに、全サイトについての更新履歴も自動的に作ることにしよう。トップページの更新情報も含め、この更新履歴のページについては、後日考えることにする。

 さて、そのトップページからリンクされる各章のメニューからリンクされる各章の実際のページの方は、一つのディレクトリの中に収めることにする。その関連づけは、そのメニューページ、たとえば、books.htmlと、ディレクトリはbooksというディレクトリにする、というように、拡張子を除いた名前を一緒にしておく。

 メニューページの内容は、HTMLで用意するのではなく、XMLで用意しておく。そうすることで、HTMLにするときの煩雑な書式を書かずに、できるだけシンプルにデータを記述しておけばいいようにしておく。そうすることで、せめてもの面倒の多少の解消をする。

 たとえば、メニューからのリンクは、aタグでメニュー項目を囲むことになるが、XMLではそれは単にファイル名と内容ページのタイトル要素とを書いておくだけにする。アップデートした項目には、update属性をつける。新規項目にはnew属性をつける。各ファイルの最終更新日付は、ファイルの更新日付とし、これは後からプログラムが書き込むことにする。つまりデータには含まれるが人間は触らなくていい。

 各メニュー項目にはdescription要素を含みうるが、これは、各内容ページのmeta要素でname属性がdescriptionのcontent属性を、ツールが自動的に収集して記入する。人間は触らなくていい。

 そのディレクトリの下に更にサブディレクトリを作ることもありうる。しかし、それらについてのメニューも、このトップディレクトリに置かれるメニューページに記述するものとする。

 要するに、このメニューページのXMLでは、メニュー項目の順序を決定して、その順序どおりに、タイトル要素とファイル名の対応だけを書いていけばよい。あとはプログラムがメニューページを生成するときに、実際のファイルのを走査して、必要な情報を調査し、さらにHTMLとして書き出すようにする。

 書くのは簡単だが、プログラムするのはそうとう難しい作業かもしれない。少しずつ簡単なコアから作っていかなければならないだろう。

  メニューページの情報を記述するXMLの設計については、明日書くことにする。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。