	This is a prototype system for a linux documentation browser.
Currently it only has the stuff from the FAQ in the database, and I
expect that it will be possible to extend this to include all of the
HOWTO docuements as well.

	I did this mainly because I think it is a good idea, but for a
system like this to really work well, it would be best if some of the
other HOWTO maintainers cooperate a little bit and perhaps modify
their respective documents so that these other files can be
incorporated into the database.  If the other people think that this
is really a good idea, then with a very moderate amount of effort you
can reformat the existing HOWTO documents into something suitable for
this system.  The idea is that the database will be built directly
from the FAQ and HOWTO documents so that you would only have to do
this once.

	The heart of the system is the digest.c program which takes a
database descriptor and uses this to construct a texi source file
which can then be processed with makeinfo to produce an info format
file.  There is a file in this distribution called "dir" which can be
examined with any info viewer (i.e. Emacs M-x info, if you do not have
anything else available) to get a sense of how well it all works.  We
are not strongly tied to info, it is just that this is what I am
familiar with.  The program digest.c builds an image of what the
database should look like and once done it dumps the database to a file.

	The digest.c program expects to find a series of database files
that have entries that look like:

	menupos=1.9.1
	tag=Q9.1
	label= You still haven't answered my question !        
	file=howto/linux-faq.ascii
	starting_line=Question 9.1.
	ending_line=-------------

The menupos tag just tells digest.c where in the info tree this entry
belongs.  Tag and label are used in the menu, tag is what the user
types to enter this menu and label is printed next to the tag in the
menu.  File contains the name of the file containing the information,
and finally starting_line and ending_line contain regular expressions
that are used to locate the relvant text.  It turns out that
linux-faq.ascii was tightly formatted to begin with, and as a result
no rewriting of that file was required.  From this description, it is clear
that each menu item needs some kind of regular expression that we can dependably use throughout the file to pick out the relevant bits of text.

	Finally, the database description itself can be automatically
generated from the source file.  For linux-faq.ascii, there is an awk
script which creates this.  Other HOWTO or FAQ files might have
different formats, so the details could differ, but the idea is that
the same regular expressions that were used above could also be used
to automatically generate the description itself.  Note that it would
be quite possible to write the description by hand, but in doing so,
you risk breaking it every time you update the source document.  If
you use a consistent format for the table of contents and the document
itself, the entire structure of the menu can be generated
automatically.

	In theory it would be possible to combine the generation of
the description and the generation of the texinfo database, but my
thinking is that it would be better to have these as separate
functions.  Once you have generated the description, the same digest.c
program could be used for all of the different databases, while the
specifics of parsing the individual documents could be left to the
program/script that generates the description.
