日記の静的生成

### ハイパー日記システム Version 2.10

# 日記の静的生成

### 日記の静的生成とは?

hns は本来、動的なシステムです。ウェブ・サーバにアクセスがある度に hnf から HTML を動的に生成して日記を表示します。動的生成であるため 様々な表示の仕方や豊富な機能が利用可能となっています。

これに対して静的生成とは、あらかじめ HTMLファイル を用意しておくという 方法です。

プロバイダによっては CGI が使えないことがあり、 また、動的生成はアクセスの度に HTML を生成するため サーバへの負荷が、静的生成に比較してどうしても大きくなります。 このような制限を回避する方法として、日記の静的生成があります。

### 静的生成の方法

静的生成スクリプトを実行して下さい。

    $ cd ~/diary/bin
    $ ./make-diary
    creating /home/hoge/public_html/diary/recent.html ...
     done.
    creating /home/hoge/public_html/diary/200001.html ...
     done.

    6 seconds.

make-diary は、使用しているテーマのディレクトリに theme-static.ph があれば、それを使用して HTMLファイルを生成します。 hns のデフォルト・テーマjapanese には、 静的生成用のテーマ・ファイルtheme-static.ph が 含まれています。theme-static.ph がない場合は、make-diary は theme.ph を 利用して、HTMLファイルを生成をします。この場合、自分自身へのリンクが 動的生成のものになりますので、そのままでは、静的な HTML としては 不完全ですが、サーバ上でどのような HTML が生成されるか確認するためには 利用できるでしょう。

上記の例では、最近の日記(recent.html) と今月の日記(200001.html) が生成されました。

### 静的生成の場合の制限

静的生成の場合は、動的生成では利用可能な以下の機能などが 利用できません。

- アクセス・ログ機能
- クッキーによる読者の追跡
- ブラウザによるスタイルの動的変更
- アクセス制御機能
- 最近の日記と過去の日記でスタイルを動的に変更
- ひみつ交換日記機能
- i system への自動切り換え

だだし SSI でコマンド実行が可能なら、附属の logging.pl を実行することで、 アクセス・ログの取得とクッキーによる読者の追跡は可能です。 デフォルトのテーマjapanese では、SSI により logging.pl を 実行するように記述されています。ウェブ・サーバの設定で SSI でコマンド実行可能なら、 これらの機能は自動的に使えます。

### ハイパー日記システム Version 2.10

Index