| Linux ATA RAID HOWTO | ||
|---|---|---|
| Prev | ||
というわけで、どうやってこの HOWTO ができたか知りたいでしょ? 皆さんはこの文書の SGML 版をダウンロードして、 中身をいくつか修正したのであれば、 どうやって HOWTO を作るんですか? 知りたいですね。
筆者の場合は、最初に nsgmls -s ataraid.sgml とタイプして、 自分の SGML にエラーがないことを確認しました。 それから、makehowto というスクリプトを作って、 ./makehowto ataraid.sgml というコマンドを実行しました。 以下が、makehowto スクリプトです。
#!/bin/bash
#
# makehowto by Murty Rompalli
# (c) All Rights Reserved
# 非営利の使用については自由です。その他の目的で使用する場合は、すべて
# 作者の許可が必要です。詳細は murty@solar.m u r t y.net 宛てに連絡して下さい。
#
function maketut() {
echo;echo Creating Tutorial Files ...
jade \
-t sgml \
-d /usr/lib/sgml/stylesheets/nwalsh-modular/html/ldp.dsl\#html \
$1.sgml
}
function makehtml {
echo;echo Creating html file: $1.html ...
jade \
-t sgml \
-d /usr/lib/sgml/stylesheets/nwalsh-modular/html/docbook.dsl \
-V nochunks \
$1.sgml > $1.html
}
function maketxt {
if [ -f $1.html ]
then
echo;echo Creating text file: $1.txt ...
lynx -dump $1.html > $1.txt
else
echo;echo $1.html not found, creating ...
makehtml $1
maketxt $1
fi
}
function makepdf {
[ -f $1.ps ] && gzip $1.ps
if [ -f $1.ps.gz ]
then
echo;echo Creating pdf file: $1.pdf ...
gzip -dc $1.ps.gz |
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$1.pdf -
else
echo;echo $1.ps.gz not found creating ...
makeps $1
makepdf $1
fi
}
function maketex {
echo;echo Creating TeX file $1.tex ...
jade \
-t tex \
-d /usr/lib/sgml/stylesheets/cygnus-both.dsl\#print \
$1.sgml
gzip $1.tex
echo $1.tex gzipped to $1.tex.gz
}
function makedvi {
echo;echo Creating DVI file $1.dvi ...
db2dvi $1.sgml >/dev/null 2>&1
echo See $1.log for errors
gzip $1.dvi
echo $1.dvi gzipped to $1.dvi.gz
}
function makeps {
echo;echo Creating PS file $1.ps ...
db2ps $1.sgml >/dev/null 2>&1
echo See $1.log for errors
gzip $1.ps
echo $1.ps gzipped to $1.ps.gz
}
#### メインプログラムの開始
echo "
makehowto utility for generating HOWTO from SGML file.
(c) Murty Rompalli
"
[ x$1 = x ] &&
echo "Error. Usage: $0 abc.sgml '{tut|html|pdf|tex|dvi|ps|all}'
Option 'all' is default if sgml file is the only option supplied.
Options:
-------
tut Make complete tutorial, i.e., generate necessary html files
html Make a printable single HTML file
pdf Make a PDF file
tex Make a TeX source file, gzipped
dvi Make a DVI file, gzipped
ps Make a PostScript file, gzipped
all Generate all possible formats.
" && exit
file="`echo $1|sed 's/\.sgml$//'`"
[ x$file = x ] &&
echo Error. Usage: $0 abc.sgml '{tut|html|tex|dvi|ps|all}' && exit
[ -f $file.sgml ] || {
echo Error. $file.sgml does not exist
exit
}
[ -r $file.sgml ] || {
echo Error. $file.sgml not readable
exit
}
if [ x$2 = x ]
then
action=all
else
action=$2
fi
case $action in
tut|tutorial) maketut $file
;;
html|htm) makehtml $file
;;
tex|latex) maketex $file
;;
dvi) makedvi $file
;;
ps) makeps $file
;;
text|txt) maketxt $file
;;
pdf) makepdf $file
;;
all) maketut $file
makehtml $file
maketex $file
makedvi $file
makeps $file
maketxt $file
makepdf $file
;;
*) echo error
;;
esac
\rm -f $file.aux
\rm -f $file.tex
\rm -f $file.dvi
echo;echo makehowto: Finished
echo You can review $file.log and delete it.
echo Thank you for using makehowto.
echo |
PDF 版を作りたいだけなら、 例えば、./makehowto ataraid.sgml pdf とタイプするだけでもかまいません。 ./makehowto とだけタイプすれば、このスクリプトの使用法に関するヘルプが得られます。 この makehowto スクリプトをダウンロードする場合は、 ここをクリックして下さい。