GNSの日記マスタで使用することのできる機能として、「マクロ」があります。基本的には「登録した文を短いキーワードで呼び出せる」というものですが、パラメータ(引数)を組み合わせることでさまざまな使い方をすることができます。

  1. システムURI置換
  2. ユーザーURI置換
  3. システムマクロ
  4. ユーザーマクロ

システムURI置換

「URI置換」は、マクロのなかでも比較的用途が多いと思われる「外部へのリンク」を手軽に管理するための機能です。呼び出しのための「キー」と、それに対応した「リンク先の名前」「リンク先のURI」でデータベースを作り、「キー」で呼び出すだけで自動的にリンクを作ることができます。

「システムURI置換」とは、GNSがシステムとして込みで提供するURI置換機能です。使用者が自分専用にURI置換を書きたいときは、「ユーザーURI置換」をご利用ください。

日記マスタで使用する
@s
GORRYへのリンクを張りたいときは、@/GORRY//と書きます。

@s
別の名前でリンクしたいときは、@/GORRY/後藤浩昭/などと書きます。
実際に日記マスタの記述で使用したいときは、右のようにします。
"@/キー//"と記述することで、「名前」と「URI」がAタグになって差し込まれます。末尾の"/"が2つ必要なことに注意してください。たとえば「@/GORRY//」と記述することで、URI置換データベースから"GORRY"というキーを捜し、その結果「<A HREF="http://GORRY.hauN.org/">GORRY</A>」という文が差し込まれます。
2つめは、名前を差し替える例です。"@/キー/名前/"と記述することで、データベースに登録されている名前ではなく、ここで指定した名前を差し込みます。たとえば「@/GORRY/後藤浩昭/」と記述することで、「<A HREF="http://GORRY.hauN.org/">後藤浩昭</A>」という文が差し込まれます。
システムマクロ一覧
以下は、標準で組み込まれるマクロの一覧です。
@/GORRY// 当方の日記へのリンク」となります。
@/gorry// 「@/GORRY//」と同一です。
@/GNS// GNS配布ページへのリンクとなります。
@/hauN// hauNサーバのリンクとなります。
@/はうン// 「@/hauN//」と同一です。

ユーザーURI置換

「URI置換」は、マクロのなかでも比較的用途が多いと思われる「外部へのリンク」を手軽に管理するための機能です。呼び出しのための「キー」と、それに対応した「リンク先の名前」「リンク先のURI」でデータベースを作り、「キー」で呼び出すだけで自動的にリンクを作ることができます。

「ユーザーURI置換」とは、ユーザーが自由に作成できるURI置換です。すでに組み込まれているURI置換の一覧は、「システムURI置換」をご覧ください。

ユーザーURI置換データベース
ユーザーURI置換データベースとなるファイルは、「[日記マスタフォルダ]/keep/99.html」です。拡張子は"html"ですが、中身はプレーンテキストで書かれたデータベースです。ユーザーURI置換と文法は同一なので、必要であればシステムURI置換から内容をコピーして、ユーザーURI置換に貼り付けることもできます。
システムマクロとユーザーマクロで同じマクロ名で登録したときは、ユーザーマクロの内容が優先されます。
「WWW更新」で使用するときは、ボタン[URI]を押すことで、URI置換データベースを編集することができます。
URI置換データベース文法
# ◇URI置換データベース
# 頭に"#"がある行は、注釈となる。
# key	name	URL

gorry	GORRY	http://GORRY.hauN.org/
GORRY	GORRY	http://GORRY.hauN.org/
ユーザーURI置換の文法は、システムURI置換のそれと同じです。ですので、システムURI置換から実際に使われているURI置換を引用して、解説を行います。
頭が"#"で始まっている行は、読み飛ばされます。従って、最初の3行は無視されます。5行目からが、データ本体です。データ本体は、1データにつき3つの項目をスペース、またはタブで区切って記述します。
  • 最初の項目は、「キー」です。データベースを検索するときに使われます。
    ほとんどの文字を使用することができますが、文法上「スペース・タブ文字」「@」「/」「>」を含むことができません。
    またアルファベットの大文字・小文字は別の文字として識別されます。"gorry"と"GORRY"は、別のキーとなります。
  • 2番めの項目は、「名前」です。リンク先としてタグに囲まれます。
  • 3番めの項目は、「URI」です。ここに書かれたURLが、リンク先となります。
日記マスタで使用する
@s
GORRYへのリンクを張りたいときは、@/GORRY//と書きます。

