HTM_MAKE.DEF(v1.00) 取り扱い説明書

 みなさん、こんにちは N.YAMA です。

 HTM_MAKE.DEF は、インターネットのホームページ等を作成する際使用するHTML形式の文章を作成する為のVZエディター用のマクロです。

 世の中には、HTMLエディタとか言って、WYSIWIG(What you see is what you get) で、つまり、見た目通りに(HTML のタグを表示させずに)HTML ファイルを GUI で編集できるものが、市販品、シェアウェア、フリーソフト含めてたくさん出まわっています。有名どころでは、インターネットエクプローラ(以下 IE と略します)付属の、FRONT PAGE EXPRESS とか、ネットスケープコミュニケーター(以下ネスケと略します)付属の NETSCAPE COMPOSER なんかがあります。

 なのに、なぜにVZで HTML を書かなければならないのか? それは、HTMLエディタといっても、エディタというのは名ばかりで、文章を編集するためのものではなく、単に GUI を使って見えないところでタグを挿入するものにすぎないのでは? と、私なんぞは思うわけです。

 例えば、そういうソフト上で、キーボードを使って、カーソルを1語右へとか、文末へとか、瞬時に移動できますか? あるいは、検索や置換が出来ますか? タグジャンプは?

 こういう事は、全て、編集専門のエディタであるVZならば、当たり前のように出来ます。(^_^)

 いつも使っていて、使いなれたエディタ=VZで、HTML も編集しましょう!

 というわけで、VZで HTML を書くためのマクロが、HTML_MAKE.DEF です。

 このマクロを使うには、多少なりとも、HTML の知識を必要とします。HTML 関係のタグ辞典のようなものを1冊入手されることをお薦めします。web 上にも優秀なリファレンスがあります。このファイルの後ろのほうに、私が参考にしているサイトなどを載せておきますので、参考にしてください。

【アーカイブの内容】

