(htmlify-directory <input-directory> <output-directory> :non-onto-files ([(<file-name> [<theory-name>]*)]*) :theories-to-include ([<theory-name>]*) :do-inferiors-p [t | nil] :one-document-per-entry [t | nil] :skip-if-done [t | nil] )
HTMLIFY-DIRECTORY processes a directory tree of files, some of which are Ontolingua source files, and produces a directory tree of HTML documents. Any files that have type "lisp" in the input-directory are assumed to be readable by Lisp and will be loaded by Ontolingua. Any other files are candidate non-onto-files. These non-onto files will also be indexed, against the theories specified in :NON-ONTO-FILES.
<INPUT-DIRECTORY> is a pathname specification of the directory from which to read the source files. It should be a pathname, NOT A DIRECTORY SPEC. For example, "/users/fred/ontos/" is a valid spec for the pathname whose directory component is '(:absolute "users" "fred" "ontos"). Notice that the string has a trailing '/' character. In Unix this is important to include (on Macs the character is ':').
<OUTPUT-DIRECTORY> is a pathname specification for the directory into which the HTML documents will be written. Ontolingua will arrange the HTML links so that all URLs are relative to this directory. That means that the resulting directory of HTML documents can be moved and will still work.
:NON-ONTO-FILES is a list of lists of the form
(<file-name> <theory-name> <theory-name> ...)
Each of these forms specifies a non-ontolingua source file to process and a set of theories against which to index it. For example,
("my-intro.text" :my-theory)
says to index my-intro.text with respect to the theory :my-theory. Any works in my-intro.text that are defined in :my-theory or any of its included theories will be linked by hypertext links to their definitions. If a file is not listed on :non-onto-files, then it will be indexed against all of the loaded ontolingua theories.
<FILE-NAME> is a string of the form "name.type" and each <theory-name> is a symbol naming a theory. Theories can be specified with keywords, and this is the safest way to specify theories that haven't yet been loaded.
:THEORIES-TO-INCLUDE is a list of theory-names (e.g. keywords) that allows the user to select just some of the loaded theories for processing. The default is NIL, which means process all loaded theories.
:ONE-DOCUMENT-PER-ENTRY when true (the default value of oli::*one-document-per-entry*, the default, one .html document is created for every relation, frame, function etc. in the theories in the directory. If this is set to NIL then only one big .html file is created for the whole theory. In general having this set to true is better because you only have to deal with files of ~4k in your html browser and low network overhead. However, the number of files produced can be very large so it might be simpler to administer only one file. In this case the file is named by the name of the theory.
:SHOW-INHERITED-P when true causes the htmlification to show inherited slots, values and facets.
:DO-INFERIORS is a flag, defaulting to T. When it is true, subdirectories of the input directory are searched for files to process. This allows one to bundle sets of related ontologies and documentation files into subdirectories. If it is false, only the <INPUT-DIRECTORY> is searched.