GNSを動かすための最低限の設定方法をこれまでに解説してきましたが、ここでは残りの設定可能項目について解説します。ここまでに解説しなかった設定は、変える必要はあまりないかもしれませんが、より柔軟に使用したり、改造を行ったりする際には有効かもしれません。

  1. css
  2. 表示アイテム
  3. config.phによる設定
  4. config.phによる改造

css

GNSは、cssに対応したHTMLファイルを出力します。「[GNSプログラムフォルダ]/style」ディレクトリに、これらのHTMLに対応したcssファイルセットが収められています。好きなcssファイルを「GNSフォルダ」にコピーして利用してください。

plain ほとんどスタイル指定のないcssファイルです。オリジナルのスタイルを作るときの雛形として使います。
simple デフォルトのスタイル指定が入ったcssファイルです。

「WWW環境」で使用しているときは、同じcssファイルを「GNSプログラムフォルダ」にもコピーすると、「GNS更新フォーム」でもスタイルが有効になります。

表示アイテム

「[日記マスタフォルダ]/keep/98.html」は、「表示アイテム」のデータベースです。これは、「曜日」や「タイトルの飾り」などを列挙したものです。例えば「曜日」の表記を変更したいとき、このファイルを編集します。

各アイテムは、指定された位置の行の内容になります。

行数 説明 初期値
1 日曜日を示す文字列です。
2 月曜日を示す文字列です。
3 火曜日を示す文字列です。
4 水曜日を示す文字列です。
5 木曜日を示す文字列です。
6 金曜日を示す文字列です。
7 土曜日を示す文字列です。
8 タイトル(@title)の飾り文字です。
9 段落タグ(@s)のアンカー文字です。 _
10 脚注(@*・@f)のアンカー文字です。 *
11 後書き(@foot)の開始部に差し込む文字列です。 <SMALL>■
12 後書き(@foot)の終了部に差し込む文字列です。 </SMALL>

「WWW環境」で使用するときは、[Item]ボタンを押すことで、表示アイテムファイルを編集することができます。

config.phによる設定

ここでは、config.phによる設定のうち、まだ紹介されていないものについて解説します。ここにないものについては、各環境用の設定項目をご覧ください。

$DIGESTDAYS = 4;
ダイジェストページに載せる最大日数です。
$PRINTNOEXISTDAY = 1;
1のときは、日記マスタがない日でも日付を表示します。0のときは、日記マスタがない日の日付は表示しません。
$NKFCODE = '-j';
$CHARSET = 'ISO-2022-JP';
$NKFCODEは、日記ページの出力時の文字コードを「NKFに与えるオプション」の形式で指定します。
$CHARSETは、日記ページで変数"@/DIARY_CHARSET/"で参照することができます。
$GETDIR = '../d';
$PUTDIR = '..';
$KEEPDIR = $GETDIR . '/keep';
$TMPDIR = 'tmp';
上から順に、「日記マスタフォルダ」「日記ページ出力フォルダ」「データベースフォルダ」「テンポラリフォルダ」の位置を指定します。
$GETDIR, $PUTDIRはどこを指定しても構いませんが、$KEEPDIRは「$GETDIRの下」、$TMPDIRは「GNSプログラムフォルダの下」でなければいけません。
$DIARY_GETDIR_PERM = "0777";
$DIARY_PUTDIR_PERM = "0777";
$DIARY_KEEPDIR_PERM = "0777";
$DIARY_TMPDIR_PERM = "0777";
上から順に、「日記マスタフォルダ」「日記ページ出力フォルダ」「データベースフォルダ」「テンポラリフォルダ」のパーミッションを指定します。
デフォルト値は、最もトラブルが起こりにくい値であるとともに、セキュリティがもっとも低い値でもあります。ご注意ください。
「ローカル環境」や「メール環境」の場合、多くのファイルは所有者が自分自身です。この場合、"0700"や"0755"が適切な値です。
「WWW環境」で、ファイルの所有者が「WWWサーバ」となるサーバを使っている場合、"0700"や"0755"を指定してしまうと、ftpやシェルログインでのアクセスで「自分が自由に操作できないディレクトリ」を作り出してしまいます。
$DIARY_GET_PERM = "0666";
$DIARY_PUT_PERM = "0666";
$DIARY_KEEP_PERM = "0666";
$DIARY_TMP_PERM = "0666";
上から順に、「日記マスタフォルダ」「日記ページ出力フォルダ」「データベースフォルダ」「テンポラリフォルダ」に書き込まれるファイルのパーミッションを指定します。
デフォルト値は、最もトラブルが起こりにくい値であるとともに、セキュリティがもっとも低い値でもあります。ご注意ください。
「ローカル環境」や「メール環境」の場合、多くのファイルは所有者が自分自身です。この場合、"0600"や"0644"が適切な値です。
「WWW環境」で、ファイルの所有者が「WWWサーバ」となるサーバを使っている場合、"0600"や"0644"を指定してしまうと、ftpやシェルログインでのアクセスで「自分が自由に操作できないファイル」を作り出してしまいます。
$ANCHOR = '';
日付・段落アンカーに前置する文字です。初期値(空)では"〜.html#1501"などのようなアンカーになりますが、例えば「$ANCHOR = 'd';」とすることで"〜.html#d1501"となります。
$RSSNAME = 'index.rdf';
RSSファイルのファイル名です。$RSSNAMEは、日記ページで変数"@/DIARY_RSSNAME"で参照することができます。

config.phによる改造

より進んだ設定として、ページ出力のプログラムの一部をconfig.phに含んでいます。これを改造することで、出力を変更することができます。

プログラムは、Perlのコードとして動作します。以下は、ページ出力プログラムの一部となっている関数です。

&PrintDiaryDate_Config( $year, $month, $day, $wday, $part, $weather, $topic, $category, $time )
日記ページの日付行の出力コードです。
$year
「年」を示す数値です。1980〜2099の値をとります。
$month
「月」を示す数値です。1〜12の値をとります。
$day
「日」を示す数値です。1〜31の値をとります。
$wday
「曜日」を示す数値です。0〜6の値をとり、$WDAYS[$wday]で曜日文字列を得ることができます。
$part
「上旬・中旬・下旬」を示す数値です。0〜2の値をとり、$PARTS[$part]で「旬」に応じた文字列を得ることができます。
$weather
「天気」を表す文字列です。「@weather」命令の引数がそのまま渡されます。
$topic
「話題」を表す文字列です。「@topic」命令の引数がそのまま渡されます。
$category
予約されています。現在は""(空)が入ります。
$time
「時刻」を表す文字列です。日記マスタの更新時刻、または@time命令の引数が、"2004/06/15 12:34:56"などの形式で渡されます。
この関数で要求されることは、以下の通りです。
  • 日付を認識できる、HTMLマークアップされた文字列を返す。
  • 文字列内に、「アンカー前置文字+2桁の日付を表す文字列(頭の"0"を省略しない)」からなるアンカーを含む。sprintfの書式で示すと、「"<A NAME=¥"$ANCHOR%02d¥"", $day」となる。
  • アンカーと同時に、「ベースページURL+"#"+アンカー前置文字+2桁の日付を表す文字列(頭の"0"を省略しない)」からなるジャンプを含む。sprintfの書式で示すと、「"<A HREF=¥"%04d%02d%s.html$ANCHOR%02d¥"", $year, $month, $PARTS[$part], $day」となる。
&PutDigestRSS_Config()
RSSファイルのヘッダの出力コードです。
この関数で要求されることは、以下の通りです。
  • RSSヘッダとして適切な文字列を返す。