HTML プリプロセッサー用 H言語 コマンド詳細
コマンド
コマンドは、# で始まります。コマンドは以下の通りです。
| #include | 指定されたファイルを読み込みます。 |
| #define | マクロを定義します。 |
| #defineStyle | スタイルを簡単に定義します。 |
オプション変更コマンド
| #macroSeparator | マクロ引数の区切り文字を変更します。 |
| #macroPrefix | マクロの接頭接尾文字を変更します。 |
| #macroNestMax | マクロのネストの上限を変更します。 |
| #argumentPrefix | 引数置換の接頭接尾文字を変更します。 |
| #tabCount | TAB->SPACE 変換の桁数を変更します。 |
| #fileNameCorrection | ファイル名補正の方法を指示します。 |
ブロックコマンド
|
#defineBlock #endBlock |
マクロ定義ブロック |
|
#text #endtext |
プレーンテキストブロック |
|
#HTML #endHTML |
HTML ブロック |
|
#para #endpara |
複数段落ブロック |
|
#tr #endtr |
テーブルの行定義ブロック |
|
#call #endcall |
ブロックの各行を引数として指定マクロを呼び出します。 |
制御コマンド
|
#if #elseif #else #endif |
条件によってコンパイルするブロックを切り替えます。 |
|
#repeat #endrepeat |
ブロックを指定回数繰り返します。 |
|
#irp #endirp |
引数リストを1つずつ指定マクロに代入してブロックをコンパイルします。 |
|
#irpc #endirpc |
指定文字列を1文字ずつマクロに代入してブロックをコンパイルします。 |
マクロ変更コマンド
| #eval | 式を計算しその値をマクロに登録します。 |
| #set | 文字列をマクロに登録します。 |
| #insert | 引数リストに文字列を挿入します。 |
| #delete | 引数リストから引数を削除します。 |
| #date | 現在の日付および時刻を指定書式でマクロに登録します。 |
| #fileName | ファイル名前の正当性をチェックしマクロに登録します。 |
| #fileDate | ファイルのタイムスタンプを指定書式でマクロに登録します。 |
| #fileSize | ファイルのサイズをマクロに登録します。 |
| #toupper | 文字列をすべて大文字に変換してマクロに登録します。 |
| #tolower | 文字列をすべて小文字に変換してマクロに登録します。 |
| #substr | 文字列中の部分文字列をマクロに登録します。 |
| #exist | ファイルが存在するか調べ結果をマクロに登録します。 |
これらのコマンドはソースファイル中のどこにでも置くことができます。
マクロ引数の区切り文字を変更
#macroSeparator 半角1文字
マクロの引数を区切る文字を変更します。指定できるのは半角1文字だけです。
デフォルトは , です。
マクロの接頭接尾文字を変更
#macroPrefix 半角1文字
マクロの前後を括る文字を変更します。指定できるのは文字コード 0x40 未満の半角1文字です。指定できる文字を以下に示します。
!"#$%&'()*+,-./:;<=>?
デフォルトは $ です。
マクロのネストの上限を変更
#macroNestMax 数値
マクロのネストの上限を変更します。
デフォルトは10です。
引数置換の接頭接尾文字を変更
#argumentPrefix 半角1文字
置換文字列名の前後を括る文字を変更します。指定できるのは文字コード 0x40 未満の半角1文字です。指定できる文字を以下に示します。
!"#$%&'()*+,-./:;<=>?
デフォルトは % です。
TAB->SPACE 変換の桁数を変更
#tabCount タブ桁数
TAB文字をスペースに変換する場合の桁数を指定します。この数字にマイナスの値を指定するとTAB文字は変換されずそのまま出力されます。
デフォルトは -1 です。
ファイル名補正の方法を指示します。
#fileNameCorrection NON | OUTPUT | FILE
$a, $img, $fileName マクロ および #fileName コマンドを使用したときのファイル名の補正方法を指示します。デフォルトは NON です。
NON を指定すると、ファイル名補正をしません。
OUTPUT を指定すると、出力される .HTML ファイルに記述されるファイル名を既存のものにあわせます。この機能を利用すれば、ファイル名の大文字小文字を気にする必要がなくなります。
FILE を指定すると、ファイルおよびフォルダー名を、.HTS ファイルに記述されているファイルにリネームします。このモードを日常的にお使いになることはお勧めできません。ファイルコピー時にファイル名が変換されてしまったようなときに使ってください。
マクロ定義ブロック
#defineBlock マクロ名 H言語 #endBlock
ブロックマクロを定義します。
定義したマクロ名は、本文中にマクロ名を$で括って記述することにより変換されます。マクロ内呼び出し内や引数内ではマクロを記述することができません。
プレーンテキストブロック
#text [PRE タグの属性] #endtext
このブロック内の文字列は、<pre></pre>で括られます。また、<は<に、>は>、&は&、"は"に変換されます。
HTML ブロック
#HTML #endHTML
このブロック内の文字列は、TAB->SPACE変換, 行結合を除いて一切の変換を行わずに出力されます。
複数段落ブロック
#para 段落に付加するタグ #endpara
複数行にわたる段落を処理します。
各行には、ブロック開始時に指定したタグが付加されます。また、空行は読み飛ばされます。
例: #para <p class=nb11i> サンプル1行目 サンプル3行目 #endpara ↓ <p class=nb11i> サンプル1行目 </p> <p class=nb11i> サンプル2行目 </p>
テーブルの行定義
#tr <tr>タグの属性, 1列目の<td>タグの属性, 2列目の<td>タグの属性, … 各セルのタグ, 1列目の内容, 2列目の内容, … 各セルのタグ, 1列目の内容, 2列目の内容, … : #endtr
テーブルを簡単に定義します。
まず, #tr に属性を指定します。この属性が各行のセルのタグに付加されます。
各行は、セルのタグの中身を記述し、その後にセルの内容を記述します。
例:
<table width="100%" border=1 cellpadding=4 summary="t">
#tr , class=nt, class=n, class=n, class=n, class=n, class=n
th abbr="contents", 枚数 , 1000, 2000, 3000, 4000, 5000
td 用紙代 , \1000, \2000, \3000, \4000, \5000
td 第1地帯送料 , \770, \930, \1010, \1170, \1250
td 代引き手数料 , \250, \250, \250, \250, \250
td ゆうパック箱代, \100, \140, \140, \200, \200
td 為替振出し料金, \100, \100, \100, \100, \100
td 計 , \2220, \3420, \4500, \5720, \6800
#endtr
</table>
条件コンパイル
#if "文字列" 演算子 "文字列" 評価の結果が真の時にコンパイルされるブロック #elseif "文字列" 演算子 "文字列" 評価の結果が真の時にコンパイルされるブロック #else 評価の結果が真の時にコンパイルされるブロック #endif
文字列は "" で括らなければなりません。
指定できる演算子は、== != < <= >= > の6種類です。
比較は文字列として行いますので、"123" と "56" は、"56" の方が大きくなります。
各行には、ブロック開始時に指定したタグが付加されます。また、空行は読み飛ばされます。
繰り返し
#repeat 繰り返し回数 #endrepeat
ブロックをして回数コンパイルします。
引数指定繰り返し
#irp 引数を代入する引数またはマクロ名, 引数, 引数, … #endirp
第2引数以降で指定された引数を左から順に1つずつ第1引数で指定した番号の引数またはマクロに登録してブロックをコンパイルします。
引数が空文字列の場合はスキップします。
例: #irp 0, a.gif, b.gif, c.jpg <$img %0%$> #endirp ↓ <img a.gif width=128 height=96 alt="a.gif"> <img b.gif width=144 height=32 alt="b.gif"> <img c.jpg width=480 height=40 alt="c.jpg">
文字列繰り返し
#irpc 引数を代入する引数またはマクロ名, 文字列 #endirpc
第2引数で指定された文字列を左から1文字ずつ第1引数で指定した番号の引数またはマクロに登録してブロックをコンパイルします。
例: #irpc 0, abc <$img %0%.gif$> #endirp ↓ <img a.gif width=128 height=96 alt="a.gif"> <img b.gif width=144 height=32 alt="b.gif"> <img c.gif width=480 height=40 alt="c.gif">
マクロ呼び出し
#call 呼び出すマクロ名 第1引数 第2引数 : #endcall
ブロック内の各行を引数にしてマクロを呼び出します。
整数式を計算
#eval 引数番号またはマクロ名 = 式 [,書式]
指定された式を計算した結果を指定された書式で指定マクロに登録します。
省略時の書式は %i です。扱うとこができるのは整数のみです。
#set 引数番号またはマクロ名 = 文字列
マクロ登録
#insert 引数番号 [= 文字列]
引数挿入
指定された番号以降の引数を1つずつずらし、指定された番号の
位置に指定された文字列を設定します。
#delete 引数番号 [,削除する数]
引数削除
指定された番号から指定された数分の引数を削除し以降の引数を詰めます。
現在日付
#date 引数番号またはマクロ名[ = 書式]
現在の日付および時刻を指定された書式で指定されたマクロに登録します。
書式文字列は、C言語の strftime() と同じです。
ファイル名
#fileName 引数番号またはマクロ名 = ファイル名
指定されたファイル名の正当性をチェックしてマクロに登録します。
ファイル名は、ローカルファイルを URL形式 (\ ではなく / で区切る)で記述してください。
##fileNameCorrection に OUTPUT を指定することによって正確な名前を取得することができます。
ファイル日付
#fileDate 引数番号またはマクロ名 = [ファイル名], [書式]
指定されたファイルのタイムスタンプを指定された書式でマクロに登録します。
ファイル名を省略したときには、コマンドラインで指定したソースファイルの日付を取得します。
書式文字列は、C言語の strftime() と同じです。
#fileSize 引数番号またはマクロ名 = ファイル名
ファイルサイズ
指定されたファイルのファイルサイズを表す文字列を指定されたマクロに登録します。
#exist 引数番号またはマクロ名 = ファイル名
ファイル存在の確認
指定されたファイルが存在するときに、"TRUE" 存在しないときに "FALSE" を指定マクロに設定します。
#toupper 引数番号またはマクロ名 = 文字列
大文字に変換
#tolower 引数番号またはマクロ名 = 文字列
小文字に変換
#substr 引数番号またはマクロ名 = 文字列, 先頭位置(0〜), 文字数
部分文字列の取得
|
間違い、ウソ、わかりにくい所など、お気づきの点がございましたら、kiya@asahi.email.ne.jp までE-Mailをいただければと思います。 |
|