以下は自分のウェブページを構築してきたときのメモである。
21 Jul 2000
私はウェブページの原稿をHP200LXでよく書き、
チャンドラ2にセーブしてからwwwサーバにftpしている。 このとき問題がある。
200LXはDOSマシンなので、文書を読み書きするときの日本語の文字コードはSJISである。 一方インターネットで標準で使われる日本語の文字コードはJISである。 チャンドラ2にはFreeBSDがインストールされていて、 FreeBSDを含むPC-Unixは多種の文字コードを扱えるアプリがいろいろ使えるので、 これで文字コードの変換をすることになった。
ページの数が少なかったときは、muleでページの原稿を書きながら 文字コードの変換をしていた。 しかしこれではあまりに効率が悪いので、 文字コード変換ソフトの'nkf'を使い始めた。 -cや-dオプション(何故かマニュアルには載っていない)で改行コードの変換が 細かく指定できるのがありがたい。 しかし、これだけでは、たくさんのhtmlファイルを変換するのに、 何度もnkfコマンドをキー入力せねばならない。 そこで、怠け者の私も流石にシェルスクリプトを勉強し出し、 齢34にして初めてシェルスクリプトを書いて、実用に使い始めた。
記念すべきそのスクリプトは以下の通り。
#!/usr/local/bin/tcsh
foreach html (*.html)
nkf -sc $html > sjis/$html
end
このスクリプトはcshでは動かなかったのでtcshを指定している。
htmlファイルを置いてあるディレクトリにこのスクリプトを置いて動かす。
htmlファイルはnkfでSJISに文字コードを変換され、子ディレクトリ'sjis'に出力される。
それだけ。
htmlの拡張子はLXにファイルを落とすとき丸められて.htmになるけれど、
そのまま落とすのは粗野な方法だから、
落とす前にシェルスクリプトで拡張子を変更するのが今後の課題である。
→深夜、マニュアルを見て、以下のように変更できるようにした。嬉しい。
#!/usr/local/bin/tcsh
foreach i (*.html)
nkf -sc $i > sjis/${i:r}.htm
end
逆に、SJISで書かれた拡張子htmのファイルを
拡張子htmlのJISファイルに変換するためのスクリプトは、
#!/usr/local/bin/tcsh
foreach i (sjis/*.htm)
nkf -jd $i > ${i:r}.html
end
mv sjis/*.html ./
24 Jul 2000
私は普段vi系のエディタを愛用している。
ちょっと前まではelvisを使っていたのだが、
SJISコードで文章を書くと、
そのまま200LXに落としたとき、
アプリによってはきちんと改行されない場合があって困ったので、
最近はjvimを主に使用している。
このjvimは.bakの拡張子をつけてバックアップファイルをつくってくれることが分かったので、
このことを利用して、バックアップのあるファイルだけを表示するような
以下のシェルスクリプトを書き、
ウェブページのアップロードに利用しようと考えた。
#!/usr/local/bin/tcsh
echo -n mput" "
foreach i ( *.bak)
echo -n ${i:r}" "
end
echo ""
現在はまだktermでこのスクリプトを動かし、
表示されたファイル名をマウスでコピーして
ftpのコマンドラインにペーストしているが、
将来はもちろん、マウスでコピー&ペーストの手間を省く予定(勉強しなきゃ)。
24 Oct 2000
先週やっと今頃になって、
BSDマガジン付録のCDROMを利用して
AMiTY CN Model 2とチャンドラ2のFreeBSDを3.5.1に更新。
Netscapeをパッケージから、またはPortsを利用してインストールするときは、
まずcompat22ディストリビューションをインストールして、
一度再起動せねばならないことを覚える
(そうしないとパッケージ/Portsが依存するXFree86-aoutlibsがインストールできず、
ネスケのインストールもできなくなる)。