@s
別の名前でリンクしたいときは、@/GORRY/後藤浩昭/などと書きます。
実際に日記マスタの記述で使用したいときは、右のようにします。
"@/キー//"と記述することで、「名前」と「URI」がAタグになって差し込まれます。末尾の"/"が2つ必要なことに注意してください。たとえば「@/GORRY//」と記述することで、URI置換データベースから"GORRY"というキーを捜し、その結果「<A HREF="http://GORRY.hauN.org/">GORRY</A>」という文が差し込まれます。
2つめは、名前を差し替える例です。"@/キー/名前/"と記述することで、データベースに登録されている名前ではなく、ここで指定した名前を差し込みます。たとえば「@/GORRY/後藤浩昭/」と記述することで、「<A HREF="http://GORRY.hauN.org/">後藤浩昭</A>」という文が差し込まれます。

システムマクロ

マクロとは、「ある文を、対応した短い単語(マクロ名)で呼び出して差し込む」仕組みのことです。特定のタグの組み合わせなどを、簡潔に記述することができます。

「システムマクロ」とは、GNSがシステムとして込みで提供するマクロです。使用者が自分専用にマクロを書きたいときは、「ユーザーマクロ」をご利用ください。

システムマクロデータベース
システムマクロデータベースとなるファイルは、「[GNSプログラムフォルダ]/sysmacro.html」です。拡張子は"html"ですが、中身はプレーンテキストで書かれたデータベースです。ユーザーマクロと文法は同一なので、必要であればシステムマクロから内容をコピーして、ユーザーマクロに貼り付けることもできます。
システムマクロとユーザーマクロで同じマクロ名で登録したときは、ユーザーマクロの内容が優先されます。
日記マスタで使用する
@s
"GORRY"というキーワードでGoogle検索するリンクを作成したいときは、
"@/GOOGLE/GORRY/"と記述します。

@s
「ドラえもん」という単語を含んだ本をAmazonで検索するリンクを作成したいときは、
"@/AS/ドラえもん/"と記述します。

