NetBSD/gnu/dist/texinfo/util/install-info-html

158 lines
2.4 KiB
Plaintext

#!@BASH@
# Id: install-info-html,v 1.1.1.1 2003/12/06 01:35:48 karl Exp
name=install-info-html
version=1.0
all=
index_dir=.
#
# debugging
#
debug_echo=:
#
# print usage
#
function help ()
{
cat << EOF
$name $version
Install HTML info document.
Usage: $name [OPTION]... [DOCUMENT-DIR]...
Options:
-a,--all assume all subdirectories of index to be DOCUMENT-DIRs
-d,--dir=DIR set index directory to DIR (default=.)
-D,--debug print debugging info
-h,--help this help text
-v,--version show version
EOF
}
function cleanup ()
{
$debug_echo "cleaning ($?)..."
}
trap cleanup 0 9 15
#
# Find command line options and switches
#
# "x:" x takes argument
#
options="adhvW:"
#
# ugh, "\-" is a hack to support long options
# must be in double quotes for bash-2.0
while getopts "\-:$options" O
do
$debug_echo "O: \`$O'"
$debug_echo "arg: \`$OPTARG'"
case $O in
a)
all=yes
;;
D)
[ "$debug_echo" = "echo" ] && set -x
debug_echo=echo
;;
h)
help;
exit 0
;;
v)
echo $name $version
exit 0
;;
d)
index_dir=$OPTARG
;;
# a long option!
-)
case "$OPTARG" in
a*|-a*)
all=yes
;;
de*|-de*)
[ "$debug_echo" = "echo" ] && set -x
debug_echo=echo
;;
h*|-h*)
help;
exit 0
;;
di*|-di*)
index_dir="`expr \"$OPTARG\" ':' '[^=]*=\(.*\)'`"
;;
version|-version)
echo $name $version
exit 0
;;
*|-*)
echo "$0: invalid option -- \"$OPTARG\""
help;
exit -1
;;
esac
esac
done
shift `expr $OPTIND - 1`
#
# Input file name
#
if [ -z "$all" ] && [ -z "$1" ]; then
help
echo "$name: No HTML documents given"
exit 2
fi
if [ -n "$all" ] && [ -n "$1" ]; then
echo "$name: --all specified, ignoring DIRECTORY-DIRs"
fi
if [ -n "$all" ]; then
document_dirs=`/bin/ls -d1 $index_dir`
else
document_dirs=$*
fi
index_file=$index_dir/index.html
rm -f $index_file
echo -n "$name: Writing index: $index_file..."
# head
cat >> $index_file <<EOF
<html>
<head><title>Info documentation index</title></head>
<body>
<h1>Info documentation index</h1>
This is the directory file \`index.html' a.k.a. \`DIR', which contains the
topmost node of the HTML Info hierarchy.
<p>
This is all very much Work in Progress (WiP).
<p>
<ul>
EOF
#list
for i in $document_dirs; do
echo "<li> <a href=\"$i/$i.html\">$i</a></li>"
done >> $index_file
# foot
cat >> $index_file <<EOF
</ul>
</body>
</html>
EOF
echo