HTML コンパイラ

コンパイラっていうよりマクロプロセッサだなぁ.


動機

web ページを書いていると

とかいう悩みが生じてきます.

これを解決するには「マクロプロセッサ」かなぁ,というわけでちょこちょこやってみた,というわけ.

プログラム

こちらになります. perl スクリプトです.

必要なプログラムは

jperl
日本語対応の perl です.
kcc
漢字コードコンバータ.nkf だといわゆる「半角かな」の処理がうまくないようなので.

プログラムをダウンロードしたら,path の通っているディレクトリに置いて chmod +x htmlc と実行して実行フラグを立てておきましょう.

また,[t]csh を使っている場合は,rehash しておくとよいでせう.

配布条件うんぬんをとやかく言うような規模のものではないので,まあ,自由に使ってちょうだい.

つかいかた

templete ファイル

まず,置換元の HTML ファイルと同じディレクトリにtemplete というファイルを作ります.書式は

キーワード1     置換文字列1
キーワード2     置換文字列2
キーワード3     置換文字列3
                .
                .
                .
です. また,
#include        インクルードファイルのパス
で,別のファイルを読み込むこともできます. 読み込むファイルも templete ファイルと同じ文法を持ちます.

なお,

key1    replace1
key2    <HR><!--@key1-->
と,前で定義したマクロを使用することもできます.

が,

key1    <HR><!--@key2-->
key2    replace2
と,後で定義したマクロを参照することはできません.あしからず.

置換元 HTML ファイル

置換元の HTML ファイルに

        <!--@keyword1-->
と書いた部分が
        replace1
に置き換わる,ただそれだけです.

コンパイル

置換を実行するには htmlc ソースディレクトリ/htmlファイル … と実行します. 例えば htmlc ~/www/foo.html とすると,置換結果をカレントディレクトリの foo.html ファイルに出力します.

また,htmlc ~/www/*.html と,シェルのワイルドカード展開を使って一括変換することもできます.


Linux のお部屋のもくじ
いまいくんのページのもくじ
2002 年 8 月 21 日更新
imai@jr0bak.homelinux.net