@s
イメージをインラインで貼り付けたいときは、
"@>IMG>../pic/test.png,テスト画像,200,100>"などのように記述します。
実際に日記マスタの記述で使用したいときは、右のようにします。
マクロを呼び出すときは、"@/マクロ名/引数1,引数2,……/"、または"@>マクロ名>引数1,引数2,……>"と記述します。前者が標準の表記法ですが、引数に"/"を含みたいときは後者の表記法を使用します。
システムマクロ一覧
以下は、標準で組み込まれるマクロの一覧です。
@>URL>url,name> 「<A HREF="url">name</A>」となります。
@>IMG>url,width,height,alt> 「<IMG SRC="url" WIDTH="width" HEIGHT="height" ALT="alt">」となります。
@/GOOGLE/word/ Googleに"word"で検索をかけるリンクを作成します。「@/GOOGLE/GORRY/」などのように使います。
@/GOO/word/ gooに"word"で検索をかけるリンクを張ります。「@/GOO/GORRY/」などのように使います。
@/MAPFAN/name,longitude,latitude,zoom/ MAPFANで地名"name"、東経"longitude"、北緯"latitude"、倍率"zoom"の地図を表示します。「@/MAPFAN/皇居, 139.45.22.1, 35.40.55.5, 7/」などのように使います。
@/MAPFAN_EKI/station/ MAPFANで"station"駅の地図を表示します。「@/MAPFAN_EKI/東京駅/」などのように使います。
@/MAPFAN_ADDR/addr MAPFANで住所"addr"の地図を表示します。「@/MAPFAN_ADDR/川崎区/」などのように使います。
@/ISBN/isbn/ ISBN番号"isbn"で本を検索できるネット書店のリストを表示します。
以下は、オンラインストアAmazonを利用した、Amazonアソシエイト用のリンクを作成するマクロの一覧です。使用にあたっては、ユーザーマクロ"AS_USER"にアソシエイトIDを登録してください。登録していない場合は、アソシエイトID"example"でリンクが作成されます。
@/AS_USER// アソシエイトIDに置換されます。
@/AS/key/ 本・CD・ゲームなどの名前や著者名など、フリーキーワード"key"で検索するリンクに置換されます。「@/AS/ドラえもん/」などのように使います。
@/AST/title/
タイトル"title"で検索するリンクに置換されます。「@/AST/ドラえもん/」などのように使います。
Amazonアソシエイトでは、タイトル検索機能がありません。従って、これは実際はフリーキーワード検索となります。ご了承ください。
@/ASN/author/
著者名"author"で検索するリンクに置換されます。「@/ASN/藤子・F・不二雄/」などのように使います。
Amazonアソシエイトでは、著者名検索機能がありません。従って、これは実際はフリーキーワード検索となります。ご了承ください。
@/AS2/key,name/ @/AS//と同じですが、検索語は"key"、リンク文字列は"name"になります。「@/AS2/ドラえもん,"ドラえもん"でAmazon検索/」などのように使います。
@/AS3/key,mode,name/ @/AS//と同じですが、検索語は"key"、表示形式は"mode"、リンク文字列は"name"になります。「@/AS3/ドラえもん,books-jp,"ドラえもん"でAmazon検索/」などのように使います。
@/ASI/asin,name/ ISBN番号"asin"、リンク文字列"name"で検索するリンクに置換されます。「@/AS/4091400019,ドラえもん(1)/」などのように使います。
@/ASIN/asin,name/ ASIN番号"asin"、リンク文字列"name"で検索するリンクに置換されます。「@/AS/4091400019,ドラえもん(1)/」などのように使います。
以下は、オンライン書店bk1を利用した、ブリーダープログラム用のリンクを作成するマクロの一覧です。使用にあたっては、ユーザーマクロ"BK1_USER"に個人提携IDを登録してください。登録していない場合は、個人提携ID"example"でリンクが作成されます。
@/BK1_USER// 個人提携IDに置換されます。
@/BK/key/
本の名前や著者名など、フリーキーワード"key"で検索するリンクに置換されます。「@/BK/ドラえもん/」などのように使います。
現行(2004年7月)のbk1では、フリーキーワード検索の精度が低い(記述の微妙な差を吸収しない)ようです。使用にはご注意ください。
@/BKT/title/
タイトル"title"で検索するリンクに置換されます。「@/BKT/ドラえもん/」などのように使います。
現行(2004年7月)のbk1では、タイトル名検索の精度が低い(記述の微妙な差を吸収しない)ようです。使用にはご注意ください。
@/BKN/author/ 著者名"author"で検索するリンクに置換されます。「@/BKN/藤子・F・不二雄/」などのように使います。
@/BK2/key,name/ @/BK//と同じですが、検索語は"key"、リンク文字列は"name"になります。「@/BK2/ドラえもん,"ドラえもん"でbk1検索/」などのように使います。
@/BKI/isbn,name/ ISBN番号"isbn"、リンク文字列"name"で検索するリンクに置換されます。「@/BKN/4091400019,ドラえもん(1)/」などのように使います。
@/BKIN/bibid,name/ bk1書籍番号"bibid"、リンク文字列"name"で検索するリンクに置換されます。「@/BKIN/01863628,ドラえもん(1)/」などのように使います。
以下は、サムネイル付き画像テーブル作成用のマクロの一覧です。使用にあたっては、ユーザーマクロ"PIC_BASEURL"に画像へのベースURLを登録してください。登録していない場合は、無効なURLでタグが作成されます。
画像フォルダ
▲画像フォルダ
画像ディレクトリは、以下のような構成にする必要があります。なお、ベースURLを"http://www.example.net/pic/"とします。
  • 大きい画像は、"ベースURL/subdir/file1.jpg"などとします。"subdir"・"file1"・"jpg"の部分が可変です。
  • サムネイルとなる画像は、"ベースURL/subdir/s/file1.gif"などとします。"subdir"・"file1"の部分が可変(大きい画像と同じ)で、"s"・"gif"の部分は固定となります。
  • サムネイルは、長辺120px、短辺90pxを標準としています。
大きい画像として"01.jpg"・"02.jpg"・"03.jpg"の3つがある場合、サムネイル画像としてサブディレクトリ"s"に"01.gif"・"02.gif"・"03.gif"が必要になります。
@/PIC_BASEURL// 画像へのベースURLに置換されます。/TD>
@/PIC_RIGHT// 右端に置く画像テーブルを開始します。"@s1"命令の次に置くことを想定しています。
@/PIC_CENTER// 中央に置く画像テーブルを開始します。"@close"命令の次に置くことを想定しています。
@/PIC/subdir,name,ext,alt,width,height/ 画像をひとつ置きます。大きい画像へのURLは「画像ベースURL/subdir/name.ext」に、サムネイル画像へのURLは「画像ベースURL/subdir/s/name.gif」になります。サムネイル画像は、横が"width"・縦が"height"になり、"alt"のコメントが付きます。
@/PIC_120x90/subdir,name,alt/ 画像をひとつ置きます。大きい画像へのURLは「画像ベースURL/subdir/name.jpg」に、サムネイル画像へのURLは「画像ベースURL/subdir/s/name.gif」になります。サムネイル画像は120x90pxで、"alt"のコメントが付きます。
@/PIC_90x120/subdir,name,alt/ 画像をひとつ置きます。大きい画像へのURLは「画像ベースURL/subdir/name.jpg」に、サムネイル画像へのURLは「画像ベースURL/subdir/s/name.gif」になります。サムネイル画像は90x120pxで、"alt"のコメントが付きます。
@/PIC_BR// テーブルを改行します。
@/PIC_END// テーブルを終了します。

ユーザーマクロ

