CI Commandfiles to generate HTML index
These commandfiles are developed by Donna Garverick.
The commandfile MKINDX:
anyparm
path=/APACHE/PUB/html/mpe/cicat
setvar _mi_path "!path"
if _mi_path = "?"
echo
echo
word(hpfile,'.') [path]
echo
echo This script is
designed to produce an index.html in
echo the given
directory. Typically, this directory should
echo contain other
.html files that have no central indexing
echo method.
Specifically, the perl script 'cicat2html'
echo produces a
collection of .html files based on the contents
echo of
CICat.Pub.Sys. While it's a wonderful thing, it lacks
echo the creation of
index.html. This script remedies that.
deletevar _mi@
return
endif
if pos('@',_mi_path) = 0
if rht(_mi_path,1)
<> '/'
setvar _mi_path2 _mi_path+'/@'
else
setvar _mi_path2 _mi_path+'@'
endif
endif
if
finfo("!_mi_path/index.html","exists")
purge
!_mi_path/index.html
endif
purge mitemp,temp >$null
listfile !_mi_path2,6 > mitemp
setvar cjcw 0
grep "-i 'Non-existent'" <
mitemp > $null
#--- cjcw = 0 means the above
string was found
if cjcw = 0
echo echo ERROR:
ListFile of !_mi_path appears to have failed
print mitemp
return
endif
#--- because this script uses
anyparm, call a 2nd script to do
#--- the real work
mkindx2 < mitemp
if
finfo("!_mi_path/index.html","exists")
chmod "644
!_mi_path/index.html"
purge mitemp,temp
> $null
deletevar _mi_@
else
echo
echo ERROR:
!_mi_path/index.html was not created
endif
The commandfile MKINDX2 called by
MKINDX:
#--- build the index.html
file as
bytestream
build
!_mi_path/index.html;rec=-1,,b,ascii;disc=15000000
file
x=!_mi_path/index.html,old;acc=append
#--- the brackets for html tags
cause all sorts of headaches...
#--- so put them into ci
variables (la = left angle and ra=right angle)
setvar _mi_la '!<'
setvar _mi_ra '!>'
#--- start building the index page
#--- notice how _mi_la is
quoted...the ending quote avoids having to insert
# a space (cool)
echo !"_mi_la"html!_mi_ra
>>*x
echo !"_mi_la"head!_mi_ra
>>*x
echo !"_mi_la"title!_mi_ra
>>*x
echo Index of all Commands and
Variables >>*x
echo !"_mi_la"/title!_mi_ra
>>*x
echo !"_mi_la"/head!_mi_ra
>>*x
echo !"_mi_la"body!_mi_ra
>>*x
echo !"_mi_la"a
name="_top_"!_mi_ra!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"hr!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-a"!_mi_ra a!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-b"!_mi_ra b!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-c"!_mi_ra c!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-d"!_mi_ra d!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-e"!_mi_ra e!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-f"!_mi_ra f!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-g"!_mi_ra g!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-h"!_mi_ra h!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-i"!_mi_ra i!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-j"!_mi_ra j!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-k"!_mi_ra k!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-l"!_mi_ra l!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-m"!_mi_ra m!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-n"!_mi_ra n!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-o"!_mi_ra o!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-p"!_mi_ra p!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-q"!_mi_ra q!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-r"!_mi_ra r!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-s"!_mi_ra s!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-t"!_mi_ra t!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-u"!_mi_ra u!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-v"!_mi_ra v!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-w"!_mi_ra w!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-x"!_mi_ra x!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-y"!_mi_ra y!"_mi_la"/a!_mi_ra >>*x
echo !"_mi_la"a
href="#thumb-z"!_mi_ra z!"_mi_la"/a!_mi_ra >>*x
echo >>*x
echo !"_mi_la"hr!_mi_ra >>*x
echo !"_mi_la"h1!_mi_ra >>*x
echo Index of all Commands and
Variables >>*x
echo !"_mi_la"/h1!_mi_ra
>>*x
setvar _mi_alphabet
'abcdefghijklmnopqrstuvwxyz'
setvar _mi_1st ''
setvar _mi_i 0
setvar _mi_eof1
finfo(HPSTDIN,"eof")
while setvar(_mi_eof1,_mi_eof1-1)
>= 0
input _mi_rec
#--- extract 'filename.html' from
the end of the record
setvar _mi_file
word(_mi_rec,'/',wordcnt(_mi_rec,'/'))
#--- 1st is really 1st letter....
while _mi_1st <
lft(_mi_file,1)
setvar _mi_i _mi_i + 1
setvar _mi_1st str(_mi_alphabet,_mi_i,1)
#--- echo to stdlist just so we
know the script is running
echo !_mi_1st
#--- a little control break logic
if
_mi_1st > 'a'
echo !"_mi_la"dd!_mi_ra !"_mi_la"a href="#_top_"!_mi_ra back to the
top!"_ mi_la"/a!_mi_ra >>*x
echo !"_mi_la"/dl!_mi_ra >>*x
endif
echo !"_mi_la"a name="thumb-!_mi_1st"!_mi_ra!_mi_la/a!_mi_ra >>*x
echo !"_mi_la"h2!_mi_ra >>*x
echo !"_mi_la"a name="thumb-!_mi_1st"!_mi_ra !_mi_1st !_mi_la/a!_mi_ra
>>*x
echo !_mi_la/h2!_mi_ra >>*x echo !"_mi_la"dl!_mi_ra >>*x
endwhile
#--- (w/o the brackets...) dt a
href="filename.html" filename /a
echo
!"_mi_la"dt!_mi_ra !"_mi_la"a
href="!_mi_file"!_mi_ra![word(_mi_file,'.') ]!_mi_la/a!_mi_ra >>*x
endwhile
#--- a little wrap up
echo !"_mi_la"/dl!_mi_ra
>>*x
echo !"_mi_la"/body!_mi_ra
>>*x
echo !"_mi_la"/html!_mi_ra
>>*x