GNSを使うにあたって、まず必要な知識を解説します。
GNSで日記を作成すると、以下の4種類の「日記ページ」ファイルが作成されます。
これらのファイルは、デフォルトでは「GNSフォルダ」に出力されます。「config.ph」内の「$PUTDIR」変数の内容を変更することで、出力先を変更することができます。
「ベースページ」は、日記の本体です。1ページあたり約10日(1ヶ月を上旬・中旬・下旬に区切る)で構成されています。ファイル名はGNSが日付から算出して自動的に付けられ、日付・タイトル・段落ごとに付けられるアンカーもGNSが自動算出します。これにより、「ある日付のある段落」にURLを自動的に設けることができるようになっています。
「ダイジェストページ」は、「ベースページ」から最近(初期設定では3日前から今日までの4日分)の分を抜き出して出力するページです。ファイル名は固定されており、読者はこのページを読むことで最新の日記を読むことができます。また日付・タイトル・段落ごとのアンカーはベースページにリンクするように出力されており、特定の段落へのリンクを簡単にコピーすることができます。
「インデックス」は、1年分の日記の目次となるページです。「年次インデックス」と「カテゴリインデックス」の2つが作られます。「年次インデックス」は1年分のタイトルが日付順にカレンダーとともに並べられ、一望することができます。「カテゴリインデックス」は、1年分のタイトルがカテゴリ順に並べられ、同じカテゴリで括られたタイトルを効率よく参照することができます。
「RSS/Atomファイル」は、「ダイジェストページ」をさらに簡潔にまとめたファイルです。「RSSリーダー」と呼ばれるツールでこのファイルを収集・閲覧することで、多くのサイトの最新情報を効率よく展望することができます。
GNSでは、日記文の記述に特殊なツールを使う必要はありません。基本的には、「1日1ファイルをテキストエディタで記述する」だけです。この、「1日ごとに分けて書かれる個々のファイル」を、「日記マスタ」と呼びます。
日記マスタは、指定したフォルダ(初期設定では"./d/")に年別にフォルダ(YYYY)を作成し、その下に"MMDD.html"(MMは月、DDは日)というファイル名で認識します。まとめて書くと、"./d/YYYY/MMDD.html"となります。
拡張子は".html"を使いますが、中身はHTML文法に沿ったファイルではなく、プレーンなテキストファイルとなります。
日記マスタの記述に使う文字コードは、「nkfが受け付けることができる形式」であれば何でもかまいません。ISO-2022-JP・EUC-JP・Shift_JIS・UTF-8を想定していると考えてください。なお、内部的にはEUC-JPに変換して処理しています。このためEUC-JPに変換できない文字コードは、内部的にどのような動作になるかを保証することができません。
日記マスタは、バッチファイルまたはシェルスクリプトを実行することで、「ベースページ」・「ダイジェストページ」・「RSS/Atomファイル」に変換することができます。Windows環境では「[GNSプログラムフォルダ]/mkd.bat」を、UNIXシェル環境では「[GNSプログラムフォルダ]/mkd.sh」を実行することで、変換が行われます。インデックスの作成は「[GNSプログラムフォルダ]/mkidx.bat」または「[GNSプログラムフォルダ]/mkidx.sh」を実行します。
「WWW環境」では、日記マスタの転送にCGIフォームを使用しています。CGIを起動することで、フォーム送信内容から日記マスタファイルを作成し、さらに日記ページの生成を自動的に行います。
「メール環境」では、日記マスタの転送にメールを使用しています。メールを受け取ったときに.forwardからスクリプトを起動することで、メール本文から日記マスタファイルの作成を行い、さらに「日記ページ」の生成を自動的に行います。
@title いか〜 |
2004/06/15 (火) |
日記マスタから日記ページを生成すると、その内容に基づいてさまざまなタグが追加されます。この中でもっとも重要なものが、「日付」・「タイトル」・「段落」です。
日記マスタは、特殊な命令なしに本文となる文章のみを書くことができます。これだけでも、日記として十分に読むことのできる出力を得ることができます。ですが、「タイトル」と「段落」を記述するための命令は、覚えておくと便利です。
GNSで書く日記には、リンクを設置することができます。リンクは、以下のどちらかの方法を用います。
前者はとくに説明の必要はないでしょう。日記マスタには、一部の例外を除いたほとんどのHTMLタグをそのまま使用することができます。自分の日記の適当な位置にリンクを張りたいときにも、この方法を使用します。
後者は、後に解説する「URI置換機能」を使用します。この機能はまず、たとえば「GORRY」という単語に"http://gorry.hauN.org/"というURIを関係付け登録します。そして、日記マスタ中に"@/GORRY//"と記述することで、日記には"<A HREF="http://gorry.hauN.org/">GORRY</A>"という文になって出力され、リンクを張ることができます。
「URI置換機能」については、以下をご覧ください。
拙作「WDB」や、「なつみかん」・「朝日奈アンテナ」・「はてなアンテナ」など、「アンテナ」と呼ばれるツールがあります。これは、登録したURIにある文書ファイルを定期的に監視し、更新があればそれを検知してリストの上位に並べるものです。「アンテナ」を使うことで、多くのサイトの巡回を効率的に行うことができるようになります。
GNSによる日記は、以下の方法でこれら「アンテナ」での検知に適応することができます。
ダイジェストページが作成されるとき、GNSは同時に「RSS/Atomファイル」を作成します。これは、ダイジェストページの本文のみを抽出したファイルです。
「RSSリーダー」というツールでこのファイルを読み込むと、これらを簡潔に表示することができます。一般的な「RSSリーダー」は複数のRSS/Atomをまとめて管理することができ、多くのサイトを更新順に表示することができるようになっています。
GNSが出力するRSS/Atomファイルには、日付・タイトルリストと、各ブロックの要約および全文、そしてこれらの記述時刻が含まれています。
GNSは、設定を行うことで、トラックバックPingの送信・受信が可能になります。トラックバックPingとは、「当ページを参照してください」というリクエストのことで、一般的には「何らかの関連があるページ」に対して送信するものです。
GNSのトラックバックPing送信は、Windows環境では「[GNSプログラムフォルダ]/tbsend.bat」を、Windows環境では「[GNSプログラムフォルダ]/tbsend.sh」を実行することで行います。「WWW環境」では、日記編集用のCGIフォームにトラックバックPing送信用の欄が設けられています。
また、必要であれば、他文書からトラックバックPingが送られてきたときに受信することができます。送られてきたリクエストは、ユーザーにメールで回送されます。また設定を行うことで、WWWページ上に受信したトラックバックPingの一覧を表示させることができます。
詳細は、以下をご覧ください。
GNSは、設定を行うことで、コメントの受信が可能になります。これにより、読者からのフィードバックを効率よく受け取ることができるようになります。
送られてきたコメントは、ユーザーにメールで回送されます。また設定を行うことで、WWWページ上に受信したコメントの一覧を表示させることができます。
詳細は、以下をご覧ください。
GNSは、それ自身ではアクセスを解析する機能を持っていません。これらを使用したい場合、出力のうち固定部となるヘッダ・フッタに、別途CGIやSSIなどで作られたツールを組み込むとよいでしょう。