マクロとは、「ある文を、対応した短い単語(マクロ名)で呼び出して差し込む」仕組みのことです。特定のタグの組み合わせなどを、簡潔に記述することができます。

「ユーザーマクロ」とは、ユーザーが自由に作成できるマクロです。すでに組み込まれているマクロの一覧は、「システムマクロ」をご覧ください。

ユーザーマクロデータベース
ユーザーマクロデータベースとなるファイルは、「[日記マスタフォルダ]/keep/97.html」です。拡張子は"html"ですが、中身はプレーンテキストで書かれたデータベースです。システムマクロと文法は同一なので、必要であればシステムマクロから内容をコピーして、ユーザーマクロに貼り付けることもできます。
「WWW環境」で使用するときは、[Macro]ボタンを押すことで、ユーザーマクロファイルを編集することができます。
システムマクロとユーザーマクロで同じマクロ名で登録したときは、ユーザーマクロの内容が優先されます。
ユーザーマクロは、データベースファイルだけでなく、日記マスタ内でも登録することができます。日記マスタ内でのマクロ登録には、"@macro"命令を使用します。
この場合、いくつかの注意が必要です。
  • 日記マスタ内のユーザーマクロ登録は、システム・ユーザーマクロデータベースによる登録より優先(上書き)されます。
  • ユーザーマクロが正しく適用されるのは、その日の記述内で、かつ"@macro"行の後のみです。
  • その日の処理を終了しても、マクロは消去されません。システムおよびユーザーマクロデータベースと同じマクロ名で上書きした場合でも、上書きされる前の内容には戻りません。このため、上書きしてしまうと、その日以外のページ作成に上書き内容が反映されてしまうことがあります。
ユーザーマクロ文法
# ◇ユーザーマクロデータベース
# 頭に"#"がある行は、注釈となる。
# "マクロ名" "マクロ内容"で記述する。

# Amazonアソシエイト
AS_USER example
AS <A HREF="http://www.amazon.co.jp/exec/obidos/external-search?tag=@/AS_USER//&keyword=@1e&mode=blended">@1a</A>
AS2 <A HREF="http://www.amazon.co.jp/exec/obidos/external-search?tag=@/AS_USER//&keyword=@1e&mode=blended">@2a</A>
AS3 <A HREF="http://www.amazon.co.jp/exec/obidos/external-search?tag=@/AS_USER//&keyword=@1e&mode=@2a">@3a</A>
ASIN <A HREF="http://www.amazon.co.jp/exec/obidos/ASIN/@1a/@/AS_USER///ref=nosim">@2a</A>
ユーザーマクロの文法は、システムマクロのそれと同じです。ですので、システムマクロから実際に使われているマクロを引用して、解説を行います。
頭が"#"で始まっている行は、読み飛ばされます。従って、最初の3行は無視されます。6行目からが、データ本体です。データ本体は、1データにつき2つの項目をスペース、またはタブで区切って記述します。
  • 最初の項目は、「マクロ名」です。データベースを検索するときに使われます。
    ほとんどの文字を使用することができますが、文法上「スペース・タブ文字」「@」「/」「<」を含むことができません。
    またアルファベットの大文字・小文字は別の文字として識別されます。"gorry"と"GORRY"は、別のマクロ名となります。
  • 2番めの項目は、「マクロ内容」です。行末までのすべての文字が、日記ページ内に貼り付けられます。
マクロ内容に、別のマクロを含むことができます。このとき、マクロ内マクロの展開は、日記マスタから日記ページへ展開されるタイミングで行われます。例えばマクロAの中でマクロBを使うとき、マクロAの登録よりマクロBの登録が後になっても構いません。
マクロ引数
「マクロ内容」の中に、引数を挿入することができます。引数は、"@"に続いて引数番号、最後に修飾文字を付けた単語となります。例えば「1番目の引数をそのまま貼り付ける」ときは、「@1a」と記述します。
以下は、修飾文字の一覧です。
a 引数をそのまま貼り付けます。
b 引数から"-"を除いたものを貼り付けます。ISBNや電話番号を貼り付けるときに便利です。
c 引数をEUC-JP文字コードに変換し、URLエンコードしたものを貼り付けます。
d 引数をShift_JIS文字コードに変換し、URLエンコードしたものを貼り付けます。
e 引数をUTF-8文字コードに変換し、URLエンコードしたものを貼り付けます。
日記マスタで使用する
実際に日記マスタの記述で使用したいときの記述方法は、システムマクロと同じです。
マクロを呼び出すときは、"@/マクロ名/引数1,引数2,……/"、または"@>マクロ名>引数1,引数2,……>"と記述します。前者が標準の表記法ですが、引数に"/"を含みたいときは後者の表記法を使用します。