【組み込み方】

 ごく普通のマクロなので、組み込み方は普通です。(^^;

 HTM_MAKE.DEFは、VZ.DEFあるいはVZIBMJ.DEFと同じディレクトリに、JPG_SIZE.EXEは、パスの通ったディレクトリに置いてください。

 アウトローをお使いでない方は、VZ.DEF あるいは、VZIBMJ.DEFの適当な箇所に
 
50 ^[ "TAG1" &Zs("HTM_MAKE") (r)??{rr-,&z("HTM_MAKE")} >*
50 ^^ "AUTO_Block" &Zs("HTM_MAKE",1) (r)??{rr-,&z("HTM_MAKE",1)} >*
50 ^\ "HTM_MAKE" &Zs("HTM_MAKE",2) (r)??{rr-,&z("HTM_MAKE",2)} >*
 
 アウトローをお使いの方は、VZ.DEF あるいは、VZIBMJ.DEFの適当な箇所に
 
50 ^[ "HTM_MAKE 80" &88
50 ^^ "HTM_MAKE 81" &88
50 ^\ "HTM_MAKE 82" &88
 
 の様に書いて頂ければ、OKです。最初の番号は適当に。

 実際使う場合は、頻繁に使うことになると思うので、使い易いキーアサインを割り当ててやってください。私自身は ^[と@Bと^I に割り当てています。

【最低必要限なカスタマイズ】

 マクロファイルのファイル先頭付近に、カスタマイズ項目が書いてありますので、行末付近の%の上にカーソルを置いてHELP.DEFを起動してください。該当箇所にジャンプしますので、自分の環境に合わせて適宜書き換えてください。

【使い方】

 基本的に、本マクロは挿入モードでうまく動作するようになっています。上書きモードで使うのは止めましょう。(^^;

 TAG1.DEF は、通常起動するとカーソル位置に<>を、シフト起動すると</> を出力するだけのおまけマクロです。本体マクロが対応していないタグを入力する際に使用してください。本体マクロにも同様の機能があるので、省いてしまっても結構です。(^^;

 次の AUTO_Block は、カーソルのある行を行境界でブロックして、本体マクロを起動するという補助マクロになっています。HTM_MAKE.DEF は、すでに書いてある文章を HTML 化するという使い方でも、タグと本文を同時進行で書いていくという使い方でも出来るように作ってありますが、タグを先に書くよりも本文を先に書く場合が多いことと思います。HTM_MAKE.DEF は、基本的にはブロック範囲の前後にタグを挿入するという仕様になっているため、ブロックしてからマクロ起動する手間を省くためにこの補助マクロがあります。ただし、この場合は、行境界のブロックになることに注意してください。

 さて、いよいよ本体マクロです。起動すると以下のようなメニューが出ます。項目数が多く、25行表示環境だとすべて表示されないので注意してください。(^^;

【HTML】
N 新規作成
K 形式
B 改行
Z ブロック内全改行
D タグ削除
S 特殊
P 段落
C 中央揃え
! コメント
H 水平線
I イメージ
^ TEXT回り込み中断
D 定義リスト
A リンクの指定
# 文章内リンク
F フォント
M 見出し
T 表組
D 定義リスト
L リスト
O 属性など
V VIEWER
X IExplore
@ 実体参照
E その他

 以下順番に説明します。↑のメニューの各項目をクリックするか、リンク先として選択すると、該当箇所にジャンプします。

N 新規作成

 新しく、HTML形式のファイルを作成したい場合はこれを選択します。選択するとファイル名入力の小窓が出ますので、ファイル名を入力してください。拡張子は、マクロが自動的に書き込むので、書く必要はありません。

 続いてファイラーが現れます。新規 HTML ファイルを作りたいディレクトリに合わせてから、どのファイルでもいいので、リターンしてください。もし、空っぽのディレクトリに作りたい場合は、ファイラーの一番下の<End of Dir>を、選択してください。これで、とりあえず、指定のディレクトリに指定のファイル名で拡張子.html のファイルが作られます。常に拡張子.htm のファイルを作りたい場合は、マクロの77行目辺りの
 
    &?("%s.html",pw) #m
 
 を

    &?("%s.htm",pw) #m
 
 に書き換えてください。

 続いて、タイトル入力の小窓が出ます。これも適当に入力してやってください。これで、自動的にファイルが作成されて、HTMLの形式を整えてくれます。なお、HTM_MAKE.DEF を、コマンドラインから起動すると自動的にこの項目が選択されます。

K 形式

 これを選択すると、HTMLの形式のみを現在開いているファイルの先頭と最後に出力します。すでにある文章をHTML化する場合に使うとよいでしょう。

B 改行

 これを選択するとカーソル位置にHTMLの改行を表すタグ<BR>を出力します。ブロックモードで起動するとブロックの最後にのみ出力します。この場合、カーソルがブロックの先頭にあっても後ろにあっても、必ず、ブロックの最後に出力するという点に注意してください。

Z ブロック内全改行

これを選択すると、ブロック内のすべての行末に改行タグ<BR>を出力します。

D タグ削除

 ブロックモードで、これを選択するとブロック内のタグを削除します。非ブロックモード起動だと、カーソル行のタグを削除します。注意しないといけないのは、文字境界ブロックの場合でも、カーソル行のタグをすべて削除する点です。また、コメントを含む範囲で、これを選択するとコメントはすべて削除されます。もしも誤って消してしまったときは、#i(オリジナルの VZ.DEF なら、[F09] で、復活させてください。

 本格的に文章全体のタグを削除して、ある程度整形させるには、このマクロよりも種市さん作の HTM2TXT.DEF がおすすめです。FGALDC MES16 の ISH 部屋にあります。本マクロのこの機能は、HTM2TXT.DEF からのパクリです。(^_^;) ありがとうございました。>種市さん

S 特殊

 当マクロで対応していないタグを入力する際にこれを選択してください。前タグの入力を促す窓が出ますので、入力してください。さらに後タグを入力する窓が出ます。前タグと同じでよい場合は、リターンキー空打ちで、前タグと同じものが出力されます。例えば、前タグ入力窓に PRE と入力、後タグはリターン空打ちだと、<PRE></PRE>と出力されます。ブロックモードで起動すると、ブロックの前後にタグを出力します。

前タグ入力窓に、FORM action=mailto:yamato@noasobi.net method=post 後タグ入力窓に FORM なんていうのもありで、
 
 <FORM action=mailto:yamato@noasobi.net method=post></FORM>
 
と、出力します。

P 段落

これを選択すると段落を意味する<P></P>を出力します。非ブロックモードの場合は、単純に出力しますが、ブロックモードの場合は、ブロックの前後に出力します。終わりの</P>は無くてもいい場合もありますが、本マクロでは、必ず出力する仕様です。

C 中央揃え

 <DIV align=center></DIV>を出力します。ブロックモード起動の場合は、ブロックの前後に出力します。従来、センタリングは<CENTER></CENTER>が使われていましたが、これからの HTML の進歩を考えて、<DIV align=center></DIV>を出力するようにしました。もし、<CENTER></CENTER>を、出力させたい場合は、01 番メニュー内の該当箇所を書き換えてください。

! コメント

 HTMLファイル中にコメントを入れる場合に使います。<!-- -->を出力します。ブロック起動の場合は、ブロックの前後にタグが入ります。

H 水平線

 <HR>を出力して、見易いよう改行します。

I イメージ

 これを選択するとファイラーが立ちあがりますので、貼り付けたいファイルを選択してください。この場合、違うドライブのファイルを指定した場合、メッセージを出して終了します。違うドライブのファイルを貼り付けたい場合は、あらかじめコピーしておいてください。ファイラーが出た時点で、[ESC] キーで中断することが出来ます。ブロックモード起動するとサブメニューで ALIGN 属性による位置指定ができます。この場合、注意しなければならないのは、カーソル位置に出力されるという点です。

gif ファイルもしくは jpeg ファイルをファイラーで選択すると、alt 属性を書くよう促す窓が出ますので、画像の代替文字を入力してください。代替文字を必要としない、単なるボタン等の場合はリターンキーを空打ちしてください。その場合はalt=""を出力します。

出力例
<IMG SRC="../jpg/kao.jpg" alt="私の顔(^^;" width="344" height="206">

^ TEXT回り込み中断

<BR CLEAR=ALL>をカーソル位置に出力します。ブロックモード起動だとブロックの終端に出力します。

A リンクの指定

 他のファイルにリンクを張りたい場合にこれを選択してください。

 まず、【URLヘのリンク】という窓が出ます。他のURLヘリンクを張りたい場合は、ここで入力してください。自分のところの違うファイルにリンクを張りたい場合は、リターンキーを空打ちしてください。ファイラーが立ちあがりますので、選択してください。ここでも [ESC] でキャンセルできます。違うドライブは指定出来ません。ブロックモード起動の場合は、ブロック範囲を<A HREF=""></A> で挟みます。たとえば、「目次へ」という文字列をブロックしてindex.htmlヘリンクを張ると  
 <A HREF="index.html">目次へ</A>
 
こうなります。

# 文章内リンク

 これを選択するとキーワード入力窓が出ますので、適当に入力してください。ブロック範囲に名前を付けて他からのリンクの目印にします。

F フォント

 これを選択すると次のようなサブメニューが出ます。

【フォント各種設定】
D 形状        
C カラー
S サイズ

 それぞれ、さらにサブメニューを出しますが、これはやってみればわかると思います。(^_^;)

 この機能も、非ブロックモードでは、タグを出力するのみですが、ブロックモード起動だとブロックの前後をタグで挟むようになっています。

M 見出し

 見出しおよび、その深さを表すを表す<Hn></Hn>を出力します。n はサブメニューで選択してください。これもブロックモード起動だとブロックを挟むように出力します。

T 表組

 これを選択すると、表を作るのに必要なタグをメニュー選択することが出来ます。これもブロックモード起動だとブロックの前後に出力します。

L リスト

 これを選択すると以下のようなサブメニューが出ます。最初にリストの項目を選び、これを書き終えた後、全体をブロックして、マーク付き、番号付きを選ぶといいでしょう。非ブロックモード起動だとタグを出力するのみです。

【リスト】
L リストの項目
U マーク付きリストの作成
O 番号付きリストの作成

D 定義リスト

これを選択すると以下のようなサブメニューが出ます。「定義するもの」、「定義されるもの」を、記入した後、定義リストの作成で、リスト全体を囲ってください。これも、非ブロックモード起動だとタグを出力するのみです。DT、DLの後タグは省略しています。

【定義リスト】
T 定義するもの
D 定義されるもの
L 定義型リストの作成

O 属性など

これを選ぶと以下のようなメニューがでます。

【属性など】
O BODY の属性
L align=left
R align=right
C align=center
T align=top
B align=bottom
V value=
N name=

 O BODY の属性は BODY 要素につけるオプションの色指定です。<BODY>の終端の">"の上にカーソルをおいて起動してください。起動すると BGCOLOR、TEXT、LINK、ALINK、VLINK の順に色指定出来ますが、デフォルトのままでいい場合は、→キーか←キーでスキップできます。[ESC] だとその時点でマクロを終了します。

L〜B はよく使う align=* を出力します。ここの項目はブロックモードで起動しても動作しません。V,Nも、同様です。

V VIEWER

 作成中のHTMLファイルの出来具合を確認するときには、この項目を選択してください。この機能は窓95のDOSで新設された Start コマンドを使用しているので、窓95環境でない方は使えません。m(_Y_)m なお、HTMLファイルがどういうソフトに関連付けされているかで、立ち上がるビューワーは違います。私の場合、ネスケに関連付けされているので、ネスケが立ち上がります。STARTコマンドを使わずに直接NAVIGATARを、読んでもかまいません。各自の環境で、マクロを適宜書き換えてください。

 また、この項目を選択したタイミングで、HTMLファイルのファイル先頭付近に、
 
<!-- last modified at 1998/11/04(wed) 23:01:21 -->

のような最終更新日時を出力します。ただし、HTM_MAKE.DEFで作られたファイルでなければ、出力しません。この判断は、HTMLファイルに
 
<!-- HTM_MAKE.DEF(v*.**) for VZ Editor(v1.6) -->
 
というような行があるかどうかで判断しています。また、テキストが修正されていない場合も、もちろん日付の更新は行いません。

X IExplore

 IEで確認するために、この機能を付けました。HTMLファイルが、IEに関連付けられている方は、マクロを書き換えて、ネスケを呼ぶようにすればいいと思います。(^^;

@ 実体参照

 ブラウザ上で < > & " の4文字を表示させたい場合に使います。ブロックモードで起動するとブロック範囲内の前記4文字をそれぞれ、&lt; &gt; &amp; &quot; に置換します。

E その他

以下のサブメニューが出ます。

【その他】
S STRONG
D DIV
P SPAN
A ADDRESS
B BLOCKQUOTE
Q Q
J JavaScript
C CSS

 S〜Qまでは、表示のタグを出力します。ブロックモード起動だと、ブロックの範囲の前後に出力します。Jを選択すると<SCRIPT type="text/JavaScript"></SCRIPT>を、Cを選択すると<STYLE type="text/css"></STYLE>をそれぞれ出力します。

【著作権等】

 このマクロはフリーソフトウェアとして扱ってください。

著作権は作者 大和徳明(N.YAMA yamato@noasobi.net)が保有します。

 作者は、このマクロを使用して生じた一切の問題について責任を負いません。改造は自由に行ってください。転載・配布は自由です。ただし作者に連絡していただければうれしいです。

 同梱のJPGSIZE.EXEは、IJG(The Independent Jpeg Group)の著作物である、RDJPGCOM.Cを、N.YAMAが、改変(出力形式を変更)し、LSI C-86 Ver 3.30c 試食版にて、コンパイルしたものです。大変有用なフリーソフトを公開してくれたIJG並びに、エル・エス・アイ ジャパン(株)に感謝します。

 なお、私はRDJPGCOM.Cを含むオリジナルのアーカイブ(jpegsr6b.zip)を、
 
ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/
 
で入手しました。

【付録】

 私自身が HTML を書くにあたって、 参考にした web サイト並びに書籍のうちでお薦めのものを書いておきます。

《書籍》

『スタイルシートWebデザイン CSS2完全解説』
すみけんたろう著,技術評論社,258p.,ISBN 4-7741-0622-4,\1980+税

《webサイト》

HTML4.0 仕様書翻訳版(http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html40j/)
HTML の仕様を決める大元、W3C が出している HTML4.O の仕様書の翻訳版。最も信頼のおけるタグリファレンスでもある。 結構な分量がありますが、全体のアーカイブもあるので、それをダウンすると便利。
ZSPC(http://www.zspc.com/index.html)
私が日常的に使うタグリファレンス。HTML3.2およびHTML4.0のリファレンスがそれぞれあり、おまけに、CSS(cascading style-sheet)のリファレンスとJSS(JavaScript style-sheet)のリファレンスまであり、超便利です。(^_^) ただサイト全体のアーカイブが無いのが残念。私は、人力でローカルに再構築して使っています。(^^;
ごく簡単なHTMLの説明(神崎正英氏)http://kanzaki.com/docs/htminfo.html
簡単に web ページを作る方法や、「よいHTML、わるいHTML」など
好ましいHTML文書を書くための方法と考え方(矢野啓介氏)http://www.asahi-net.or.jp/%7Ewq6k-yn/konomac.html
HTML を書くに当たっての心構えというか、のちのちに赤面しなくてもいいように(^^;
Another HTML-lint(http://ring.aist.go.jp/openlab/k16/htmllint/htmllint.html)
いわゆる HTML の文法チェッカー。自分の書いた HTML を送って採点してもらうのもいいですが、Perl のスクリプトをダウンしてローカルで自分の書いた HTML をチェックできるようにすると超便利。その場合は、Perlの動作する環境が必要ですが、"Perl for Win" があるので、WIN環境でも大丈夫です。目指せ、満点!)

【終わりに】

 本マクロで作成するHTMLは、一応HTML4.0 Transitionalを、想定しています。将来的に一般的に使われているブラウザ等のユーザエージェントが、スタイルシート等に完全に対応した場合、HTML4.0 Strict用に、本マクロから不要な機能を削除して、もっとコンパクトなマクロにしたいと考えています。現状HTML4.0 Strict で、書くのは少しためらわれます。見映えを気にしなければそれでもいいんですが。(^^;

 このマクロに対する御意見、御感想バグ報告等ありましたら、Niftyserve FGALDC MES14 または、MES15 までいただけるとうれしいです。

 最後になりましたが、このマクロを作るにあたり、FGALDC MES15 のみなさんに大変お世話になりました。この場を御借りしてお礼申上げます。m(_Y_)m

N.YAMA yamato@noasobi.net
http://www.noasobi.net/